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); }
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); }