assistant-stream
Version:
Streaming utilities for AI assistants
11 lines (10 loc) • 375 B
text/typescript
export const promiseWithResolvers = <T>() => {
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("Failed to create promise");
return { promise, resolve, reject };
};