UNPKG

async-injection

Version:

A robust lightweight dependency injection library for TypeScript.

51 lines 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.State = void 0; const utils_js_1 = require("./utils.js"); /** * Internal class that allows us to track the state of a promise (chain). */ class State { static MakeState(promise, rejected, fulfilled) { const retVal = new State(); if ((0, utils_js_1.isPromise)(promise)) { retVal._pending = true; retVal._promise = promise.then((v) => { retVal._fulfilled = v; retVal._pending = false; return v; }, (e) => { retVal._rejected = e; retVal._pending = false; throw e; }); } else { retVal._pending = false; if (rejected) { retVal._rejected = rejected; } else { retVal._fulfilled = fulfilled; } retVal._promise = null; } return retVal; } constructor() { } get promise() { return this._promise; } get pending() { return this._pending; } get fulfilled() { return this._fulfilled; } get rejected() { return this._rejected; } } exports.State = State; //# sourceMappingURL=state.js.map