UNPKG

async-injection

Version:

A robust lightweight dependency injection library for TypeScript.

47 lines 1.2 kB
import { isPromise } from './utils.js'; /** * Internal class that allows us to track the state of a promise (chain). */ export class State { static MakeState(promise, rejected, fulfilled) { const retVal = new State(); if (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; } } //# sourceMappingURL=state.js.map