| | |
| | | var hasSymbols = require('has-symbols')(); |
| | | var GetIntrinsic = require('get-intrinsic'); |
| | | var callBound = require('call-bind/callBound'); |
| | | var isString = require('is-string'); |
| | | |
| | | var $iterator = GetIntrinsic('%Symbol.iterator%', true); |
| | | var $stringSlice = callBound('String.prototype.slice'); |
| | | var $String = GetIntrinsic('%String%', true); |
| | | |
| | | module.exports = function getIteratorMethod(ES, iterable) { |
| | | var usingIterator; |
| | |
| | | } |
| | | }; |
| | | }; |
| | | } else if (ES.Type(iterable) === 'String') { |
| | | } else if (isString(iterable)) { |
| | | usingIterator = function () { |
| | | var i = 0; |
| | | return { |
| | | next: function () { |
| | | var nextIndex = ES.AdvanceStringIndex(iterable, i, true); |
| | | var nextIndex = ES.AdvanceStringIndex($String(iterable), i, true); |
| | | var value = $stringSlice(iterable, i, nextIndex); |
| | | i = nextIndex; |
| | | return { |