{"version":3,"file":"unpack.cjs","sources":["../src/unpack.ts"],"sourcesContent":["import type { UnpackFn, eventWithTime } from '@amplitude/rrweb-types';\nimport { strFromU8, strToU8, unzlibSync } from 'fflate';\nimport { type eventWithTimeAndPacker, MARK } from './base';\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"],"names":["strFromU8","unzlibSync","strToU8","MARK"],"mappings":";;;AAIO,MAAM,SAAmB,CAAC,QAAgB;AAC/C,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO;AAAA,EACT;AACA,MAAI;AACF,UAAM,IAAmB,KAAK,MAAM,GAAG;AACvC,QAAI,EAAE,WAAW;AACf,aAAO;AAAA,IACT;AAAA,EACF,SAAS,OAAO;AAAA,EAEhB;AACA,MAAI;AACF,UAAM,IAA4B,KAAK;AAAA,MACrCA,KAAAA,UAAUC,KAAAA,WAAWC,KAAAA,QAAQ,KAAK,IAAI,CAAC,CAAC;AAAA,IAAA;AAE1C,QAAI,EAAE,MAAMC,WAAM;AAChB,aAAO;AAAA,IACT;AACA,UAAM,IAAI;AAAA,MACR,wCAAwC,EAAE,CAAC,8CAA8CA,KAAAA,IAAI;AAAA,IAAA;AAAA,EAEjG,SAAS,OAAO;AACd,YAAQ,MAAM,KAAK;AACnB,UAAM,IAAI,MAAM,sBAAsB;AAAA,EACxC;AACF;;"}