返回 DeepSeek-Reasonix
params.ts
根目录 / desktop / electron / src / main / params.ts
1 export type Params = Record<string, unknown>;
2
3 export function record(value: unknown): Params {
4 return typeof value === "object" && value !== null && !Array.isArray(value) ? (value as Params) : {};
5 }
6
7 export function str(params: Params, key: string, fallback = ""): string {
8 const value = params[key];
9 return typeof value === "string" ? value : fallback;
10 }
11
12 export function num(params: Params, key: string, fallback = 0): number {
13 const value = params[key];
14 return typeof value === "number" && Number.isFinite(value) ? value : fallback;
15 }
16
17 export function bool(params: Params, key: string, fallback = false): boolean {
18 const value = params[key];
19 return typeof value === "boolean" ? value : fallback;
20 }
21
22 export function strList(params: Params, key: string): string[] {
23 const value = params[key];
24 return Array.isArray(value) ? value.filter((entry): entry is string => typeof entry === "string") : [];
25 }
26
27 export function finite(value: unknown, fallback = 0): number {
28 return typeof value === "number" && Number.isFinite(value) ? value : fallback;
29 }
30
30 lines TYPESCRIPT