export function requireInRange(value: number, min: number, max: number, label: string): void { if (!Number.isFinite(value) || value < min || value > max) { thrownew Error(`${label} must be between ${min} and ${max}`);
}
}
export function normalizeLanguageCode(code?: string): string | undefined { const normalized = normalizeOptionalLowercaseString(code); if (!normalized) { return undefined;
} if (!/^[a-z]{2}$/.test(normalized)) { thrownew Error("languageCode must be a 2-letter ISO 639-1 code (e.g. en, de, fr)");
} return normalized;
}
export function normalizeApplyTextNormalization(mode?: string): "auto" | "on" | "off" | undefined { const normalized = normalizeOptionalLowercaseString(mode); if (!normalized) { return undefined;
} if (normalized === "auto" || normalized === "on" || normalized === "off") { return normalized;
} thrownew Error("applyTextNormalization must be one of: auto, on, off");
}
export function normalizeSeed(seed?: number): number | undefined { if (seed == null) { return undefined;
} const next = Math.floor(seed); if (!Number.isFinite(next) || next < 0 || next > 4_294_967_295) { thrownew Error("seed must be between 0 and 4294967295");
} return next;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.