[backend] fix: 修复异常处理和类型转换问题

This commit is contained in:
xsl
2026-01-26 11:53:40 +08:00
parent 7ccc2a6ac6
commit 83e05bf85f
28639 changed files with 2506458 additions and 93 deletions
+19
View File
@@ -0,0 +1,19 @@
'use strict';
var $TypeError = require('es-errors/type');
var CompletionRecord = require('./CompletionRecord');
var IteratorClose = require('./IteratorClose');
// https://262.ecma-international.org/16.0/#sec-ifabruptcloseiterator
module.exports = function IfAbruptCloseIterator(value, iteratorRecord) {
if (!(value instanceof CompletionRecord)) {
throw new $TypeError('Assertion failed: `value` must be a Completion Record'); // step 1
}
if (value.type() === 'throw') {
return IteratorClose(iteratorRecord, value); // step 2
}
return value['!'](); // step
};