Ejemplo n.º 1
0
        public Handlebars(Microsoft.ClearScript.V8.V8ScriptEngine engine)
        {
            this.engine = engine;
            var handlebarsJsText = GetHandlebarsJsText();

            engine.Execute(handlebarsJsText);
        }
Ejemplo n.º 2
0
        public Handlebars(MsieJavaScriptEngine.MsieJsEngine engine)
        {
            this.engine = engine;
            var handlebarsJsText = GetHandlebarsJsText();

            engine.Execute(handlebarsJsText);
        }
Ejemplo n.º 3
0
        public Handlebars(Jint.Engine engine)
        {
            this.engine = engine;
            var handlebarsJsText = GetHandlebarsJsText();

            engine.Execute(handlebarsJsText);
        }
        /// <summary>
        /// Constructs a instance of adapter for MSIE JavaScript engine
        /// </summary>
        /// <param name="config">Configuration settings of MSIE JavaScript engine</param>
        public MsieJsEngine(MsieConfiguration config)
        {
            MsieConfiguration msieConfig = config ?? new MsieConfiguration();

            try
            {
                _jsEngine = new OriginalJsEngine(new OriginalJsEngineSettings
                {
                    EngineMode = Utils.GetEnumFromOtherEnum <JsEngineMode, OriginalJsEngineMode>(
                        msieConfig.EngineMode),
                    UseEcmaScript5Polyfill = msieConfig.UseEcmaScript5Polyfill,
                    UseJson2Library        = msieConfig.UseJson2Library
                });
                _engineVersion = _jsEngine.Mode;
            }
            catch (OriginalJsEngineLoadException e)
            {
                throw new JsEngineLoadException(
                          string.Format(CoreStrings.Runtime_JsEngineNotLoaded,
                                        ENGINE_NAME, e.Message), ENGINE_NAME, e.EngineMode, e);
            }
            catch (Exception e)
            {
                throw new JsEngineLoadException(
                          string.Format(CoreStrings.Runtime_JsEngineNotLoaded,
                                        ENGINE_NAME, e.Message), ENGINE_NAME, _engineVersion, e);
            }
        }
        /// <summary>
        /// Constructs an instance of adapter for the MSIE JS engine
        /// </summary>
        /// <param name="settings">Settings of the MSIE JS engine</param>
        public MsieJsEngine(MsieSettings settings)
        {
            MsieSettings msieSettings = settings ?? new MsieSettings();

            try
            {
                _jsEngine = new OriginalEngine(new OriginalEngineSettings
                {
                    EnableDebugging = msieSettings.EnableDebugging,
                    EngineMode      = Utils.GetEnumFromOtherEnum <JsEngineMode, OriginalEngineMode>(
                        msieSettings.EngineMode),
#if !NETSTANDARD1_3
                    MaxStackSize = msieSettings.MaxStackSize,
#endif
                    UseEcmaScript5Polyfill = msieSettings.UseEcmaScript5Polyfill,
                    UseJson2Library        = msieSettings.UseJson2Library
                });
                _engineVersion = _jsEngine.Mode;
            }
            catch (OriginalUsageException e)
            {
                throw JsErrorHelpers.WrapEngineLoadException(e, EngineName, _engineVersion);
            }
            catch (OriginalException e)
            {
                throw WrapJsException(e);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Constructs a instance of adapter for the MSIE JS engine
        /// </summary>
        /// <param name="settings">Settings of the MSIE JS engine</param>
        public MsieJsEngine(MsieSettings settings)
        {
            MsieSettings msieSettings = settings ?? new MsieSettings();

            try
            {
                _jsEngine = new OriginalJsEngine(new OriginalJsEngineSettings
                {
                    EnableDebugging = msieSettings.EnableDebugging,
                    EngineMode      = Utils.GetEnumFromOtherEnum <JsEngineMode, OriginalJsEngineMode>(
                        msieSettings.EngineMode),
                    UseEcmaScript5Polyfill = msieSettings.UseEcmaScript5Polyfill,
                    UseJson2Library        = msieSettings.UseJson2Library
                });
                _engineVersion = _jsEngine.Mode;
            }
            catch (OriginalJsEngineLoadException e)
            {
                throw new JsEngineLoadException(
                          string.Format(CoreStrings.Runtime_JsEngineNotLoaded,
                                        EngineName, e.Message), EngineName, e.EngineMode, e);
            }
            catch (Exception e)
            {
                throw new JsEngineLoadException(
                          string.Format(CoreStrings.Runtime_JsEngineNotLoaded,
                                        EngineName, e.Message), EngineName, _engineVersion, e);
            }
        }
Ejemplo n.º 7
0
        public Handlebars(Microsoft.ClearScript.V8.V8ScriptEngine engine)
        {
            Guard.AgainstNull(engine, "engine");
            this.engine = engine;
            var handlebarsJsText = GetHandlebarsJsText();

            engine.Execute(handlebarsJsText);
        }
Ejemplo n.º 8
0
        public Handlebars(Jint.Engine engine)
        {
            Guard.AgainstNull(engine, "engine");
            this.engine = engine;
            var handlebarsJsText = GetHandlebarsJsText();

            engine.Execute(handlebarsJsText);
        }
Ejemplo n.º 9
0
        public Handlebars(MsieJavaScriptEngine.MsieJsEngine engine)
        {
            Guard.AgainstNull(engine, "engine");
            this.engine = engine;
            var handlebarsJsText = GetHandlebarsJsText();

            engine.Execute(handlebarsJsText);
        }
 public override void Dispose()
 {
     if (_disposedFlag.Set())
     {
         if (_jsEngine != null)
         {
             _jsEngine.Dispose();
             _jsEngine = null;
         }
     }
 }
        public override void Dispose()
        {
            if (!_disposed)
            {
                _disposed = true;

                if (_jsEngine != null)
                {
                    _jsEngine.Dispose();
                    _jsEngine = null;
                }
            }
        }
Ejemplo n.º 12
0
        public string Execute(string script)
        {
            try
            {
                var engine = new Engine(_useEcmaScript5Polyfill, _useJson2Library);

                var     stringifiedResult = engine.Evaluate(script) as string;
                var     sampleResult      = new { successful = false, result = "", error = "" };
                dynamic json = JsonConvert.DeserializeAnonymousType(stringifiedResult, sampleResult);
                if (!json.successful)
                {
                    throw new ScriptException(json.error);
                }
                return(json.result);
            }
            catch (ActiveScriptException ex)
            {
                throw new ScriptException(ex.Message, ex);
            }
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Constructs instance of adapter for MSIE JavaScript engine
        /// </summary>
        /// <param name="msieConfig">Configuration settings of MSIE JavaScript engine</param>
        public MsieJsEngine(MsieConfiguration msieConfig)
        {
            OriginalJsEngineMode engineMode =
                Utils.GetEnumFromOtherEnum <JsEngineMode, OriginalJsEngineMode>(msieConfig.EngineMode);

            try
            {
                _jsEngine      = new OriginalJsEngine(engineMode, true, true);
                _engineVersion = _jsEngine.Mode;
            }
            catch (OriginalJsEngineLoadException e)
            {
                throw new JsEngineLoadException(
                          string.Format(CoreStrings.Runtime_JsEngineNotLoaded,
                                        ENGINE_NAME, e.Message), ENGINE_NAME, e.EngineMode, e);
            }
            catch (Exception e)
            {
                throw new JsEngineLoadException(
                          string.Format(CoreStrings.Runtime_JsEngineNotLoaded,
                                        ENGINE_NAME, e.Message), ENGINE_NAME, _engineVersion, e);
            }
        }