foxygit / RPA-Remisser Log in
commits tags

/webui/frontend/src/lib/runvars.ts · 1.06 KB

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