UNPKG

tupleson

Version:

A hackable JSON serializer/deserializer

22 lines (17 loc) 399 B
import { TsonType } from "../syncTypes.js"; /** * Prevents `NaN` and `Infinity` from being serialized */ export const tsonNumberGuard: TsonType<number, number> = { primitive: "number", test: (v) => { const value = v as number; if (isNaN(value)) { throw new Error("Encountered NaN"); } if (!isFinite(value)) { throw new Error("Encountered Infinity"); } return false; }, };