private static MethodInfo GenerateMethod(JObject trigger) { FunctionFolderInfo functionFolderInfo = new FunctionFolderInfo(); functionFolderInfo.Name = "Test"; functionFolderInfo.Source = Path.Combine(Environment.CurrentDirectory, @"scripts\Common\test.js"); JArray inputs = new JArray(trigger); functionFolderInfo.Configuration = new JObject(); functionFolderInfo.Configuration["bindings"] = new JObject(); functionFolderInfo.Configuration["bindings"]["input"] = inputs; List<FunctionFolderInfo> functionFolderInfos = new List<FunctionFolderInfo>(); functionFolderInfos.Add(functionFolderInfo); FunctionDescriptorProvider[] descriptorProviders = new FunctionDescriptorProvider[] { new NodeFunctionDescriptorProvider(Environment.CurrentDirectory) }; var functionDescriptors = ScriptHost.ReadFunctions(functionFolderInfos, descriptorProviders); Type t = FunctionGenerator.Generate("TestScriptHost", "Host.Functions", functionDescriptors); MethodInfo method = t.GetMethods(BindingFlags.Public | BindingFlags.Static).First(); return method; }
private static MethodInfo GenerateMethod(JObject function) { JObject manifest = new JObject { { "functions", new JArray(function) } }; FunctionDescriptorProvider[] descriptorProviders = new FunctionDescriptorProvider[] { new CSharpFunctionDescriptorProvider(new Type[] { typeof(Functions) }) }; var functions = Manifest.ReadFunctions(manifest, descriptorProviders); Type t = FunctionGenerator.Generate(functions); MethodInfo method = t.GetMethods(BindingFlags.Public | BindingFlags.Static).First(); return method; }
private static MethodInfo GenerateMethod(JObject function) { JObject manifest = new JObject { { "functions", new JArray(function) } }; string applicationRootPath = Path.Combine(Environment.CurrentDirectory, "node"); FunctionDescriptorProvider[] descriptorProviders = new FunctionDescriptorProvider[] { new NodeFunctionDescriptorProvider(applicationRootPath) }; var functions = Manifest.ReadFunctions(manifest, descriptorProviders); Type t = FunctionGenerator.Generate(functions); MethodInfo method = t.GetMethods(BindingFlags.Public | BindingFlags.Static).First(); return method; }