{"version":3,"file":"syntheticsWorkerValues.mjs","names":[],"sources":["../../../src/domain/synthetics/syntheticsWorkerValues.ts"],"sourcesContent":["import { getInitCookie } from '../../browser/cookie'\nimport { globalObject, isWorkerEnvironment } from '../../tools/globalObject'\nimport { tryJsonParse } from '../../tools/utils/objectUtils'\n\nconst cookieNamePrefix = 'openobserve-synthetics-'\nexport const SYNTHETICS_TEST_ID_COOKIE_NAME = `${cookieNamePrefix}public-id`\nexport const SYNTHETICS_RESULT_ID_COOKIE_NAME = `${cookieNamePrefix}result-id`\nexport const SYNTHETICS_INJECTS_RUM_COOKIE_NAME = `${cookieNamePrefix}injects-rum`\nexport const SYNTHETICS_CONTEXT_COOKIE_NAME = `${cookieNamePrefix}rum-context`\n\nexport interface BrowserWindow {\n  _OO_SYNTHETICS_PUBLIC_ID?: unknown\n  _OO_SYNTHETICS_RESULT_ID?: unknown\n  _OO_SYNTHETICS_INJECTS_RUM?: unknown\n  _OO_SYNTHETICS_RUM_CONTEXT?: unknown\n}\n\nexport interface SyntheticsContext {\n  test_id: string\n  result_id: string\n  [key: string]: unknown\n}\n\nexport function willSyntheticsInjectRum(): boolean {\n  if (isWorkerEnvironment) {\n    // We don't expect to run synthetics tests in a worker environment\n    return false\n  }\n\n  return Boolean(\n    (globalObject as BrowserWindow)._OO_SYNTHETICS_INJECTS_RUM || getInitCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME)\n  )\n}\n\nexport function getSyntheticsContext(): SyntheticsContext | undefined {\n  const raw = getRawSyntheticsContext()\n  return isValidSyntheticsContext(raw) ? raw : undefined\n}\n\nexport function isSyntheticsTest(): boolean {\n  return Boolean(getSyntheticsContext())\n}\n\nfunction getRawSyntheticsContext(): unknown {\n  const rawGlobal = (globalObject as BrowserWindow)._OO_SYNTHETICS_RUM_CONTEXT\n  if (rawGlobal) {\n    return rawGlobal\n  }\n\n  const rawCookie = getInitCookie(SYNTHETICS_CONTEXT_COOKIE_NAME)\n  if (rawCookie) {\n    return tryJsonParse(decodeURIComponent(rawCookie))\n  }\n\n  return {\n    test_id: (window as BrowserWindow)._OO_SYNTHETICS_PUBLIC_ID || getInitCookie(SYNTHETICS_TEST_ID_COOKIE_NAME),\n    result_id:\n      (window as BrowserWindow)._OO_SYNTHETICS_RESULT_ID || getInitCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME),\n  }\n}\n\nfunction isValidSyntheticsContext(value: unknown): value is SyntheticsContext {\n  return (\n    typeof value === 'object' &&\n    value !== null &&\n    typeof (value as Record<string, unknown>).test_id === 'string' &&\n    typeof (value as Record<string, unknown>).result_id === 'string'\n  )\n}\n"],"mappings":";;;;AAIA,MAAM,mBAAmB;AACzB,MAAa,iCAAiC,GAAG,iBAAiB;AAClE,MAAa,mCAAmC,GAAG,iBAAiB;AACpE,MAAa,qCAAqC,GAAG,iBAAiB;AACtE,MAAa,iCAAiC,GAAG,iBAAiB;AAelE,SAAgB,0BAAmC;CACjD,IAAI,qBAEF,OAAO;CAGT,OAAO,QACJ,aAA+B,8BAA8B,cAAc,kCAAkC,CAChH;AACF;AAEA,SAAgB,uBAAsD;CACpE,MAAM,MAAM,wBAAwB;CACpC,OAAO,yBAAyB,GAAG,IAAI,MAAM,KAAA;AAC/C;AAEA,SAAgB,mBAA4B;CAC1C,OAAO,QAAQ,qBAAqB,CAAC;AACvC;AAEA,SAAS,0BAAmC;CAC1C,MAAM,YAAa,aAA+B;CAClD,IAAI,WACF,OAAO;CAGT,MAAM,YAAY,cAAc,8BAA8B;CAC9D,IAAI,WACF,OAAO,aAAa,mBAAmB,SAAS,CAAC;CAGnD,OAAO;EACL,SAAU,OAAyB,4BAA4B,cAAc,8BAA8B;EAC3G,WACG,OAAyB,4BAA4B,cAAc,gCAAgC;CACxG;AACF;AAEA,SAAS,yBAAyB,OAA4C;CAC5E,OACE,OAAO,UAAU,YACjB,UAAU,QACV,OAAQ,MAAkC,YAAY,YACtD,OAAQ,MAAkC,cAAc;AAE5D"}