diff options
Diffstat (limited to 'node_modules/core-js/modules/$.string-at.js')
-rw-r--r-- | node_modules/core-js/modules/$.string-at.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/$.string-at.js b/node_modules/core-js/modules/$.string-at.js new file mode 100644 index 000000000..3d344bba7 --- /dev/null +++ b/node_modules/core-js/modules/$.string-at.js @@ -0,0 +1,17 @@ +var toInteger = require('./$.to-integer') + , defined = require('./$.defined'); +// true -> String#at +// false -> String#codePointAt +module.exports = function(TO_STRING){ + return function(that, pos){ + var s = String(defined(that)) + , i = toInteger(pos) + , l = s.length + , a, b; + if(i < 0 || i >= l)return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +};
\ No newline at end of file |