/// <summary> /// Constructs a instance of Dean Edwards' JS-minifier /// </summary> /// <param name="createJsEngineInstance">Delegate that creates an instance of JavaScript engine</param> /// <param name="packerConfig">Configuration settings of Dean Edwards' Minifier</param> public EdwardsJsMinifier(Func<IJsEngine> createJsEngineInstance, PackerSettings packerConfig) { JsMinifierSettings jsMinifierConfig = packerConfig.JsMinifier; ShrinkVariables = jsMinifierConfig.ShrinkVariables; Base62Encode = jsMinifierConfig.Base62Encode; if (createJsEngineInstance == null) { string jsEngineName = packerConfig.JsEngine.Name; if (string.IsNullOrWhiteSpace(jsEngineName)) { throw new ConfigurationErrorsException( string.Format(CoreStrings.Configuration_JsEngineNotSpecified, "packer", @" * JavaScriptEngineSwitcher.Msie * JavaScriptEngineSwitcher.V8", "MsieJsEngine") ); } createJsEngineInstance = (() => JsEngineSwitcher.Current.CreateJsEngineInstance(jsEngineName)); } _createJsEngineInstance = createJsEngineInstance; }
/// <summary> /// Constructs a instance of Dean Edwards' JS minifier /// </summary> /// <param name="createJsEngineInstance">Delegate that creates an instance of JS engine</param> /// <param name="packerConfig">Configuration settings of Dean Edwards' Minifier</param> public EdwardsJsMinifier(Func <IJsEngine> createJsEngineInstance, PackerSettings packerConfig) { JsMinifierSettings jsMinifierConfig = packerConfig.JsMinifier; ShrinkVariables = jsMinifierConfig.ShrinkVariables; Base62Encode = jsMinifierConfig.Base62Encode; if (createJsEngineInstance == null) { string jsEngineName = packerConfig.JsEngine.Name; if (string.IsNullOrWhiteSpace(jsEngineName)) { throw new ConfigurationErrorsException( string.Format(CoreStrings.Configuration_JsEngineNotSpecified, "packer", @" * JavaScriptEngineSwitcher.Msie * JavaScriptEngineSwitcher.V8 * JavaScriptEngineSwitcher.ChakraCore", "MsieJsEngine") ); } createJsEngineInstance = () => JsEngineSwitcher.Current.CreateEngine(jsEngineName); } _createJsEngineInstance = createJsEngineInstance; }