Sha256: 63c736f27923d425d46a6c507eba2dd29a89d2702d01766744d41dac3aa94610

Contents?: true

Size: 1.03 KB

Versions: 25

Compression:

Stored size: 1.03 KB

Contents

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

Version data entries

25 entries across 25 versions & 7 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/core-js/modules/es.string.iterator.js
disco_app-0.18.0 test/dummy/node_modules/core-js/modules/es.string.iterator.js
disco_app-0.18.2 test/dummy/node_modules/core-js/modules/es.string.iterator.js
tang-0.2.1 spec/tang_app/node_modules/core-js/modules/es.string.iterator.js
tang-0.2.0 spec/tang_app/node_modules/core-js/modules/es.string.iterator.js
tang-0.1.0 spec/tang_app/node_modules/core-js/modules/es.string.iterator.js
tang-0.0.9 spec/tang_app/node_modules/core-js/modules/es.string.iterator.js
enju_library-0.3.8 spec/dummy/node_modules/core-js/modules/es.string.iterator.js
condenser-0.3 lib/condenser/processors/node_modules/core-js-pure/modules/es.string.iterator.js
condenser-0.2 lib/condenser/processors/node_modules/core-js-pure/modules/es.string.iterator.js
condenser-0.1 lib/condenser/processors/node_modules/core-js-pure/modules/es.string.iterator.js
condenser-0.0.12 lib/condenser/processors/node_modules/core-js-pure/modules/es.string.iterator.js
condenser-0.0.11 lib/condenser/processors/node_modules/core-js-pure/modules/es.string.iterator.js
condenser-0.0.10 lib/condenser/processors/node_modules/core-js-pure/modules/es.string.iterator.js
condenser-0.0.9 lib/condenser/processors/node_modules/core-js-pure/modules/es.string.iterator.js
condenser-0.0.8 lib/condenser/processors/node_modules/core-js-pure/modules/es.string.iterator.js
jester-data-8.0.0 node_modules/core-js/modules/es.string.iterator.js
ezii-os-5.2.1 node_modules/core-js/modules/es.string.iterator.js
ezii-os-2.0.1 node_modules/core-js/modules/es.string.iterator.js
ezii-os-1.1.0 node_modules/core-js/modules/es.string.iterator.js