// Keep this local so browser bundles do not pull in src/utils.ts and its Node-only side effects. function isRecord(value: unknown): value is Record { return value !== null && typeof value === "object" && !Array.isArray(value); } export function asRecord(value: unknown): Record { return typeof value === "object" && value !== null ? (value as Record) : {}; } export function readStringField( record: Record | null | undefined, key: string, ): string | undefined { const value = record?.[key]; return typeof value === "string" ? value : undefined; } export function asOptionalRecord(value: unknown): Record | undefined { return isRecord(value) ? value : undefined; } export function asNullableRecord(value: unknown): Record | null { return isRecord(value) ? value : null; } export function asOptionalObjectRecord(value: unknown): Record | undefined { return value && typeof value === "object" ? (value as Record) : undefined; } export function asNullableObjectRecord(value: unknown): Record | null { return value && typeof value === "object" ? (value as Record) : null; }