Пример #1
0
        private JsValue FromEntries(JsValue thisObject, JsValue[] arguments)
        {
            var iterable = arguments.At(0);

            TypeConverter.CheckObjectCoercible(_engine, iterable);

            var obj = _engine.Object.Construct(0);

            var adder    = CreateDataPropertyOnObject.Instance;
            var iterator = arguments.At(0).GetIterator(_engine);

            IteratorProtocol.AddEntriesFromIterable(obj, iterator, adder);

            return(obj);
        }
Пример #2
0
        public ObjectInstance Construct(JsValue[] arguments, JsValue newTarget)
        {
            var map = new MapInstance(Engine)
            {
                _prototype = PrototypeObject
            };

            if (arguments.Length > 0 && !arguments[0].IsNullOrUndefined())
            {
                var adder    = map.Get("set");
                var iterator = arguments.At(0).GetIterator(_engine);

                IteratorProtocol.AddEntriesFromIterable(map, iterator, adder);
            }

            return(map);
        }