Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / core-js / internals / object-iterator.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/core-js/internals/object-iterator.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/core-js/internals/object-iterator.js
new file mode 100644 (file)
index 0000000..415824f
--- /dev/null
@@ -0,0 +1,37 @@
+'use strict';
+var InternalStateModule = require('../internals/internal-state');
+var createIteratorConstructor = require('../internals/create-iterator-constructor');
+var has = require('../internals/has');
+var objectKeys = require('../internals/object-keys');
+var toObject = require('../internals/to-object');
+
+var OBJECT_ITERATOR = 'Object Iterator';
+var setInternalState = InternalStateModule.set;
+var getInternalState = InternalStateModule.getterFor(OBJECT_ITERATOR);
+
+module.exports = createIteratorConstructor(function ObjectIterator(source, mode) {
+  var object = toObject(source);
+  setInternalState(this, {
+    type: OBJECT_ITERATOR,
+    mode: mode,
+    object: object,
+    keys: objectKeys(object),
+    index: 0
+  });
+}, 'Object', function next() {
+  var state = getInternalState(this);
+  var keys = state.keys;
+  while (true) {
+    if (keys === null || state.index >= keys.length) {
+      state.object = state.keys = null;
+      return { value: undefined, done: true };
+    }
+    var key = keys[state.index++];
+    var object = state.object;
+    if (!has(object, key)) continue;
+    switch (state.mode) {
+      case 'keys': return { value: key, done: false };
+      case 'values': return { value: object[key], done: false };
+    } /* entries */ return { value: [key, object[key]], done: false };
+  }
+});