Files
NapCatQQ/.pnpm-store/v3/files/3e/e64ff364ddc830da8306c94eb851ad2c6f295fa80f3eda5f452def15015b19bef441c07c088cb87b1ab86010260c954fda8978e339f211e0638ec976771224
TanTan e311ca3275
Build NapCat Artifacts / Windows Loader Test (push) Canceled after 0s
Build NapCat Artifacts / Type Check & Test (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Framework (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Shell (push) Canceled after 0s
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

35 lines
1.1 KiB
Plaintext

'use strict';
var $TypeError = require('es-errors/type');
var CompletionRecord = require('es-abstract/2024/CompletionRecord');
var IteratorClose = require('es-abstract/2024/IteratorClose');
var ThrowCompletion = require('es-abstract/2024/ThrowCompletion');
var IsArray = require('es-abstract/helpers/IsArray');
var every = require('es-abstract/helpers/every');
var isIteratorRecord = require('es-abstract/helpers/records/iterator-record');
// https://tc39.es/proposal-joint-iteration/#sec-closeall
module.exports = function IteratorCloseAll(iters, completion) {
if (!IsArray(iters) || !every(iters, isIteratorRecord)) {
throw new $TypeError('Assertion failed: `iters` must be a List of IteratorRecords');
}
if (!(completion instanceof CompletionRecord)) {
throw new $TypeError('Assertion failed: `completion` must be a Completion Record');
}
for (var i = iters.length - 1; i >= 0; i -= 1) { // step 1
try {
IteratorClose(iters[i], completion); // step 1.a
} catch (e) {
// eslint-disable-next-line no-param-reassign
completion = ThrowCompletion(e); // step 1.a
}
}
return completion['?'](); // step 2
};