Files
dewedev/node_modules/core-js-pure/modules/es.iterator.from.js
dwindown 7f2dd5260f Initial commit: Developer Tools MVP with visual editor
- Complete React app with 7 developer tools
- JSON Tool with visual structured editor
- Serialize Tool with visual structured editor
- URL, Base64, CSV/JSON, Beautifier, Diff tools
- Responsive navigation with dropdown menu
- Dark/light mode toggle
- Mobile-responsive design with sticky header
- All tools working with copy/paste functionality
2025-08-02 09:31:26 +07:00

36 lines
1.3 KiB
JavaScript

'use strict';
var $ = require('../internals/export');
var call = require('../internals/function-call');
var toObject = require('../internals/to-object');
var isPrototypeOf = require('../internals/object-is-prototype-of');
var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
var createIteratorProxy = require('../internals/iterator-create-proxy');
var getIteratorFlattenable = require('../internals/get-iterator-flattenable');
var IS_PURE = require('../internals/is-pure');
var FORCED = IS_PURE || function () {
// Should not throw when an underlying iterator's `return` method is null
// https://bugs.webkit.org/show_bug.cgi?id=288714
try {
// eslint-disable-next-line es/no-iterator -- required for testing
Iterator.from({ 'return': null })['return']();
} catch (error) {
return true;
}
}();
var IteratorProxy = createIteratorProxy(function () {
return call(this.next, this.iterator);
}, true);
// `Iterator.from` method
// https://tc39.es/ecma262/#sec-iterator.from
$({ target: 'Iterator', stat: true, forced: FORCED }, {
from: function from(O) {
var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O, true);
return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator)
? iteratorRecord.iterator
: new IteratorProxy(iteratorRecord);
}
});