website_next: part 3

This commit is contained in:
nym21
2026-07-06 11:15:39 +02:00
parent eee1a10d2a
commit 3f9edb211e
103 changed files with 1829 additions and 2040 deletions
+28
View File
@@ -0,0 +1,28 @@
/** @param {unknown} value */
export function readObject(value) {
return value && typeof value === "object"
? /** @type {Record<string, unknown>} */ (value)
: undefined;
}
/** @param {unknown} value */
export function readNumber(value) {
return typeof value === "number" && Number.isFinite(value)
? value
: undefined;
}
/** @param {unknown} value */
export function readString(value) {
return typeof value === "string" ? value : undefined;
}
/**
* @param {unknown} value
* @param {string} key
*/
export function readArray(value, key) {
const array = readObject(value)?.[key];
return Array.isArray(array) ? array : [];
}