UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

71 lines (69 loc) 1.56 kB
/** * The deferred class based on native Promise. */ export class NativeDeferred { /** * The native promise. */ promise; /** * Resolve callback of the deferred object. */ resolve; /** * Reject callback of the deferred object. */ reject; /** * Is fulfilled tracked status. */ isFulfilled = false; /** * Is pending tracked status. */ isPending = true; /** * Initializes a new instance of the NativeDeferred class. */ constructor() { this.promise = new Promise((resolve, reject) => { this.resolve = (data) => { resolve(data); this.isFulfilled = true; this.isPending = false; }; this.reject = (error) => { reject(error); this.isPending = false; }; }); } } /** * Native Q to attach on native Promise. */ export class NativeQ { /** * Create native deferred object. */ static defer() { return new NativeDeferred(); } /** * Create rejected native deferred object. */ static rejected(reason) { const deferred = new NativeDeferred(); deferred.reject(reason); return deferred.promise; } /** * Create resolved native deferred object. */ static resolved(data) { const deferred = new NativeDeferred(); deferred.resolve(data); return deferred.promise; } } //# sourceMappingURL=native-q.js.map