public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { var tsBuffer = TypeScriptTranspiler.GetSerializedTypeScriptCompiler(context); var fnTypeScript = context.ParseSerializedScript(tsBuffer, () => EmbeddedResourceHelper.LoadResource(TypeScriptTranspiler.ResourceName), "[typescript]"); return(fnTypeScript.Call <JsObject>()); }
public void BaristaModuleCanReferenceItself() { using (var rt = BaristaRuntimeFactory.CreateRuntime()) { using (var ctx = rt.CreateContext()) { var converter = m_provider.GetRequiredService <IBaristaConversionStrategy>(); var moduleRecordFactory = m_provider.GetRequiredService <IBaristaModuleRecordFactory>(); var moduleLoader = m_provider.GetRequiredService <IBaristaModuleLoader>(); using (ctx.Scope()) { var specifier = ctx.CreateString(""); var moduleHandle = rt.Engine.JsInitializeModuleRecord(JavaScriptModuleRecord.Invalid, specifier.Handle); try { var mod = new BaristaModuleRecord("foo", specifier.Handle, null, rt.Engine, ctx, moduleRecordFactory, moduleLoader, moduleHandle); mod.ParseModuleSource("import foo from 'foo'; export default 'hello, world!'"); Assert.True(mod.IsReady); } finally { //Without disposing of the moduleHandle, the runtime *will* crash the process. moduleHandle.Dispose(); } } } } Assert.True(true); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { var buffer = SerializedScriptService.GetSerializedScript(ResourceName, context, mapWindowToGlobal: true); var fnScript = context.ParseSerializedScript(buffer, () => EmbeddedResourceHelper.LoadResource(ResourceName), "[uuid]"); return(fnScript.Call <JsObject>()); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { var brewRequest = new BrewRequest(context, m_request); context.Converter.TryFromObject(context, brewRequest, out JsValue requestObj); context.Converter.TryFromObject(context, typeof(BrewResponse), out JsValue responseObj); //context.Converter.TryFromObject(context, m_log, out JsValue logObj); var contextObj = context.CreateObject(); context.Object.DefineProperty(contextObj, "request", new JsPropertyDescriptor() { Configurable = false, Writable = false, Value = requestObj }); context.Object.DefineProperty(contextObj, "response", new JsPropertyDescriptor() { Configurable = false, Writable = false, Value = responseObj }); return(contextObj); }
public void BaristaModuleThrowsIfContextNotSpecified() { using (var rt = BaristaRuntimeFactory.CreateRuntime()) { using (var ctx = rt.CreateContext()) { var converter = m_provider.GetRequiredService <IBaristaConversionStrategy>(); var moduleRecordFactory = m_provider.GetRequiredService <IBaristaModuleRecordFactory>(); var moduleLoader = m_provider.GetRequiredService <IBaristaModuleLoader>(); using (ctx.Scope()) { var specifier = ctx.CreateString(""); var moduleHandle = rt.Engine.JsInitializeModuleRecord(JavaScriptModuleRecord.Invalid, specifier.Handle); try { Assert.Throws <ArgumentNullException>(() => { var mod = new BaristaModuleRecord("", null, null, rt.Engine, null, moduleRecordFactory, moduleLoader, moduleHandle); }); } finally { //Without disposing of the moduleHandle, the runtime *will* crash the process. moduleHandle.Dispose(); } } } } Assert.True(true); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { var buffer = SerializedScriptService.GetSerializedScript(ResourceName, context); var fnScript = context.ParseSerializedScript(buffer, () => EmbeddedResourceHelper.LoadResource(ResourceName), "[react-dom-server]"); var jsReact = fnScript.Call <JsObject>(); return(jsReact); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { var fnFetch = context.CreateFunction(new Func <JsObject, JsValue, JsObject, object>((thisObj, input, init) => { Request request; if (input is JsObject inputObj && inputObj.Type == JsValueType.Object && inputObj.TryGetBean(out JsExternalObject exObj) && exObj.Target is Request inputRequest) { request = new Request(inputRequest); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { var transpiledScript = TypeScriptTranspiler.Default.Transpile(new TranspileOptions() { Script = Script, FileName = m_filename }).GetAwaiter().GetResult(); return(context.CreateString(transpiledScript.OutputText)); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { var foo = new CarlyRae() { Name = "Kilroy" }; context.Converter.TryFromObject(context, foo, out JsValue resultObj); return(resultObj); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { var fnResult = context.CreateFunction(new Func <JsObject, JsValue, JsValue>((thisObj, toReverse) => { if (toReverse == null || String.IsNullOrWhiteSpace(toReverse.ToString())) { return(context.Undefined); } var str = toReverse.ToString(); var charArray = str.ToCharArray(); Array.Reverse(charArray); var reversed = new string(charArray); return(context.CreateString(reversed)); })); return(fnResult); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { return(context.JSON.Parse(context.CreateString(JsonText))); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { return(context.CreateString("The maze isn't meant for you.")); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { return(context.CreateString("You'll not see me.")); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { return(context.CreateString(referencingModule.Name)); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { throw new Exception("Derp!"); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { return(context.CreateNumber(42)); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { return(context.CreateString("Hello, World!")); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { return(context.CreateString(m_resourceManager.GetString(ResourceName, ResourceCulture))); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { var toXml = context.CreateFunction(new Func <JsObject, JsValue, JsValue>((thisObj, json) => { if (json == context.Undefined || json == context.Null || String.IsNullOrWhiteSpace(json.ToString())) { var error = context.CreateError($"A Json string must be specified as the first argument."); context.Engine.JsSetException(error.Handle); return(context.Undefined); } var jsonData = json.ToString(); var xmlDoc = JsonConvert.DeserializeXmlNode(jsonData); using (var stringWriter = new StringWriter()) using (var xmlTextWriter = XmlWriter.Create(stringWriter)) { xmlDoc.WriteTo(xmlTextWriter); xmlTextWriter.Flush(); return(context.CreateString(stringWriter.GetStringBuilder().ToString())); } })); var toJson = context.CreateFunction(new Func <JsObject, JsValue, JsValue, JsValue>((thisObj, xml, options) => { if (xml == context.Undefined || xml == context.Null || String.IsNullOrWhiteSpace(xml.ToString())) { var error = context.CreateError($"An xml string must be specified as the first argument."); context.Engine.JsSetException(error.Handle); return(context.Undefined); } var xmlData = xml.ToString(); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlData); bool toObject = false; bool omitRootObject = false; Newtonsoft.Json.Formatting formatting = Newtonsoft.Json.Formatting.None; if (options is JsObject jsOptions && jsOptions.Type == JsValueType.Object) { if (jsOptions.HasProperty("object") && jsOptions["object"].ToBoolean() == true) { toObject = true; } if (jsOptions.HasProperty("omitRootObject") && jsOptions["omitRootObject"].ToBoolean() == true) { omitRootObject = true; } if (jsOptions.HasProperty("formatting") && Enum.TryParse(jsOptions["formatting"].ToString(), out Newtonsoft.Json.Formatting requestedFormatting)) { formatting = requestedFormatting; } } var json = JsonConvert.SerializeXmlNode(xmlDoc, formatting, omitRootObject); if (toObject) { return(context.JSON.Parse(context.CreateString(json))); } return(context.CreateString(json)); })); var resultObj = context.CreateObject(); context.Object.DefineProperty(resultObj, "toXml", new JsPropertyDescriptor { Enumerable = true, Value = toXml }); context.Object.DefineProperty(resultObj, "toJson", new JsPropertyDescriptor { Enumerable = true, Value = toJson }); return(resultObj); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { context.Converter.TryFromObject(context, typeof(Blob), out JsValue value); return(value); }
public JsValue ExportDefault(BaristaContext context, BaristaModuleRecord referencingModule) { return(context.CreateString("Goodnight, moon.")); }