.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / core-js / modules / esnext.string.code-points.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/core-js/modules/esnext.string.code-points.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/core-js/modules/esnext.string.code-points.js
new file mode 100644 (file)
index 0000000..fcf15d6
--- /dev/null
@@ -0,0 +1,38 @@
+'use strict';
+var $ = require('../internals/export');
+var createIteratorConstructor = require('../internals/create-iterator-constructor');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+var InternalStateModule = require('../internals/internal-state');
+var StringMultibyteModule = require('../internals/string-multibyte');
+
+var codeAt = StringMultibyteModule.codeAt;
+var charAt = StringMultibyteModule.charAt;
+var STRING_ITERATOR = 'String Iterator';
+var setInternalState = InternalStateModule.set;
+var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
+
+// TODO: unify with String#@@iterator
+var $StringIterator = createIteratorConstructor(function StringIterator(string) {
+  setInternalState(this, {
+    type: STRING_ITERATOR,
+    string: string,
+    index: 0
+  });
+}, 'String', 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: { codePoint: codeAt(point, 0), position: index }, done: false };
+});
+
+// `String.prototype.codePoints` method
+// https://github.com/tc39/proposal-string-prototype-codepoints
+$({ target: 'String', proto: true }, {
+  codePoints: function codePoints() {
+    return new $StringIterator(String(requireObjectCoercible(this)));
+  }
+});