UNPKG

@rrweb/packer

Version:

`@rrweb/packer` is a tool to compress rrweb events into a smaller size.

8 lines (7 loc) 1.52 kB
{ "version": 3, "sources": ["../src/unpack.ts"], "sourcesContent": ["import { strFromU8, strToU8, unzlibSync } from 'fflate';\nimport { type eventWithTimeAndPacker, MARK } from './base';\nimport type { UnpackFn, eventWithTime } from '@rrweb/types';\n\nexport const unpack: UnpackFn = (raw: string) => {\n if (typeof raw !== 'string') {\n return raw;\n }\n try {\n const e: eventWithTime = JSON.parse(raw) as eventWithTime;\n if (e.timestamp) {\n return e;\n }\n } catch (error) {\n // ignore and continue\n }\n try {\n const e: eventWithTimeAndPacker = JSON.parse(\n strFromU8(unzlibSync(strToU8(raw, true))),\n ) as eventWithTimeAndPacker;\n if (e.v === MARK) {\n return e;\n }\n throw new Error(\n `These events were packed with packer ${e.v} which is incompatible with current packer ${MARK}.`,\n );\n } catch (error) {\n console.error(error);\n throw new Error('Unknown data format.');\n }\n};\n"], "mappings": ";;;;;;;;;;;;;uHAIaA,EAAoBC,GAAgB,CAC3C,GAAA,OAAOA,GAAQ,SACV,OAAAA,EAEL,GAAA,CACI,MAAAC,EAAmB,KAAK,MAAMD,CAAG,EACvC,GAAIC,EAAE,UACG,OAAAA,CACT,OACOC,EAAO,CAEhB,CACI,GAAA,CACF,MAAMD,EAA4B,KAAK,MACrCE,EAAAA,UAAUC,EAAAA,WAAWC,EAAAA,QAAQL,EAAK,EAAI,CAAC,CAAC,CAAA,EAEtC,GAAAC,EAAE,IAAMK,EAAAA,KACH,OAAAL,EAET,MAAM,IAAI,MACR,wCAAwCA,EAAE,CAAC,8CAA8CK,EAAAA,IAAI,GAAA,CAAA,OAExFJ,EAAO,CACd,cAAQ,MAAMA,CAAK,EACb,IAAI,MAAM,sBAAsB,CACxC,CACF", "names": ["unpack", "raw", "e", "error", "strFromU8", "unzlibSync", "strToU8", "MARK"] }