UNPKG

tupleson

Version:

A hackable JSON serializer/deserializer

1 lines 800 B
{"version":3,"sources":["../../../src/sync/handlers/tsonNumberGuard.ts"],"sourcesContent":["import { TsonType } from \"../syncTypes.js\";\n\n/**\n * Prevents `NaN` and `Infinity` from being serialized\n */\n\nexport const tsonNumberGuard: TsonType<number, number> = {\n\tprimitive: \"number\",\n\ttest: (v) => {\n\t\tconst value = v as number;\n\t\tif (isNaN(value)) {\n\t\t\tthrow new Error(\"Encountered NaN\");\n\t\t}\n\n\t\tif (!isFinite(value)) {\n\t\t\tthrow new Error(\"Encountered Infinity\");\n\t\t}\n\n\t\treturn false;\n\t},\n};\n"],"mappings":"AAMO,MAAM,kBAA4C;AAAA,EACxD,WAAW;AAAA,EACX,MAAM,CAAC,MAAM;AACZ,UAAM,QAAQ;AACd,QAAI,MAAM,KAAK,GAAG;AACjB,YAAM,IAAI,MAAM,iBAAiB;AAAA,IAClC;AAEA,QAAI,CAAC,SAAS,KAAK,GAAG;AACrB,YAAM,IAAI,MAAM,sBAAsB;AAAA,IACvC;AAEA,WAAO;AAAA,EACR;AACD;","names":[]}