Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
type ApproverInput = string | number;
function dedupeDefined(values: Array<string | undefined>): string[] {
const resolved = new Set<string>();
for (const value of values) {
if (!value) {
continue;
}
resolved.add(value);
}
return [...resolved];
}
export function resolveApprovalApprovers(params: {
explicit?: readonly ApproverInput[] | null;
allowFrom?: readonly ApproverInput[] | null;
extraAllowFrom?: readonly ApproverInput[] | null;
defaultTo?: string | null;
normalizeApprover: (value: ApproverInput) => string | undefined;
normalizeDefaultTo?: (value: string) => string | undefined;
}): string[] {
const explicit = dedupeDefined(
(params.explicit ?? []).map((entry) => params.normalizeApprover(entry)),
);
if (explicit.length > 0) {
return explicit;
}
const inferred = dedupeDefined([
...(params.allowFrom ?? []).map((entry) => params.normalizeApprover(entry)),
...(params.extraAllowFrom ?? []).map((entry) => params.normalizeApprover(entry)),
...(params.defaultTo?.trim()
? [
(params.normalizeDefaultTo ?? ((value: string) => params.normalizeApprover(value)))(
params.defaultTo.trim(),
),
]
: []),
]);
return inferred;
}
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland