Skip to content

Commit a33ba35

Browse files
committed
refactor: move helper function down
1 parent a63d4ed commit a33ba35

1 file changed

Lines changed: 19 additions & 18 deletions

File tree

ai-server/src/mastra/tools/book-flight.ts

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,6 @@ import {
88
} from '../data/booked-flights-store.js';
99
import { formatFlightDate } from '../utils/format-date.js';
1010

11-
function abortableDelay(ms: number, signal?: AbortSignal): Promise<void> {
12-
return new Promise((resolve, reject) => {
13-
if (signal?.aborted) {
14-
reject(new DOMException('Aborted', 'AbortError'));
15-
return;
16-
}
17-
const timeout = setTimeout(() => {
18-
signal?.removeEventListener('abort', onAbort);
19-
resolve();
20-
}, ms);
21-
const onAbort = (): void => {
22-
clearTimeout(timeout);
23-
reject(new DOMException('Aborted', 'AbortError'));
24-
};
25-
signal?.addEventListener('abort', onAbort, { once: true });
26-
});
27-
}
28-
2911
const flightSchema = z.object({
3012
id: z.number(),
3113
from: z.string(),
@@ -93,3 +75,22 @@ export const bookFlightTool = createTool({
9375
};
9476
},
9577
});
78+
79+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
80+
function abortableDelay(ms: number, signal?: AbortSignal): Promise<void> {
81+
return new Promise((resolve, reject) => {
82+
if (signal?.aborted) {
83+
reject(new DOMException('Aborted', 'AbortError'));
84+
return;
85+
}
86+
const timeout = setTimeout(() => {
87+
signal?.removeEventListener('abort', onAbort);
88+
resolve();
89+
}, ms);
90+
const onAbort = (): void => {
91+
clearTimeout(timeout);
92+
reject(new DOMException('Aborted', 'AbortError'));
93+
};
94+
signal?.addEventListener('abort', onAbort, { once: true });
95+
});
96+
}

0 commit comments

Comments
 (0)