mirror of
https://github.com/bitwarden/browser
synced 2026-02-18 02:19:18 +00:00
* Fix TS errors * sdk loader mock * Downgrade packages to be CommonJS-compatible * Fix formattinmg * Move logs to service * package lock fixes
29 lines
699 B
TypeScript
29 lines
699 B
TypeScript
// FIXME: Update this file to be type safe and remove this and next line
|
|
// @ts-strict-ignore
|
|
// Wrapper for a promise that we can await the promise in one case
|
|
// while allowing an unrelated event to fulfill it elsewhere.
|
|
export default class Deferred<T> {
|
|
private promise: Promise<T>;
|
|
private resolver!: (value?: T) => void;
|
|
private rejecter!: (reason?: Error) => void;
|
|
|
|
constructor() {
|
|
this.promise = new Promise<T>((resolve, reject) => {
|
|
this.resolver = resolve;
|
|
this.rejecter = reject;
|
|
});
|
|
}
|
|
|
|
resolve(value?: T) {
|
|
this.resolver(value);
|
|
}
|
|
|
|
reject(error?: Error) {
|
|
this.rejecter(error);
|
|
}
|
|
|
|
getPromise(): Promise<T> {
|
|
return this.promise;
|
|
}
|
|
}
|