{"version":3,"file":"allowedTrackingOrigins.mjs","names":[],"sources":["../../src/domain/allowedTrackingOrigins.ts"],"sourcesContent":["import { display } from '../tools/display'\nimport { globalObject } from '../tools/globalObject'\nimport { matchList } from '../tools/matchOption'\nimport { mockable } from '../tools/mockable'\nimport type { InitConfiguration } from './configuration'\nimport { isUnsupportedExtensionEnvironment } from './extension/extensionUtils'\n\nexport const ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN =\n  'Running the Browser SDK in a Web extension content script is forbidden unless the `allowedTrackingOrigins` option is provided.'\nexport const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = 'SDK initialized on a non-allowed domain.'\n\nexport function isAllowedTrackingOrigins(configuration: InitConfiguration, errorStack: string): boolean {\n  const location = mockable(globalObject.location)\n  const windowOrigin = location ? location.origin : ''\n  const allowedTrackingOrigins = configuration.allowedTrackingOrigins\n  if (!allowedTrackingOrigins) {\n    if (isUnsupportedExtensionEnvironment(windowOrigin, errorStack)) {\n      display.error(ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN)\n\n      return false\n    }\n    return true\n  }\n\n  const isAllowed = matchList(allowedTrackingOrigins, windowOrigin)\n  if (!isAllowed) {\n    display.error(ERROR_NOT_ALLOWED_TRACKING_ORIGIN)\n  }\n  return isAllowed\n}\n"],"mappings":";;;;;;AAOA,MAAa,8CACX;AACF,MAAa,oCAAoC;AAEjD,SAAgB,yBAAyB,eAAkC,YAA6B;CACtG,MAAM,WAAW,SAAS,aAAa,QAAQ;CAC/C,MAAM,eAAe,WAAW,SAAS,SAAS;CAClD,MAAM,yBAAyB,cAAc;CAC7C,IAAI,CAAC,wBAAwB;EAC3B,IAAI,kCAAkC,cAAc,UAAU,GAAG;GAC/D,QAAQ,MAAM,2CAA2C;GAEzD,OAAO;EACT;EACA,OAAO;CACT;CAEA,MAAM,YAAY,UAAU,wBAAwB,YAAY;CAChE,IAAI,CAAC,WACH,QAAQ,MAAM,iCAAiC;CAEjD,OAAO;AACT"}