UNPKG

core-js

Version:
36 lines (32 loc) 1.58 kB
'use strict'; var ArrayIterators = require('../modules/es.array.iterator'); var Uint8Array = require('../internals/global').Uint8Array; var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); var ITERATOR = require('../internals/well-known-symbol')('iterator'); var arrayValues = ArrayIterators.values; var arrayKeys = ArrayIterators.keys; var arrayEntries = ArrayIterators.entries; var aTypedArray = ArrayBufferViewCore.aTypedArray; var exportProto = ArrayBufferViewCore.exportProto; var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR]; var CORRECT_ITER_NAME = !!nativeTypedArrayIterator && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined); var typedArrayValues = function values() { return arrayValues.call(aTypedArray(this)); }; // `%TypedArray%.prototype.entries` method // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries exportProto('entries', function entries() { return arrayEntries.call(aTypedArray(this)); }); // `%TypedArray%.prototype.keys` method // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys exportProto('keys', function keys() { return arrayKeys.call(aTypedArray(this)); }); // `%TypedArray%.prototype.values` method // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values exportProto('values', typedArrayValues, !CORRECT_ITER_NAME); // `%TypedArray%.prototype[@@iterator]` method // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator exportProto(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);