UNPKG

typia

Version:

Superfast runtime validators with only one line

30 lines (24 loc) 704 B
export const boolean = (value: string) => value !== "null" ? value === "true" || value === "1" ? true : value === "false" || value === "0" ? false : value : null; export const bigint = (value: string) => value !== "null" ? toBigint(value) : null; export const number = (value: string) => value !== "null" ? toNumber(value) : null; export const string = (value: string) => (value !== "null" ? value : null); const toNumber = (str: string): number | string => { const value: number = Number(str); return isNaN(value) ? str : value; }; const toBigint = (str: string): bigint | string => { try { return BigInt(str); } catch { return str; } };