commits
tags
import type { FlowInput } from "./api";
export function parseOptions(opt?: string): string[] {
return (opt ?? "")
.split(",")
.map((s) => s.trim())
.filter(Boolean);
}
/** Standardvärden ur flödets deklarerade inputs. */
export function defaultsFor(inputs: FlowInput[]): Record<string, string> {
const out: Record<string, string> = {};
for (const i of inputs) {
if (i.name && i.default != null && i.default !== "") out[i.name] = String(i.default);
}
return out;
}
/** Slår ihop fältvärdena med ad-hoc-raderna (ad-hoc vinner). */
export function resolveRunVars(
fieldValues: Record<string, string>,
adhoc: { name: string; value: string }[],
): Record<string, string> {
const out: Record<string, string> = { ...fieldValues };
for (const a of adhoc) {
const n = a.name.trim();
if (n) out[n] = a.value;
}
return out;
}
export function flowHasRunParams(flow: {
inputs?: FlowInput[];
input_sets?: Record<string, unknown>;
}): boolean {
return (flow.inputs?.length ?? 0) > 0 || Object.keys(flow.input_sets ?? {}).length > 0;
}