Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | 538x 190x 609x 95x 91x 91x 307x 278x 13x 382x | export function objectValue(value: unknown): Record<string, unknown> | null {
return value && typeof value === "object" && !Array.isArray(value)
? (value as Record<string, unknown>)
: null;
}
export function arrayValue(value: unknown): unknown[] {
return Array.isArray(value) ? value : [];
}
export function stringField(value: unknown) {
return value == null ? "" : String(value);
}
export function numberLikeValue(value: unknown) {
return typeof value === "number" || typeof value === "string" ? value : null;
}
export function numericField(value: unknown) {
if (value == null || value === "") return null;
const parsed = Number(value);
return Number.isFinite(parsed) ? parsed : null;
}
export function scalarValue(value: unknown): string | number | boolean | null {
if (value == null) return null;
if (
typeof value === "string" ||
typeof value === "number" ||
typeof value === "boolean"
) {
return value;
}
return String(value);
}
export function numberValue(value: unknown) {
return numericField(value);
}
export function slugKey(value: string) {
return value.toLowerCase().replace(/[^a-z0-9]+/g, "-");
}
export function isPresent<T>(value: T | null | undefined): value is T {
return value != null;
}
|