refactor: dedupe thread id normalizers

This commit is contained in:
Peter Steinberger
2026-04-07 09:57:48 +01:00
parent edfc8eb91a
commit 255abc57b9
10 changed files with 43 additions and 89 deletions

View File

@@ -24,6 +24,18 @@ export function resolvePrimaryStringValue(value: unknown): string | undefined {
return normalizeOptionalString((value as { primary?: unknown }).primary);
}
export function normalizeOptionalThreadValue(value: unknown): string | number | undefined {
if (typeof value === "number") {
return Number.isFinite(value) ? Math.trunc(value) : undefined;
}
return normalizeOptionalString(value);
}
export function normalizeOptionalStringifiedId(value: unknown): string | undefined {
const normalized = normalizeOptionalThreadValue(value);
return normalized == null ? undefined : String(normalized);
}
export function hasNonEmptyString(value: unknown): value is string {
return normalizeOptionalString(value) !== undefined;
}