{"version":3,"sources":["../../src/browser/serialization.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Buffer } from 'buffer';\nimport Decimal from 'decimal.js-light';\nimport SuperJSON from 'superjson';\n\nSuperJSON.registerCustom<Decimal, string>(\n    {\n        isApplicable: (v): v is Decimal =>\n            v instanceof Decimal ||\n            // interop with decimal.js\n            v?.toStringTag === '[object Decimal]',\n        serialize: (v) => v.toJSON(),\n        deserialize: (v) => new Decimal(v),\n    },\n    'Decimal'\n);\n\nSuperJSON.registerCustom<Buffer, string>(\n    {\n        isApplicable: (v): v is Buffer => Buffer.isBuffer(v),\n        serialize: (v) => v.toString('base64'),\n        deserialize: (v) => Buffer.from(v, 'base64'),\n    },\n    'Bytes'\n);\n\n/**\n * Serialize the given value with superjson\n */\nexport function serialize(value: unknown): { data: unknown; meta: unknown } {\n    const { json, meta } = SuperJSON.serialize(value);\n    return { data: json, meta };\n}\n\n/**\n * Deserialize the given value with superjson using the given metadata\n */\nexport function deserialize(value: unknown, meta: any): unknown {\n    return SuperJSON.deserialize({ json: value as any, meta });\n}\n"],"mappings":";AACA,SAAS,cAAc;AACvB,OAAO,aAAa;AACpB,OAAO,eAAe;AAEtB,UAAU;AAAA,EACN;AAAA,IACI,cAAc,CAAC,MACX,aAAa;AAAA,KAEb,uBAAG,iBAAgB;AAAA,IACvB,WAAW,CAAC,MAAM,EAAE,OAAO;AAAA,IAC3B,aAAa,CAAC,MAAM,IAAI,QAAQ,CAAC;AAAA,EACrC;AAAA,EACA;AACJ;AAEA,UAAU;AAAA,EACN;AAAA,IACI,cAAc,CAAC,MAAmB,OAAO,SAAS,CAAC;AAAA,IACnD,WAAW,CAAC,MAAM,EAAE,SAAS,QAAQ;AAAA,IACrC,aAAa,CAAC,MAAM,OAAO,KAAK,GAAG,QAAQ;AAAA,EAC/C;AAAA,EACA;AACJ;AAKO,SAAS,UAAU,OAAkD;AACxE,QAAM,EAAE,MAAM,KAAK,IAAI,UAAU,UAAU,KAAK;AAChD,SAAO,EAAE,MAAM,MAAM,KAAK;AAC9B;AAKO,SAAS,YAAY,OAAgB,MAAoB;AAC5D,SAAO,UAAU,YAAY,EAAE,MAAM,OAAc,KAAK,CAAC;AAC7D;","names":[]}