9router / open-sse /rtk /applyFilter.js
2api
feat: configurable stream stall timeout + per-provider UI
88c4c60
Raw
History Blame Contribute Delete
628 Bytes
// Port of apply_filter (rtk/src/cmds/system/pipe_cmd.rs) β€” catch_unwind equivalent
// On panic/error: passthrough raw output + warn to stderr
export function safeApply(fn, text) {
if (typeof fn !== "function") return text;
try {
const out = fn(text);
if (typeof out !== "string") return text;
return out;
} catch (err) {
// Rust: eprintln!("[rtk] warning: filter panicked β€” passing through raw output")
const name = fn.filterName || fn.name || "anonymous";
console.warn(`[rtk] warning: filter '${name}' panicked β€” passing through raw output: ${err?.message || err}`);
return text;
}
}