/// <summary> /// Constructs a instance of CoffeeScript translator /// </summary> /// <param name="createJsEngineInstance">Delegate that creates an instance of JS engine</param> /// <param name="coffeeConfig">Configuration settings of CoffeeScript translator</param> public CoffeeScriptTranslator(Func <IJsEngine> createJsEngineInstance, CoffeeScriptSettings coffeeConfig) { Bare = coffeeConfig.Bare; if (createJsEngineInstance == null) { string jsEngineName = coffeeConfig.JsEngine.Name; if (string.IsNullOrWhiteSpace(jsEngineName)) { throw new ConfigurationErrorsException( string.Format(CoreStrings.Configuration_JsEngineNotSpecified, "coffeeScript", @" * JavaScriptEngineSwitcher.Msie * JavaScriptEngineSwitcher.V8 * JavaScriptEngineSwitcher.ChakraCore", "MsieJsEngine") ); } createJsEngineInstance = () => JsEngineSwitcher.Instance.CreateEngine(jsEngineName); } _createJsEngineInstance = createJsEngineInstance; }
/// <summary> /// Constructs a instance of CoffeeScript-translator /// </summary> /// <param name="createJsEngineInstance">Delegate that creates an instance of JavaScript engine</param> /// <param name="coffeeConfig">Configuration settings of CoffeeScript-translator</param> public CoffeeScriptTranslator(Func<IJsEngine> createJsEngineInstance, CoffeeScriptSettings coffeeConfig) { Bare = coffeeConfig.Bare; if (createJsEngineInstance == null) { string jsEngineName = coffeeConfig.JsEngine.Name; if (string.IsNullOrWhiteSpace(jsEngineName)) { throw new ConfigurationErrorsException( string.Format(CoreStrings.Configuration_JsEngineNotSpecified, "coffeeScript", @" * JavaScriptEngineSwitcher.Msie * JavaScriptEngineSwitcher.V8", "MsieJsEngine") ); } createJsEngineInstance = (() => JsEngineSwitcher.Current.CreateJsEngineInstance(jsEngineName)); } _createJsEngineInstance = createJsEngineInstance; }