{"version":3,"sources":["../../src/client/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["const DEFAULT_COOKIE_NAME = 'datafast_visitor_id';\nconst DEFAULT_SESSION_COOKIE_NAME = 'datafast_session_id';\n\nexport function getDataFastVisitorId(cookieName: string = DEFAULT_COOKIE_NAME): string | null {\n  if (typeof document === 'undefined') {\n    return null;\n  }\n\n  const cookies = document.cookie.split(';');\n  \n  for (const cookie of cookies) {\n    const [name, ...valueParts] = cookie.trim().split('=');\n    if (name === cookieName) {\n      const value = valueParts.join('=');\n      return value || null;\n    }\n  }\n  \n  return null;\n}\n\nexport function getDataFastSessionId(cookieName: string = DEFAULT_SESSION_COOKIE_NAME): string | null {\n  if (typeof document === 'undefined') {\n    return null;\n  }\n\n  const cookies = document.cookie.split(';');\n  \n  for (const cookie of cookies) {\n    const [name, ...valueParts] = cookie.trim().split('=');\n    if (name === cookieName) {\n      const value = valueParts.join('=');\n      return value || null;\n    }\n  }\n  \n  return null;\n}\n\nexport function hasDataFastVisitorId(cookieName: string = DEFAULT_COOKIE_NAME): boolean {\n  return getDataFastVisitorId(cookieName) !== null;\n}\n\nexport function buildCheckoutUrlWithVisitorId(\n  checkoutUrl: string,\n  visitorId: string | null,\n  cookieName: string = DEFAULT_COOKIE_NAME\n): string {\n  if (!visitorId) {\n    visitorId = getDataFastVisitorId(cookieName);\n  }\n  \n  if (!visitorId) {\n    return checkoutUrl;\n  }\n  \n  const url = new URL(checkoutUrl);\n  url.searchParams.set(cookieName, visitorId);\n  \n  return url.toString();\n}\n\nexport function addTrackingToMetadata(\n  metadata: Record<string, unknown> = {},\n  visitorId?: string | null,\n  sessionId?: string | null,\n  visitorCookieName: string = DEFAULT_COOKIE_NAME,\n  sessionCookieName: string = DEFAULT_SESSION_COOKIE_NAME\n): Record<string, unknown> {\n  const vid = visitorId ?? getDataFastVisitorId(visitorCookieName);\n  const sid = sessionId ?? getDataFastSessionId(sessionCookieName);\n  \n  if (!vid && !sid) {\n    return metadata;\n  }\n  \n  return {\n    ...metadata,\n    ...(vid && { datafast_visitor_id: vid }),\n    ...(sid && { datafast_session_id: sid }),\n  };\n}\n\nexport const addVisitorIdToMetadata = addTrackingToMetadata;\n\nexport const DataFastClient = {\n  getVisitorId: getDataFastVisitorId,\n  getSessionId: getDataFastSessionId,\n  hasVisitorId: hasDataFastVisitorId,\n  buildCheckoutUrl: buildCheckoutUrlWithVisitorId,\n  addTrackingToMetadata,\n  addToMetadata: addTrackingToMetadata,\n};\n\nexport default DataFastClient;\n"]}