public static JsValue EvaluateTypeScriptModule(this BaristaContext context, string script, IBaristaModuleLoader moduleLoader = null, bool isTsx = false) { var transpileTask = TypeScriptTranspiler.Default.Transpile(script, isTsx ? "main.tsx" : "main.ts"); var transpilerOutput = transpileTask.GetAwaiter().GetResult(); return(context.EvaluateModule(transpilerOutput.OutputText, moduleLoader)); }
public void JsModulesWillExecuteEvenWithoutATaskQueue() { using (var rt = BaristaRuntimeFactory.CreateRuntime()) { var converter = m_provider.GetRequiredService <IBaristaConversionStrategy>(); var valueFactoryBuilder = m_provider.GetRequiredService <IBaristaValueFactoryBuilder>(); var moduleRecordFactory = m_provider.GetRequiredService <IBaristaModuleRecordFactory>(); IPromiseTaskQueue taskQueue = null; var contextHandle = rt.Engine.JsCreateContext(rt.Handle); using (var ctx = new BaristaContext(rt.Engine, valueFactoryBuilder, converter, moduleRecordFactory, taskQueue, contextHandle)) { var result = ctx.EvaluateModule("export default 'foo';"); Assert.Equal("foo", result.ToString()); } Assert.True(contextHandle.IsClosed); } }