{"version":3,"file":"noopLogger-2d3d4fea.cjs","sources":["../../src/utils/browserEvents.ts","../../src/noopLogger.ts"],"sourcesContent":["import {TelemetryStore} from '@sanity/telemetry'\n\nconst capture = {capture: true}\n\nfunction listen(target: EventTarget, type: string, cb: () => void) {\n  target.addEventListener(type, cb, capture)\n  return () => target.removeEventListener(type, cb, capture)\n}\n\nexport function onPageHide(listener: () => void) {\n  // prefer pagehide to unload event\n  if ('onpagehide' in window) {\n    return listen(window, 'pagehide', listener)\n  }\n  // only register beforeunload/unload in browsers that don't support\n  // pagehide to avoid breaking bfcache\n  const cleanupUnload = listen(window, 'unload', listener)\n  const cleanupBeforeUnload = listen(window, 'unload', listener)\n  return () => {\n    cleanupUnload()\n    cleanupBeforeUnload()\n  }\n}\n\nexport function onVisibilityHidden(cb: () => void) {\n  return listen(document, 'visibilitychange', () => {\n    if (document.visibilityState === 'hidden') {\n      cb()\n    }\n  })\n}\n\nexport function registerLifecycleEvents(store: TelemetryStore<unknown>) {\n  const unregisterVisibilityHidden = onVisibilityHidden(() => store.flush())\n  const unregisterPageHide = onPageHide(() => store.endWithBeacon())\n  return () => {\n    unregisterPageHide()\n    unregisterVisibilityHidden()\n  }\n}\n","import {DefinedTelemetryTrace, TelemetryLogger, TelemetryTrace} from './types'\n\nfunction createNoopLogger(): TelemetryLogger<unknown> {\n  const logger = {\n    updateUserProperties() {},\n    trace,\n    log,\n  }\n  function trace(\n    telemetryTrace: DefinedTelemetryTrace<unknown, unknown>,\n  ): TelemetryTrace<unknown, unknown> {\n    return {\n      start() {},\n      log(data?: unknown) {},\n      complete() {},\n      newContext(name: string) {\n        return logger\n      },\n      error(error: Error) {},\n      await: (promise: Promise<unknown>) => promise,\n    }\n  }\n\n  function log(event: unknown, data?: unknown) {}\n\n  return logger\n}\n\nexport const noopLogger = createNoopLogger()\n"],"names":["capture","listen","target","type","cb","addEventListener","removeEventListener","onPageHide","listener","window","cleanupUnload","cleanupBeforeUnload","onVisibilityHidden","document","visibilityState","registerLifecycleEvents","store","unregisterVisibilityHidden","flush","unregisterPageHide","endWithBeacon","createNoopLogger","logger","updateUserProperties","trace","log","telemetryTrace","start","data","complete","newContext","name","error","await","promise","event","noopLogger"],"mappings":";;AAEA,MAAMA,OAAA,GAAU;EAACA,OAAA,EAAS;CAAI;AAE9B,SAASC,MAAAA,CAAOC,MAAqB,EAAAC,IAAA,EAAcC,EAAgB,EAAA;EAC1DF,MAAA,CAAAG,gBAAA,CAAiBF,IAAM,EAAAC,EAAA,EAAIJ,OAAO,CAAA;EACzC,OAAO,MAAME,MAAA,CAAOI,mBAAoB,CAAAH,IAAA,EAAMC,IAAIJ,OAAO,CAAA;AAC3D;AAEO,SAASO,WAAWC,QAAsB,EAAA;EAE/C,IAAI,gBAAgBC,MAAQ,EAAA;IACnB,OAAAR,MAAA,CAAOQ,MAAQ,EAAA,UAAA,EAAYD,QAAQ,CAAA;EAC5C;EAGA,MAAME,aAAgB,GAAAT,MAAA,CAAOQ,MAAQ,EAAA,QAAA,EAAUD,QAAQ,CAAA;EACvD,MAAMG,mBAAsB,GAAAV,MAAA,CAAOQ,MAAQ,EAAA,QAAA,EAAUD,QAAQ,CAAA;EAC7D,OAAO,MAAM;IACGE,aAAA,EAAA;IACMC,mBAAA,EAAA;EAAA,CACtB;AACF;AAEO,SAASC,mBAAmBR,EAAgB,EAAA;EAC1C,OAAAH,MAAA,CAAOY,QAAU,EAAA,kBAAA,EAAoB,MAAM;IAC5C,IAAAA,QAAA,CAASC,oBAAoB,QAAU,EAAA;MACtCV,EAAA,EAAA;IACL;EAAA,CACD,CAAA;AACH;AAEO,SAASW,wBAAwBC,KAAgC,EAAA;EACtE,MAAMC,0BAA6B,GAAAL,kBAAA,CAAmB,MAAMI,KAAA,CAAME,MAAO,CAAA,CAAA;EACzE,MAAMC,kBAAqB,GAAAZ,UAAA,CAAW,MAAMS,KAAA,CAAMI,cAAe,CAAA,CAAA;EACjE,OAAO,MAAM;IACQD,kBAAA,EAAA;IACQF,0BAAA,EAAA;EAAA,CAC7B;AACF;ACrCA,SAASI,gBAA6CA,CAAA,EAAA;EACpD,MAAMC,MAAS,GAAA;IACbC,oBAAuBA,CAAA,EAAA,CAAC,CAAA;IACxBC,KAAA;IACAC;EAAA,CACF;EACA,SAASD,MACPE,cACkC,EAAA;IAC3B,OAAA;MACLC,KAAQA,CAAA,EAAA,CAAC,CAAA;MACTF,IAAIG,IAAgB,EAAA,CAAC,CAAA;MACrBC,QAAWA,CAAA,EAAA,CAAC,CAAA;MACZC,WAAWC,IAAc,EAAA;QAChB,OAAAT,MAAA;MACT,CAAA;MACAU,MAAMA,KAAc,EAAA,CAAC,CAAA;MACrBC,KAAA,EAAQC,OAA8B,IAAAA;IAAA,CACxC;EACF;EAES,SAAAT,GAAAA,CAAIU,OAAgBP,IAAgB,EAAA,CAAC;EAEvC,OAAAN,MAAA;AACT;AAEO,MAAMc,aAAaf,gBAAiB,CAAA,CAAA;;;;"}