| // 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; | |
| } | |
| } | |