openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
16 lines (15 loc) • 692 B
JavaScript
import { o as racePromiseWithAbortSignal } from "./src-D1BHGNTj.mjs";
import "./abort-signal-QqAmLWTl.mjs";
//#region src/gateway/worker-environments/node-worker-abort.ts
function raceNodeWorkerOperation(operation, signal, messages = {
aborted: "node worker operation aborted",
failed: "node worker operation failed"
}) {
if (!signal) return operation;
const abortError = () => signal.reason instanceof Error ? signal.reason : new Error(messages.aborted);
return racePromiseWithAbortSignal(operation, signal, abortError).catch((error) => {
throw error instanceof Error ? error : new Error(messages.failed ?? String(error));
});
}
//#endregion
export { raceNodeWorkerOperation as t };