test: require common deferred callbacks

This commit is contained in:
Peter Steinberger
2026-05-08 19:20:36 +01:00
parent 2f247cf20c
commit 16c54655d3
6 changed files with 29 additions and 11 deletions

View File

@@ -760,12 +760,15 @@ describe("sessions", () => {
});
const createDeferred = <T>() => {
let resolve!: (value: T | PromiseLike<T>) => void;
let reject!: (reason?: unknown) => void;
let resolve: ((value: T | PromiseLike<T>) => void) | undefined;
let reject: ((reason?: unknown) => void) | undefined;
const promise = new Promise<T>((res, rej) => {
resolve = res;
reject = rej;
});
if (!resolve || !reject) {
throw new Error("Expected deferred callbacks to be initialized");
}
return { promise, resolve, reject };
};
const firstStarted = createDeferred<void>();

View File

@@ -6,12 +6,15 @@ import {
} from "./store.js";
const createDeferred = <T>() => {
let resolve!: (value: T | PromiseLike<T>) => void;
let reject!: (reason?: unknown) => void;
let resolve: ((value: T | PromiseLike<T>) => void) | undefined;
let reject: ((reason?: unknown) => void) | undefined;
const promise = new Promise<T>((nextResolve, nextReject) => {
resolve = nextResolve;
reject = nextReject;
});
if (!resolve || !reject) {
throw new Error("Expected deferred callbacks to be initialized");
}
return { promise, resolve, reject };
};

View File

@@ -35,10 +35,13 @@ function createDueRecurringJob(params: {
}
function createDeferred<T>() {
let resolve!: (value: T) => void;
let resolve: ((value: T) => void) | undefined;
const promise = new Promise<T>((res) => {
resolve = res;
});
if (!resolve) {
throw new Error("Expected deferred resolver to be initialized");
}
return { promise, resolve };
}

View File

@@ -33,12 +33,15 @@ let createExecApprovalChannelRuntime: typeof import("./exec-approval-channel-run
let ExecApprovalChannelRuntimeTerminalStartError: typeof import("./exec-approval-channel-runtime.js").ExecApprovalChannelRuntimeTerminalStartError;
function createDeferred<T>() {
let resolve!: (value: T | PromiseLike<T>) => void;
let reject!: (reason?: unknown) => void;
let resolve: ((value: T | PromiseLike<T>) => void) | undefined;
let reject: ((reason?: unknown) => void) | undefined;
const promise = new Promise<T>((promiseResolve, promiseReject) => {
resolve = promiseResolve;
reject = promiseReject;
});
if (!resolve || !reject) {
throw new Error("Expected deferred callbacks to be initialized");
}
return { promise, resolve, reject };
}

View File

@@ -20,12 +20,15 @@ const drainSessionStoreWriterQueuesMock = vi.hoisted(() => vi.fn(async () => und
const drainSessionWriteLockStateMock = vi.hoisted(() => vi.fn(async () => undefined));
function createDeferred<T>() {
let resolve!: (value: T | PromiseLike<T>) => void;
let reject!: (reason?: unknown) => void;
let resolve: ((value: T | PromiseLike<T>) => void) | undefined;
let reject: ((reason?: unknown) => void) | undefined;
const promise = new Promise<T>((nextResolve, nextReject) => {
resolve = nextResolve;
reject = nextReject;
});
if (!resolve || !reject) {
throw new Error("Expected deferred callbacks to be initialized");
}
return { promise, resolve, reject };
}

View File

@@ -113,12 +113,15 @@ vi.mock("../gateway/server-methods/agent-timestamp.js", () => ({
}));
function deferred<T>() {
let resolve!: (value: T) => void;
let reject!: (error?: unknown) => void;
let resolve: ((value: T) => void) | undefined;
let reject: ((error?: unknown) => void) | undefined;
const promise = new Promise<T>((res, rej) => {
resolve = res;
reject = rej;
});
if (!resolve || !reject) {
throw new Error("Expected deferred callbacks to be initialized");
}
return { promise, resolve, reject };
}