{"version":3,"file":"toggle-vercel-protection-bypass.cjs","sources":["../src/toggleVercelProtectionBypass.ts"],"sourcesContent":["import type {SanityClient, SyncTag} from '@sanity/client'\nimport {fetchVercelProtectionBypassSecret} from './constants'\nimport type {SanityClientLike} from './types'\n\n/** @internal */\nexport function subscribeToVercelProtectionBypass(\n  client: SanityClient,\n  onChange: (secret: string | null) => void,\n): () => void {\n  let controller = new AbortController()\n  let usedTags: SyncTag[] = []\n  async function fetchSecret(lastLiveEventId: string | null, signal: AbortSignal) {\n    const {result, syncTags} = await client.fetch<string | null>(\n      fetchVercelProtectionBypassSecret,\n      {},\n      {\n        filterResponse: false,\n        lastLiveEventId,\n        tag: 'preview-url-secret.fetch-vercel-bypass-protection-secret',\n      },\n    )\n    if (Array.isArray(syncTags)) {\n      usedTags = syncTags\n    }\n    if (!signal.aborted) {\n      onChange(result)\n    }\n  }\n  const subscription = client.live.events().subscribe({\n    next: (event) => {\n      if (event.type === 'message') {\n        controller.abort()\n        controller = new AbortController()\n        if (event.tags.some((tag) => usedTags.includes(tag))) {\n          fetchSecret(event.id, controller.signal)\n        }\n      }\n    },\n    // eslint-disable-next-line no-console\n    error: (reason) => console.error(reason),\n  })\n\n  fetchSecret(null, controller.signal)\n\n  return () => {\n    subscription.unsubscribe()\n    controller.abort()\n  }\n}\n\nexport type {SanityClientLike}\n"],"names":["fetchVercelProtectionBypassSecret"],"mappings":";;;AAKO,SAAS,kCACd,QACA,UACY;AACZ,MAAI,aAAa,IAAI,gBAAA,GACjB,WAAsB,CAAA;AAC1B,iBAAe,YAAY,iBAAgC,QAAqB;AAC9E,UAAM,EAAC,QAAQ,aAAY,MAAM,OAAO;AAAA,MACtCA,UAAAA;AAAAA,MACA,CAAA;AAAA,MACA;AAAA,QACE,gBAAgB;AAAA,QAChB;AAAA,QACA,KAAK;AAAA,MAAA;AAAA,IACP;AAEE,UAAM,QAAQ,QAAQ,MACxB,WAAW,WAER,OAAO,WACV,SAAS,MAAM;AAAA,EAEnB;AACA,QAAM,eAAe,OAAO,KAAK,OAAA,EAAS,UAAU;AAAA,IAClD,MAAM,CAAC,UAAU;AACX,YAAM,SAAS,cACjB,WAAW,MAAA,GACX,aAAa,IAAI,gBAAA,GACb,MAAM,KAAK,KAAK,CAAC,QAAQ,SAAS,SAAS,GAAG,CAAC,KACjD,YAAY,MAAM,IAAI,WAAW,MAAM;AAAA,IAG7C;AAAA;AAAA,IAEA,OAAO,CAAC,WAAW,QAAQ,MAAM,MAAM;AAAA,EAAA,CACxC;AAED,SAAA,YAAY,MAAM,WAAW,MAAM,GAE5B,MAAM;AACX,iBAAa,YAAA,GACb,WAAW,MAAA;AAAA,EACb;AACF;;"}