MCPcopy Create free account
hub / github.com/Snapchat/Valdi / getDeferred

Function getDeferred

valdi/vscode_debugger/src/common/promiseUtil.ts:38–65  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

36}
37
38export function getDeferred<T>(): IDeferred<T> {
39 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
40 let resolve: IDeferred<T>['resolve'] = null!;
41
42 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
43 let reject: IDeferred<T>['reject'] = null!;
44
45 let settled = false;
46
47 // Promise constructor is called synchronously
48 const promise = new Promise<T>((_resolve, _reject) => {
49 resolve = (value: T) => {
50 settled = true;
51 _resolve(value);
52 };
53 reject = (error: Error) => {
54 settled = true;
55 _reject(error);
56 };
57 });
58
59 return {
60 resolve,
61 reject,
62 promise,
63 hasSettled: () => settled,
64 };
65}

Callers 15

createSessionMethod · 0.90
setupCRAFunction · 0.90
startDevServerFunction · 0.90
getWebviewPortMethod · 0.90
launchBrowserMethod · 0.90
timeoutPromiseFunction · 0.90
sendFunction · 0.90
DeferredContainerClass · 0.90
_claimOutputSlotMethod · 0.90
_addSourceMethod · 0.90
constructorMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected