| | |
| | | var addToUnscopables = require('../internals/add-to-unscopables'); |
| | | var Iterators = require('../internals/iterators'); |
| | | var InternalStateModule = require('../internals/internal-state'); |
| | | var defineProperty = require('../internals/object-define-property').f; |
| | | var defineIterator = require('../internals/define-iterator'); |
| | | var IS_PURE = require('../internals/is-pure'); |
| | | var DESCRIPTORS = require('../internals/descriptors'); |
| | | |
| | | var ARRAY_ITERATOR = 'Array Iterator'; |
| | | var setInternalState = InternalStateModule.set; |
| | |
| | | // argumentsList[@@iterator] is %ArrayProto_values% |
| | | // https://tc39.es/ecma262/#sec-createunmappedargumentsobject |
| | | // https://tc39.es/ecma262/#sec-createmappedargumentsobject |
| | | Iterators.Arguments = Iterators.Array; |
| | | var values = Iterators.Arguments = Iterators.Array; |
| | | |
| | | // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables |
| | | addToUnscopables('keys'); |
| | | addToUnscopables('values'); |
| | | addToUnscopables('entries'); |
| | | |
| | | // V8 ~ Chrome 45- bug |
| | | if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { |
| | | defineProperty(values, 'name', { value: 'values' }); |
| | | } catch (error) { /* empty */ } |