@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
71 lines (69 loc) • 1.56 kB
JavaScript
/**
* 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