コード例 #1
0
ファイル: Tool.cs プロジェクト: arjenst/NetJS
        public static Javascript.Array ToArray(IList <string> list, Javascript.Scope scope)
        {
            var array = new Javascript.Array();

            foreach (var s in list)
            {
                array.List.Add(new Javascript.String(s));
            }
            return(array);
        }
コード例 #2
0
ファイル: Tool.cs プロジェクト: arjenst/NetJS
        public static Javascript.Object Prototype(string name, Javascript.Scope scope)
        {
            var obj       = scope.Engine.GetPrototype(name);
            var prototype = obj.Get("prototype");

            if (prototype is Javascript.Object o)
            {
                return(o);
            }
            throw new Javascript.InternalError($"Could not get prototype of '{name}'");
        }
コード例 #3
0
ファイル: Tool.cs プロジェクト: arjenst/NetJS
        public static string ToString(Javascript.Constant constant, Javascript.Scope scope)
        {
            var node = new Javascript.Call()
            {
                Left = new Javascript.Access(true)
                {
                    Left  = constant,
                    Right = new Javascript.Variable("toString")
                },
                Right = new Javascript.ArgumentList()
                {
                    Arguments = new Javascript.Constant[] { }
                }
            };

            var result = node.Execute(scope);

            if (result is Javascript.String s)
            {
                return(s.Value);
            }

            return("");
        }
コード例 #4
0
 public Engine()
 {
     Scope = new Javascript.Scope(this);
 }
コード例 #5
0
ファイル: Tool.cs プロジェクト: arjenst/NetJS
 public static Javascript.Object Construct(string name, Javascript.Scope scope)
 {
     return(new Javascript.Object(Prototype(name, scope)));
 }