Show More
Commit Description:
allow ta to set model submission
Commit Description:
allow ta to set model submission
References:
File last commit:
Show/Diff file:
Action:
node_modules/es6-iterator/string.js
| 39 lines
| 1.3 KiB
| application/javascript
| JavascriptLexer
|
r789 | // Thanks @mathiasbynens | |||
// http://mathiasbynens.be/notes/javascript-unicode#iterating-over-symbols | ||||
"use strict"; | ||||
var setPrototypeOf = require("es5-ext/object/set-prototype-of") | ||||
, d = require("d") | ||||
, Symbol = require("es6-symbol") | ||||
, Iterator = require("./"); | ||||
var defineProperty = Object.defineProperty, StringIterator; | ||||
StringIterator = module.exports = function (str) { | ||||
if (!(this instanceof StringIterator)) throw new TypeError("Constructor requires 'new'"); | ||||
str = String(str); | ||||
Iterator.call(this, str); | ||||
defineProperty(this, "__length__", d("", str.length)); | ||||
}; | ||||
if (setPrototypeOf) setPrototypeOf(StringIterator, Iterator); | ||||
// Internal %ArrayIteratorPrototype% doesn't expose its constructor | ||||
delete StringIterator.prototype.constructor; | ||||
StringIterator.prototype = Object.create(Iterator.prototype, { | ||||
_next: d(function () { | ||||
if (!this.__list__) return undefined; | ||||
if (this.__nextIndex__ < this.__length__) return this.__nextIndex__++; | ||||
this._unBind(); | ||||
return undefined; | ||||
}), | ||||
_resolve: d(function (i) { | ||||
var char = this.__list__[i], code; | ||||
if (this.__nextIndex__ === this.__length__) return char; | ||||
code = char.charCodeAt(0); | ||||
if (code >= 0xd800 && code <= 0xdbff) return char + this.__list__[this.__nextIndex__++]; | ||||
return char; | ||||
}) | ||||
}); | ||||
defineProperty(StringIterator.prototype, Symbol.toStringTag, d("c", "String Iterator")); | ||||