test: require common deferred callbacks · openclaw/openclaw@16c5465
steipete
·
2026-05-09
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -760,12 +760,15 @@ describe("sessions", () => {
|
760 | 760 | }); |
761 | 761 | |
762 | 762 | const createDeferred = <T>() => { |
763 | | -let resolve!: (value: T | PromiseLike<T>) => void; |
764 | | -let reject!: (reason?: unknown) => void; |
| 763 | +let resolve: ((value: T | PromiseLike<T>) => void) | undefined; |
| 764 | +let reject: ((reason?: unknown) => void) | undefined; |
765 | 765 | const promise = new Promise<T>((res, rej) => { |
766 | 766 | resolve = res; |
767 | 767 | reject = rej; |
768 | 768 | }); |
| 769 | +if (!resolve || !reject) { |
| 770 | +throw new Error("Expected deferred callbacks to be initialized"); |
| 771 | +} |
769 | 772 | return { promise, resolve, reject }; |
770 | 773 | }; |
771 | 774 | const firstStarted = createDeferred<void>(); |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -6,12 +6,15 @@ import {
|
6 | 6 | } from "./store.js"; |
7 | 7 | |
8 | 8 | const createDeferred = <T>() => { |
9 | | -let resolve!: (value: T | PromiseLike<T>) => void; |
10 | | -let reject!: (reason?: unknown) => void; |
| 9 | +let resolve: ((value: T | PromiseLike<T>) => void) | undefined; |
| 10 | +let reject: ((reason?: unknown) => void) | undefined; |
11 | 11 | const promise = new Promise<T>((nextResolve, nextReject) => { |
12 | 12 | resolve = nextResolve; |
13 | 13 | reject = nextReject; |
14 | 14 | }); |
| 15 | +if (!resolve || !reject) { |
| 16 | +throw new Error("Expected deferred callbacks to be initialized"); |
| 17 | +} |
15 | 18 | return { promise, resolve, reject }; |
16 | 19 | }; |
17 | 20 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -35,10 +35,13 @@ function createDueRecurringJob(params: {
|
35 | 35 | } |
36 | 36 | |
37 | 37 | function createDeferred<T>() { |
38 | | -let resolve!: (value: T) => void; |
| 38 | +let resolve: ((value: T) => void) | undefined; |
39 | 39 | const promise = new Promise<T>((res) => { |
40 | 40 | resolve = res; |
41 | 41 | }); |
| 42 | +if (!resolve) { |
| 43 | +throw new Error("Expected deferred resolver to be initialized"); |
| 44 | +} |
42 | 45 | return { promise, resolve }; |
43 | 46 | } |
44 | 47 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -33,12 +33,15 @@ let createExecApprovalChannelRuntime: typeof import("./exec-approval-channel-run
|
33 | 33 | let ExecApprovalChannelRuntimeTerminalStartError: typeof import("./exec-approval-channel-runtime.js").ExecApprovalChannelRuntimeTerminalStartError; |
34 | 34 | |
35 | 35 | function createDeferred<T>() { |
36 | | -let resolve!: (value: T | PromiseLike<T>) => void; |
37 | | -let reject!: (reason?: unknown) => void; |
| 36 | +let resolve: ((value: T | PromiseLike<T>) => void) | undefined; |
| 37 | +let reject: ((reason?: unknown) => void) | undefined; |
38 | 38 | const promise = new Promise<T>((promiseResolve, promiseReject) => { |
39 | 39 | resolve = promiseResolve; |
40 | 40 | reject = promiseReject; |
41 | 41 | }); |
| 42 | +if (!resolve || !reject) { |
| 43 | +throw new Error("Expected deferred callbacks to be initialized"); |
| 44 | +} |
42 | 45 | return { promise, resolve, reject }; |
43 | 46 | } |
44 | 47 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -20,12 +20,15 @@ const drainSessionStoreWriterQueuesMock = vi.hoisted(() => vi.fn(async () => und
|
20 | 20 | const drainSessionWriteLockStateMock = vi.hoisted(() => vi.fn(async () => undefined)); |
21 | 21 | |
22 | 22 | function createDeferred<T>() { |
23 | | -let resolve!: (value: T | PromiseLike<T>) => void; |
24 | | -let reject!: (reason?: unknown) => void; |
| 23 | +let resolve: ((value: T | PromiseLike<T>) => void) | undefined; |
| 24 | +let reject: ((reason?: unknown) => void) | undefined; |
25 | 25 | const promise = new Promise<T>((nextResolve, nextReject) => { |
26 | 26 | resolve = nextResolve; |
27 | 27 | reject = nextReject; |
28 | 28 | }); |
| 29 | +if (!resolve || !reject) { |
| 30 | +throw new Error("Expected deferred callbacks to be initialized"); |
| 31 | +} |
29 | 32 | return { promise, resolve, reject }; |
30 | 33 | } |
31 | 34 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -113,12 +113,15 @@ vi.mock("../gateway/server-methods/agent-timestamp.js", () => ({
|
113 | 113 | })); |
114 | 114 | |
115 | 115 | function deferred<T>() { |
116 | | -let resolve!: (value: T) => void; |
117 | | -let reject!: (error?: unknown) => void; |
| 116 | +let resolve: ((value: T) => void) | undefined; |
| 117 | +let reject: ((error?: unknown) => void) | undefined; |
118 | 118 | const promise = new Promise<T>((res, rej) => { |
119 | 119 | resolve = res; |
120 | 120 | reject = rej; |
121 | 121 | }); |
| 122 | +if (!resolve || !reject) { |
| 123 | +throw new Error("Expected deferred callbacks to be initialized"); |
| 124 | +} |
122 | 125 | return { promise, resolve, reject }; |
123 | 126 | } |
124 | 127 | |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。