astro-ghostcms/.pnpm-store/v3/files/43/5cb5a9145c3ab61029f38bec8c9...

56 lines
1.9 KiB
Plaintext

'use strict';
var setToStringTag = require('es-set-tostringtag');
var hasProto = require('has-proto')();
var iterProto = require('../Iterator.prototype/implementation');
var SLOT = require('internal-slot');
var CompletionRecord = require('es-abstract/2023/CompletionRecord');
var CreateIterResultObject = require('es-abstract/2023/CreateIterResultObject');
var GeneratorResume = require('../aos/GeneratorResume');
var GeneratorResumeAbrupt = require('../aos/GeneratorResumeAbrupt');
var IteratorClose = require('../aos/IteratorClose');
var NormalCompletion = require('es-abstract/2023/NormalCompletion');
var implementation;
if (hasProto) {
implementation = {
__proto__: iterProto,
next: function next() {
return GeneratorResume(this, void undefined, 'Iterator Helper');
},
'return': function () {
var O = this; // step 1
SLOT.assert(O, '[[UnderlyingIterator]]'); // step 2
SLOT.assert(O, '[[GeneratorState]]'); // step 3
if (SLOT.get(O, '[[GeneratorState]]') === 'suspendedStart') { // step 4
SLOT.set(O, '[[GeneratorState]]', 'completed'); // step 4.a
IteratorClose(SLOT.get(O, '[[UnderlyingIterator]]'), NormalCompletion('unused')); // step 4.c
return CreateIterResultObject(void undefined, true); // step 4.d
}
var C = new CompletionRecord('return', void undefined); // step 5
return GeneratorResumeAbrupt(O, C, 'Iterator Helper'); // step 6
}
};
setToStringTag(implementation, 'Iterator Helper');
} else {
var IteratorHelper = function IteratorHelper() {};
IteratorHelper.prototype = iterProto;
implementation = new IteratorHelper();
delete implementation.constructor;
implementation.next = function next() {
return GeneratorResume(this, void undefined, 'Iterator Helper');
};
implementation['return'] = function () {
var C = new CompletionRecord('return', void undefined); // step 1
return GeneratorResumeAbrupt(this, C, 'Iterator Helper');
};
}
module.exports = implementation;