MCPcopy Index your code
hub / github.com/coder/mux / waitForAbortable

Function waitForAbortable

src/node/runtime/SSH2ConnectionPool.ts:65–86  ·  view source on GitHub ↗
(promise: Promise<T>, abortSignal?: AbortSignal)

Source from the content-addressed store, hash-verified

63}
64
65function waitForAbortable<T>(promise: Promise<T>, abortSignal?: AbortSignal): Promise<T> {
66 if (!abortSignal) return promise;
67 if (abortSignal.aborted) return Promise.reject(new Error(SSH2_OPERATION_ABORTED_ERROR));
68
69 return new Promise<T>((resolve, reject) => {
70 const onAbort = () => {
71 abortSignal.removeEventListener("abort", onAbort);
72 reject(new Error(SSH2_OPERATION_ABORTED_ERROR));
73 };
74 abortSignal.addEventListener("abort", onAbort, { once: true });
75 void promise.then(
76 (value) => {
77 abortSignal.removeEventListener("abort", onAbort);
78 resolve(value);
79 },
80 (error: unknown) => {
81 abortSignal.removeEventListener("abort", onAbort);
82 reject(error instanceof Error ? error : new Error(String(error)));
83 }
84 );
85 });
86}
87
88function getAgentConfig(): string | undefined {
89 if (process.env.SSH_AUTH_SOCK) {

Callers 1

acquireConnectionMethod · 0.85

Calls 4

rejectFunction · 0.85
removeEventListenerMethod · 0.80
resolveFunction · 0.50
addEventListenerMethod · 0.45

Tested by

no test coverage detected