ExoWeb.Templates.JavaScript.Marshaler.Unwrap C# (CSharp) Method

Unwrap() public method

public Unwrap ( object jsObject ) : object
jsObject object
return object
        public object Unwrap(object jsObject)
        {
            if (jsObject == Null.Value)
                return null;

            if (jsObject == Undefined.Value)
                return null;

            if (jsObject is IWrapper)
                return ((IWrapper)jsObject).RealObject;

            if (jsObject is ArrayInstance)
                return new UnwrappedArray(this, (ArrayInstance)jsObject);

            return jsObject;
        }

Usage Example

Esempio n. 1
0
        public object Evaluate(IEnumerable <object> arguments, Marshaler marshaler)
        {
            ScriptEngine engine = engineFactory.GetScriptEngine();

            EnsureCompiled(engine);

            // call the function
            object[] wrappedArgs = arguments.Select(marshaler.Wrap).ToArray();
            object   result;

            try
            {
                result = engine.CallGlobalFunction(functionName, wrappedArgs);
            }
            catch (Jurassic.JavaScriptException err)
            {
                throw new ScriptFunctionEvaluationException(expression, err);
            }
            return(marshaler.Unwrap(result));
        }
All Usage Examples Of ExoWeb.Templates.JavaScript.Marshaler::Unwrap