⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.1
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
invoice
/
node_modules
/
es-abstract
/
2022
/
View File Name :
AsyncIteratorClose.js
'use strict'; var GetIntrinsic = require('get-intrinsic'); var $SyntaxError = GetIntrinsic('%SyntaxError%'); var $TypeError = GetIntrinsic('%TypeError%'); var $Promise = GetIntrinsic('%Promise%', true); var Call = require('./Call'); var CompletionRecord = require('./CompletionRecord'); var GetMethod = require('./GetMethod'); var Type = require('./Type'); var assertRecord = require('../helpers/assertRecord'); var callBound = require('call-bind/callBound'); var $then = callBound('Promise.prototype.then', true); // https://262.ecma-international.org/12.0/#sec-asynciteratorclose module.exports = function AsyncIteratorClose(iteratorRecord, completion) { assertRecord(Type, 'Iterator Record', 'iteratorRecord', iteratorRecord); // step 1 if (!(completion instanceof CompletionRecord)) { throw new $TypeError('Assertion failed: completion is not a Completion Record instance'); // step 2 } if (!$then) { throw new $SyntaxError('This environment does not support Promises.'); } var iterator = iteratorRecord['[[Iterator]]']; // step 3 return $then( $then( $then( new $Promise(function (resolve) { resolve(GetMethod(iterator, 'return')); // step 4 // resolve(Call(ret, iterator, [])); // step 6 }), function (returnV) { // step 5.a if (typeof returnV === 'undefined') { return completion; // step 5.b } return Call(returnV, iterator); // step 5.c, 5.d. } ), null, function (e) { if (completion.type() === 'throw') { completion['?'](); // step 6 } else { throw e; // step 7 } } ), function (innerResult) { // step 8 if (completion.type() === 'throw') { completion['?'](); // step 6 } if (Type(innerResult) !== 'Object') { throw new $TypeError('`innerResult` must be an Object'); // step 10 } return completion; } ); };