From e93da8b04da86773247aadb1cbb1912e4f4526b2 Mon Sep 17 00:00:00 2001 From: Priyansh Date: Tue, 22 Dec 2020 17:49:59 +0530 Subject: Rewriting Project --- node_modules/core-js/modules/es.string.iterator.js | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 node_modules/core-js/modules/es.string.iterator.js (limited to 'node_modules/core-js/modules/es.string.iterator.js') diff --git a/node_modules/core-js/modules/es.string.iterator.js b/node_modules/core-js/modules/es.string.iterator.js new file mode 100644 index 0000000..8a268e0 --- /dev/null +++ b/node_modules/core-js/modules/es.string.iterator.js @@ -0,0 +1,29 @@ +'use strict'; +var charAt = require('../internals/string-multibyte').charAt; +var InternalStateModule = require('../internals/internal-state'); +var defineIterator = require('../internals/define-iterator'); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: String(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return { value: undefined, done: true }; + point = charAt(string, index); + state.index += point.length; + return { value: point, done: false }; +}); -- cgit v1.2.3