Move to websocket for requests to signal server
This commit is contained in:
parent
8449f343a6
commit
1c1d0e2da0
31 changed files with 1892 additions and 1336 deletions
25
ts/util/explodePromise.ts
Normal file
25
ts/util/explodePromise.ts
Normal file
|
@ -0,0 +1,25 @@
|
|||
// Copyright 2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
export function explodePromise<T>(): {
|
||||
promise: Promise<T>;
|
||||
resolve: (value: T) => void;
|
||||
reject: (error: Error) => void;
|
||||
} {
|
||||
let resolve: (value: T) => void;
|
||||
let reject: (error: Error) => void;
|
||||
|
||||
const promise = new Promise<T>((innerResolve, innerReject) => {
|
||||
resolve = innerResolve;
|
||||
reject = innerReject;
|
||||
});
|
||||
|
||||
return {
|
||||
promise,
|
||||
// Typescript thinks that resolve and reject can be undefined here.
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
resolve: resolve!,
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
reject: reject!,
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue