decord/source/873_SyncPromise.js

182 lines
4.3 KiB
JavaScript
Raw Normal View History

2026-07-29 08:29:29 +00:00
// Module ID: 873
// Function ID: 874
2026-07-20 16:05:17 +00:00
// Name: SyncPromise
2026-07-29 08:29:29 +00:00
// Dependencies: [41, 42, 827]
2026-07-20 16:05:17 +00:00
// Exports: rejectedSyncPromise, resolvedSyncPromise
2026-07-29 08:29:29 +00:00
// Module 873 (SyncPromise)
2026-08-24 06:08:38 +00:00
import closure_2 from "_classCallCheck" /* 41 */;
import _createClass from "_createClass" /* 42 */;
2026-07-23 10:11:24 +00:00
2026-07-29 08:29:29 +00:00
const SyncPromise = require;
2026-07-20 16:05:17 +00:00
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2026-07-29 08:29:29 +00:00
class SyncPromise {
constructor(arg0) {
2026-08-24 06:08:38 +00:00
tmp = closure_2(this, SyncPromise);
2026-07-29 08:29:29 +00:00
this._state = 0;
this._handlers = [];
_runExecutorResult = this._runExecutor(global);
return;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
}
let items = [
{
2026-07-20 16:05:17 +00:00
key: "then",
value: function then(arg0, arg1) {
const self = this;
2026-08-24 06:08:38 +00:00
closure_1 = arg0;
2026-07-29 08:29:29 +00:00
const obj = Object.create(arg1.prototype);
2026-08-24 06:08:38 +00:00
callback(obj, arg1);
2026-07-29 08:29:29 +00:00
obj._state = 0;
obj._handlers = [];
obj._runExecutor((arg0, arg1) => {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
closure_1 = arg1;
2026-07-20 16:05:17 +00:00
const _handlers = self._handlers;
const items = [
false,
(arg0) => {
2026-07-29 08:29:29 +00:00
if (callback2) {
try {
callback(tmp(arg0));
} catch (tmp6) {
callback2(tmp6);
}
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
callback(arg0);
2026-07-20 16:05:17 +00:00
}
},
(arg0) => {
2026-07-29 08:29:29 +00:00
if (callback) {
try {
callback(tmp(arg0));
} catch (tmp6) {
callback2(tmp6);
}
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
callback2(arg0);
2026-07-20 16:05:17 +00:00
}
}
];
_handlers.push(items);
self._executeHandlers();
});
2026-07-29 08:29:29 +00:00
return obj;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
},
{
2026-07-20 16:05:17 +00:00
key: "catch",
value: function _catch(arg0) {
return this.then((arg0) => arg0, arg0);
}
2026-07-29 08:29:29 +00:00
},
{
2026-07-20 16:05:17 +00:00
key: "finally",
value: function _finally(arg0) {
const self = this;
2026-07-29 08:29:29 +00:00
const obj = Object.create(arg0.prototype);
2026-08-24 06:08:38 +00:00
callback(obj, arg0);
2026-07-29 08:29:29 +00:00
obj._state = 0;
obj._handlers = [];
obj._runExecutor((arg0, arg1) => {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
2026-07-23 10:11:24 +00:00
const _self = arg1;
return _self.then((arg0) => {
2026-08-24 06:08:38 +00:00
c3 = false;
closure_2 = arg0;
2026-07-29 08:29:29 +00:00
if (closure_0) {
tmp();
2026-07-20 16:05:17 +00:00
}
}, (arg0) => {
2026-08-24 06:08:38 +00:00
c3 = true;
closure_2 = arg0;
2026-07-29 08:29:29 +00:00
if (closure_0) {
tmp();
2026-07-20 16:05:17 +00:00
}
}).then(() => {
if (closure_3) {
2026-07-23 10:11:24 +00:00
callback2(closure_2);
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
callback(closure_2);
2026-07-20 16:05:17 +00:00
}
});
});
2026-07-29 08:29:29 +00:00
return obj;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
},
{
2026-07-20 16:05:17 +00:00
key: "_executeHandlers",
value: function _executeHandlers() {
2026-07-23 10:11:24 +00:00
let self = this;
self = this;
2026-07-20 16:05:17 +00:00
if (0 !== this._state) {
const _handlers = self._handlers;
const substr = _handlers.slice();
self._handlers = [];
const item = substr.forEach((arg0) => {
if (!arg0[0]) {
if (1 === self._state) {
2026-07-29 08:29:29 +00:00
arg0[1](tmp._value);
2026-07-20 16:05:17 +00:00
}
if (2 === self._state) {
2026-07-29 08:29:29 +00:00
arg0[2](tmp._value);
2026-07-20 16:05:17 +00:00
}
arg0[0] = true;
}
});
}
}
2026-07-29 08:29:29 +00:00
},
{
2026-07-20 16:05:17 +00:00
key: "_runExecutor",
value: function _runExecutor(arg0) {
2026-07-23 10:11:24 +00:00
const self = this;
2026-07-29 08:29:29 +00:00
function resolve(promise) {
2026-07-20 16:05:17 +00:00
if (0 === self._state) {
2026-07-29 08:29:29 +00:00
if (obj2.isThenable(promise)) {
2026-07-20 16:05:17 +00:00
promise.then(resolve, reject);
} else {
2026-07-29 08:29:29 +00:00
obj._state = 1;
obj._value = promise;
obj._executeHandlers();
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj2 = reject(resolve[2]);
2026-07-20 16:05:17 +00:00
}
}
function reject(promise) {
2026-07-29 08:29:29 +00:00
if (0 === self._state) {
if (obj2.isThenable(promise)) {
promise.then(resolve, reject);
} else {
obj._state = 2;
obj._value = promise;
obj._executeHandlers();
}
obj2 = reject(resolve[2]);
}
}
try {
arg0(resolve, reject);
} catch (tmp4) {
tmp(tmp4);
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
}
];
const _moduleResult = _createClass(SyncPromise, items);
let c3 = _moduleResult;
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export const SyncPromise = _moduleResult;
2026-07-20 16:05:17 +00:00
export const rejectedSyncPromise = function rejectedSyncPromise(arg0) {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
2026-07-29 08:29:29 +00:00
return new closure_3((arg0, arg1) => {
2026-07-23 10:11:24 +00:00
arg1(closure_0);
2026-07-20 16:05:17 +00:00
});
};
export const resolvedSyncPromise = function resolvedSyncPromise(arg0) {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
2026-07-29 08:29:29 +00:00
return new closure_3((arg0) => {
2026-07-23 10:11:24 +00:00
arg0(closure_0);
2026-07-20 16:05:17 +00:00
});
};