1'use strict';
2var $at = require('./_string-at')(true);
3
4// 21.1.3.27 String.prototype[@@iterator]()
5require('./_iter-define')(String, 'String', function (iterated) {
6  this._t = String(iterated); // target
7  this._i = 0;                // next index
8// 21.1.5.2.1 %StringIteratorPrototype%.next()
9}, function () {
10  var O = this._t;
11  var index = this._i;
12  var point;
13  if (index >= O.length) return { value: undefined, done: true };
14  point = $at(O, index);
15  this._i += point.length;
16  return { value: point, done: false };
17});
18