| Server IP : 217.160.0.135 / Your IP : 216.73.217.85 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1074145052 ( 1074145052) PHP Version : 8.3.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/nodejs/core-js/internals/ |
Upload File : |
'use strict';
var InternalStateModule = require('../internals/internal-state');
var createIteratorConstructor = require('../internals/iterator-create-constructor');
var createIterResultObject = require('../internals/create-iter-result-object');
var hasOwn = require('../internals/has-own-property');
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 createIterResultObject(undefined, true);
}
var key = keys[state.index++];
var object = state.object;
if (!hasOwn(object, key)) continue;
switch (state.mode) {
case 'keys': return createIterResultObject(key, false);
case 'values': return createIterResultObject(object[key], false);
} /* entries */ return createIterResultObject([key, object[key]], false);
}
});