1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-18 02:19:18 +00:00
Files
browser/apps/desktop/native-messaging-test-runner/src/deferred.ts
Robyn MacCallum a005921c40 Fix DDG Native Messaging Test Runner Errors (#18355)
* Fix TS errors

* sdk loader mock

* Downgrade packages to be CommonJS-compatible

* Fix formattinmg

* Move logs to service

* package lock fixes
2026-01-20 14:35:32 -05:00

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;
}
}