{
  "version": 3,
  "sources": ["../src/index.ts", "../src/utils.ts"],
  "sourcesContent": ["import {\n  encrypt,\n  decrypt,\n  setCookie,\n  getCookie,\n  deleteCookies,\n  validatePurchaseData,\n} from './utils'\n\nexport interface Ipurchase {\n  AdNm: string // \uAD11\uACE0\uC8FC\uBA85\n  ordNo: string // \uC8FC\uBB38\uBC88\uD638\n  itemId: string // \uC0C1\uD488ID\n  itemNm: string // \uC0C1\uD488\uBA85\n  sellprc: number // \uD310\uB9E4\uAC00\uACA9\n  ordAmt: number // \uC8FC\uBB38\uAE08\uC561\n  dcAmt: number // \uD560\uC778\uAC00\uACA9\n  rlordAmt: number // \uC2E4\uC8FC\uBB38\uAE08\uC561\n  rlordQty: number // \uC2E4\uC8FC\uBB38\uAC2F\uC218\n  ordState: string // \uC8FC\uBB38\uC0C1\uD0DC\n  ordDate: string // \uC8FC\uBB38\uC77C\uC790\n  Commission: number // \uC218\uC218\uB8CC\n  ordUniqNo?: string // \uC8FC\uBB38\uACE0\uC720\uBC88\uD638\n  updateDate?: string // \uC218\uC815\uC77C\uC790\n  Apclid?: string // \uC571\uD074\uB9AD\uC544\uC774\uB514\n  ChNm?: string // \uB9E4\uCCB4\uBA85\n}\n\nconst CPS_CONVERSION_URL = 'https://cps-web.stcps.com/api/v1/cps/conversion'\n\nfunction getQueryParam(param: string): string | null {\n  const urlParams = new URLSearchParams(window.location.search)\n  return urlParams.get(param)\n}\n\nfunction _sendConversion(\n  data: object,\n  apclid: string,\n  chNm: string,\n  cookiesToDelete: string[],\n): void {\n  fetch(`${CPS_CONVERSION_URL}?apclid=${apclid}`, {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json',\n      'X-Channel-Name': chNm,\n    },\n    body: JSON.stringify(data),\n  })\n    .then((response) => {\n      if (!response.ok) {\n        throw new Error(`HTTP error! Status: ${response.status}`)\n      }\n      return response.json()\n    })\n    .then(() => {\n      if (cookiesToDelete.length > 0) {\n        deleteCookies(...cookiesToDelete)\n        console.log('\uC0AD\uC81C \uD6C4 \uCFE0\uD0A4 \uD655\uC778:', document.cookie)\n      }\n    })\n    .catch((error) => {\n      console.error('\uC804\uC1A1 \uC911 \uC624\uB958 \uBC1C\uC0DD:', error)\n    })\n}\n\nfunction init(): void {\n  //Common\n  const gbClick = getQueryParam('gb_click')\n  const gbMedia = getQueryParam('gb_media')\n  const affp1 = getQueryParam('affp1')\n  const affp2 = getQueryParam('affp2')\n  const affp3 = getQueryParam('affp3')\n  const affp4 = getQueryParam('affp4')\n  const affp5 = getQueryParam('affp5')\n  //\uC560\uB4DC\uD53D \uD074\uB9AD\uD0A4\n  const adpickClick = getQueryParam('apclid')\n  const originCookieValue = `${adpickClick}`\n  const originEncryptedValue = encrypt(originCookieValue)\n  //\uCFE0\uD0A4\uC624\uBE10 \uD074\uB9AD\uD0A4\n  const cookieovenClick = getQueryParam('click_key')\n\n  // \u2705 delete \uC870\uAC74: linkD \uD3EC\uD568 OR utm_source \uC815\uD655\uD788 gb_cps\n  const urlHasLinkD = window.location.href.includes('linkD')\n  const utmSource = getQueryParam('utm_source')\n  const shouldDeleteCookies =\n    urlHasLinkD || (utmSource !== null && utmSource !== 'gb_cps') //url\uB0B4 linkD \uC788\uAC70\uB098 utm_source \uC815\uD655\uD788 gb_cps\uAC00 \uC544\uB2CC\uAC83\uB4E4\uB4E4\n\n  if (adpickClick && gbClick && gbMedia) {\n    //\uB9C1\uD06C\uB514\uC138\uC158\uC0AD\uC81C\n    sessionStorage.removeItem('yuja_real__shopping_partners_referral_code')\n\n    //adpick & gb \uB458\uB2E4\uC788\uC744\uACBD\uC6B0\n    const newCookieValue = `${gbMedia}_${gbClick}`\n    const encryptedValue = encrypt(newCookieValue)\n\n    //\uCEE4\uC2A4\uD140\n    const affpParams: Record<string, string | null> = {\n      affp1,\n      affp2,\n      affp3,\n      affp4,\n      affp5,\n    }\n\n    //\uD544\uD130\uB9C1\n    const affpEntries = Object.entries(affpParams)\n      .filter(([_, value]) => value)\n      .map(([key, value]) => `${key}=${value}`)\n\n    //\uC0AD\uC81C (\uBAA8\uB4E0 CPS \uCFE0\uD0A4 \u2014 \uB77C\uC2A4\uD2B8 \uC5B4\uD2B8\uB9AC\uBDF0\uC158)\n    deleteCookies('gb_cps', 'apclid', 'affp_data', 'ADPICKCPS', 'cookieoven_click', 'cookieoven_idfa', 'cookieoven_gaid', 'appier_click', 'appier_idfa', 'appier_gaid', 'waveads_click', 'kakaopages_click', 'geniuscom_click')\n\n    //\uC0C8\uB85C \uC0DD\uC131\n    setCookie('gb_cps', encryptedValue, 24)\n    setCookie('apclid', originEncryptedValue, 24)\n    if (affpEntries.length > 0) {\n      const affpCookieValue = affpEntries.join('&')\n      setCookie('affp_data', affpCookieValue, 24)\n    }\n  } else if (adpickClick && !gbClick && !gbMedia) {\n    //gbClick,gbMedia \uB294\uC5C6\uACE0 adpickClick\uB9CC\uC788\uB294\uACBD\uC6B0\n    //adpick\uB9CC\uC788\uB294\uACBD\uC6B0 (\uB77C\uC2A4\uD2B8 \uC5B4\uD2B8\uB9AC\uBDF0\uC158)\n    deleteCookies('gb_cps', 'apclid', 'affp_data', 'ADPICKCPS', 'cookieoven_click', 'cookieoven_idfa', 'cookieoven_gaid', 'appier_click', 'appier_idfa', 'appier_gaid', 'waveads_click', 'kakaopages_click', 'geniuscom_click')\n    setCookie('apclid', originEncryptedValue, 24)\n  } else if (cookieovenClick) {\n    //\uCFE0\uD0A4\uC624\uBE10 \uD074\uB9AD \u2014 \uB77C\uC2A4\uD2B8 \uC5B4\uD2B8\uB9AC\uBDF0\uC158: \uAE30\uC874 \uBAA8\uB4E0 CPS \uCFE0\uD0A4 \uCD08\uAE30\uD654 \uD6C4 \uC800\uC7A5\n    const coIdfa = getQueryParam('idfa')\n    const coGaid = getQueryParam('gaid')\n    deleteCookies('gb_cps', 'apclid', 'affp_data', 'ADPICKCPS', 'cookieoven_click', 'cookieoven_idfa', 'cookieoven_gaid', 'appier_click', 'appier_idfa', 'appier_gaid', 'waveads_click', 'kakaopages_click', 'geniuscom_click')\n    setCookie('cookieoven_click', cookieovenClick, 24)\n    if (coIdfa) setCookie('cookieoven_idfa', coIdfa, 24)\n    if (coGaid) setCookie('cookieoven_gaid', coGaid, 24)\n  } else if (getQueryParam('short_id')) {\n    //Appier \uD074\uB9AD \u2014 \uB77C\uC2A4\uD2B8 \uC5B4\uD2B8\uB9AC\uBDF0\uC158: \uAE30\uC874 \uBAA8\uB4E0 CPS \uCFE0\uD0A4 \uCD08\uAE30\uD654 \uD6C4 \uC800\uC7A5\n    const appierShortId = getQueryParam('short_id') as string\n    const appierIdfa = getQueryParam('idfa')\n    const appierGaid = getQueryParam('gaid')\n    deleteCookies('gb_cps', 'apclid', 'affp_data', 'ADPICKCPS', 'cookieoven_click', 'cookieoven_idfa', 'cookieoven_gaid', 'appier_click', 'appier_idfa', 'appier_gaid', 'waveads_click', 'kakaopages_click', 'geniuscom_click')\n    setCookie('appier_click', appierShortId, 24)\n    if (appierIdfa) setCookie('appier_idfa', appierIdfa, 24)\n    if (appierGaid) setCookie('appier_gaid', appierGaid, 24)\n  } else if (getQueryParam('waclick')) {\n    //Waveads \uD074\uB9AD \u2014 \uB77C\uC2A4\uD2B8 \uC5B4\uD2B8\uB9AC\uBDF0\uC158: \uAE30\uC874 \uBAA8\uB4E0 CPS \uCFE0\uD0A4 \uCD08\uAE30\uD654 \uD6C4 \uC800\uC7A5\n    deleteCookies('gb_cps', 'apclid', 'affp_data', 'ADPICKCPS', 'cookieoven_click', 'cookieoven_idfa', 'cookieoven_gaid', 'appier_click', 'appier_idfa', 'appier_gaid', 'waveads_click', 'kakaopages_click', 'geniuscom_click')\n    setCookie('waveads_click', getQueryParam('waclick') as string, 24)\n    const waAffpEntries = Object.entries({ affp1, affp2, affp3, affp4, affp5 })\n      .filter(([_, v]) => v)\n      .map(([k, v]) => `${k}=${v}`)\n    if (waAffpEntries.length > 0) {\n      setCookie('affp_data', waAffpEntries.join('&'), 24)\n    }\n  } else if (getQueryParam('callbackParams')) {\n    //\uCE74\uCE74\uC624\uD398\uC774\uC9C0 \uD074\uB9AD \u2014 \uB77C\uC2A4\uD2B8 \uC5B4\uD2B8\uB9AC\uBDF0\uC158: \uAE30\uC874 \uBAA8\uB4E0 CPS \uCFE0\uD0A4 \uCD08\uAE30\uD654 \uD6C4 \uC800\uC7A5\n    deleteCookies('gb_cps', 'apclid', 'affp_data', 'ADPICKCPS', 'cookieoven_click', 'cookieoven_idfa', 'cookieoven_gaid', 'appier_click', 'appier_idfa', 'appier_gaid', 'waveads_click', 'kakaopages_click', 'geniuscom_click')\n    setCookie('kakaopages_click', getQueryParam('callbackParams') as string, 24)\n  } else if (getQueryParam('gc')) {\n    //\uC9C0\uB2C8\uC5B4\uC2A4\uCEF4 \uD074\uB9AD \u2014 \uB77C\uC2A4\uD2B8 \uC5B4\uD2B8\uB9AC\uBDF0\uC158: \uAE30\uC874 \uBAA8\uB4E0 CPS \uCFE0\uD0A4 \uCD08\uAE30\uD654 \uD6C4 \uC800\uC7A5\n    deleteCookies('gb_cps', 'apclid', 'affp_data', 'ADPICKCPS', 'cookieoven_click', 'cookieoven_idfa', 'cookieoven_gaid', 'appier_click', 'appier_idfa', 'appier_gaid', 'waveads_click', 'kakaopages_click', 'geniuscom_click')\n    setCookie('geniuscom_click', getQueryParam('gc') as string, 24)\n  } else if (shouldDeleteCookies) {\n    //linkD \uD3EC\uD568\uD558\uAC70\uB098 utm_source\uAC12\uC774 \uC788\uACE0 gb_cps\uAC00 \uC544\uB2C8\uBA74 \uCFE0\uD0A4\uC0AD\uC81C\n    deleteCookies('gb_cps', 'apclid', 'affp_data', 'ADPICKCPS', 'cookieoven_click', 'cookieoven_idfa', 'cookieoven_gaid', 'appier_click', 'appier_idfa', 'appier_gaid', 'waveads_click', 'kakaopages_click', 'geniuscom_click')\n  }\n}\n\nfunction getCookieValue(): string | null {\n  const encryptedValue = getCookie('gb_cps')\n  return encryptedValue ? decrypt(encryptedValue) : null\n}\n\nfunction originGetCookieValue(): string | null {\n  const originEncryptedValue = getCookie('apclid')\n  return originEncryptedValue ? decrypt(originEncryptedValue) : null\n}\n\nfunction purchase(data: Ipurchase) {\n  const adpickCpsCookie = getCookie('apclid')\n  const cookieovenCookie = getCookie('cookieoven_click')\n  const appierClickCookie = getCookie('appier_click')\n  const waveadsClickCookie = getCookie('waveads_click')\n  const kakaopagesClickCookie = getCookie('kakaopages_click')\n  const geniuscomClickCookie = getCookie('geniuscom_click')\n\n  if (!adpickCpsCookie && !cookieovenCookie && !appierClickCookie && !waveadsClickCookie && !kakaopagesClickCookie && !geniuscomClickCookie) {\n    return\n  }\n\n  //gb_cps\uCFE0\uD0A4\uB2F4\uAE30\uAE30\n  const gbCpsCookie = getCookie('gb_cps')\n  if (gbCpsCookie) {\n    const decryptedValue = decrypt(gbCpsCookie as string)\n    const firstUnderscoreIndex = decryptedValue.indexOf('_')\n    data.Apclid = decryptedValue.slice(firstUnderscoreIndex + 1)\n    data.ChNm = decryptedValue.slice(0, firstUnderscoreIndex)\n  }\n\n  //affp\uCFE0\uD0A4\uAC00\uC838\uC624\uAE30\n  const affpCookie = getCookie('affp_data')\n  if (affpCookie) {\n    const affpParams = Object.fromEntries(\n      affpCookie.split('&').map((entry) => entry.split('=')),\n    )\n    Object.assign(data, affpParams) //`affp_data` \uAC12\uC744 `data` \uAC1D\uCCB4\uC5D0 \uCD94\uAC00\n  }\n\n  console.log('data : ', data)\n  const validationError = validatePurchaseData(data)\n  if (validationError) {\n    console.warn(validationError)\n    return\n  }\n\n  const apclid = data.Apclid ?? ''\n  const chNm = data.ChNm ?? ''\n  const sendData = { ...data }\n  delete sendData.Apclid\n  delete sendData.ChNm\n\n  //\uC560\uB4DC\uD53D/GB \uC804\uD658 \uC804\uC1A1\n  if (adpickCpsCookie) {\n    _sendConversion(sendData, apclid, chNm, ['gb_cps', 'apclid', 'affp_data', 'ADPICKCPS'])\n  }\n\n  //\uCFE0\uD0A4\uC624\uBE10 \uC804\uD658 \uC804\uC1A1 (\uAE30\uC874 \uB85C\uC9C1\uACFC \uB3C5\uB9BD\uC801\uC73C\uB85C \uB3D9\uC791)\n  if (cookieovenCookie) {\n    const coData = { ...sendData }\n    const coIdfa = getCookie('cookieoven_idfa')\n    const coGaid = getCookie('cookieoven_gaid')\n    if (coIdfa) (coData as Record<string, unknown>).idfa = coIdfa\n    if (coGaid) (coData as Record<string, unknown>).gaid = coGaid\n    _sendConversion(coData, cookieovenCookie, 'cookieoven', ['cookieoven_click', 'cookieoven_idfa', 'cookieoven_gaid'])\n  }\n\n  //Appier \uC804\uD658 \uC804\uC1A1 \u2014 short_id \uD30C\uB77C\uBBF8\uD130\uB85C \uB79C\uB529\uD55C \uACBD\uC6B0\n  if (appierClickCookie) {\n    const appierData = { ...sendData }\n    const appierIdfa = getCookie('appier_idfa')\n    const appierGaid = getCookie('appier_gaid')\n    if (appierIdfa) (appierData as Record<string, unknown>).idfa = appierIdfa\n    if (appierGaid) (appierData as Record<string, unknown>).gaid = appierGaid\n    _sendConversion(appierData, appierClickCookie, 'appier', ['appier_click', 'appier_idfa', 'appier_gaid'])\n  }\n\n  //Waveads \uC804\uD658 \uC804\uC1A1 \u2014 waclick \uD30C\uB77C\uBBF8\uD130\uB85C \uB79C\uB529\uD55C \uACBD\uC6B0\n  if (waveadsClickCookie) {\n    _sendConversion(sendData, waveadsClickCookie, 'waveads', ['waveads_click'])\n  }\n\n  //\uCE74\uCE74\uC624\uD398\uC774\uC9C0 \uC804\uD658 \uC804\uC1A1 \u2014 callbackParams \uD30C\uB77C\uBBF8\uD130\uB85C \uB79C\uB529\uD55C \uACBD\uC6B0\n  if (kakaopagesClickCookie) {\n    _sendConversion(sendData, kakaopagesClickCookie, 'kakaopages', ['kakaopages_click'])\n  }\n\n  //\uC9C0\uB2C8\uC5B4\uC2A4\uCEF4 \uC804\uD658 \uC804\uC1A1 \u2014 gc \uD30C\uB77C\uBBF8\uD130\uB85C \uB79C\uB529\uD55C \uACBD\uC6B0\n  if (geniuscomClickCookie) {\n    _sendConversion(sendData, geniuscomClickCookie, 'geniuscom', ['geniuscom_click'])\n  }\n}\n\nfunction purchaseCancel(data: Ipurchase) {\n  // \uAD6C\uB9E4\uCDE8\uC18C\uB294 purchase \uC131\uACF5 \uD6C4 \uCFE0\uD0A4\uAC00 \uC774\uBBF8 \uC0AD\uC81C\uB41C \uC0C1\uD0DC\uC774\uBBC0\uB85C \uCFE0\uD0A4 \uCCB4\uD06C \uC5C6\uC774 \uC804\uC1A1\n  // Kafka consumer\uC5D0\uC11C ordNo\uB85C \uC6D0\uBCF8 \uAD6C\uB9E4 \uAC74\uACFC \uB9E4\uD551\n  console.log('purchaseCancel data : ', data)\n  const validationError = validatePurchaseData(data)\n  if (validationError) {\n    console.warn(validationError)\n    return\n  }\n  const sendData = { ...data }\n  delete sendData.Apclid\n  delete sendData.ChNm\n  _sendConversion(sendData, '', '', [])\n}\n\n// \uC790\uB3D9 \uC2E4\uD589 (\uC0AC\uC6A9\uC790\uAC00 \uC9C1\uC811 \uD638\uCD9C\uD560 \uD544\uC694 \uC5C6\uC774 \uC791\uB3D9)\ninit()\n\nexport default { init, getCookieValue, originGetCookieValue, purchase, purchaseCancel }\n", "import { Ipurchase } from '.'\n\ndeclare const __SECRET_KEY__: string\nconst SECRET_KEY = __SECRET_KEY__\nfunction xorEncryptDecrypt(input: string, key: string): string {\n  let output = ''\n  for (let i = 0; i < input.length; i++) {\n    output += String.fromCharCode(\n      input.charCodeAt(i) ^ key.charCodeAt(i % key.length),\n    )\n  }\n  return output\n}\n\nfunction base64Encode(input: string): string {\n  return btoa(unescape(encodeURIComponent(input))).replace(/=/g, '')\n}\n\nfunction base64Decode(input: string): string {\n  return decodeURIComponent(escape(atob(input)))\n}\n\nexport function validatePurchaseData(data: Ipurchase): string | null {\n  const requiredFields: (keyof Ipurchase)[] = [\n    'AdNm',\n    'ordNo',\n    'itemId',\n    'itemNm',\n    'sellprc',\n    'ordAmt',\n    'dcAmt',\n    'rlordAmt',\n    'rlordQty',\n    'ordState',\n    'ordDate',\n  ]\n\n  for (const field of requiredFields) {\n    if (data[field] === null || data[field] === undefined) {\n      return `\u274C \uD544\uC218 \uAC12 \uB204\uB77D: ${field}`\n    }\n  }\n  return null\n}\nexport function encrypt(value: string): string {\n  return base64Encode(xorEncryptDecrypt(value, SECRET_KEY))\n}\n\nexport function decrypt(value: string): string {\n  return xorEncryptDecrypt(base64Decode(value), SECRET_KEY)\n}\n\nexport function setCookie(name: string, value: string, hours: number): void {\n  const expires = new Date()\n  expires.setTime(expires.getTime() + hours * 60 * 60 * 1000)\n  document.cookie = `${name}=${value}; expires=${expires.toUTCString()}; path=/;`\n}\n\nexport function getCookie(name: string): string | null {\n  const match = document.cookie.match(new RegExp(`(^| )${name}=([^;]+)`))\n  return match ? match[2] : null\n}\n\nfunction deleteCookie(name: string) {\n  console.log(`\uD83D\uDED1 \uCFE0\uD0A4 \uC0AD\uC81C \uC2DC\uB3C4: ${name}`)\n\n  // \uAE30\uBCF8 path\uC5D0\uC11C \uC0AD\uC81C \uC2DC\uB3C4\n  document.cookie = `${name}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 UTC;`\n\n  // \uB8E8\uD2B8 \uB3C4\uBA54\uC778 \uCD94\uCD9C (\uC608: \"www.dealpang.com\" \u2192 \"dealpang.com\")\n  const baseDomain = window.location.hostname.split('.').slice(-2).join('.')\n\n  // \uAC00\uB2A5\uD55C \uBAA8\uB4E0 \uB3C4\uBA54\uC778\uC5D0\uC11C \uC0AD\uC81C \uC2DC\uB3C4\n  const domains = [\n    window.location.hostname, // \uD604\uC7AC \uB3C4\uBA54\uC778\n    `.${window.location.hostname}`, // \uC11C\uBE0C\uB3C4\uBA54\uC778 \uD3EC\uD568\n    `.${baseDomain}`, // \uB8E8\uD2B8 \uB3C4\uBA54\uC778\n    `www.${baseDomain}`, // www \uD3EC\uD568\n  ]\n\n  domains.forEach((domain) => {\n    document.cookie = `${name}=; path=/; domain=${domain}; expires=Thu, 01 Jan 1970 00:00:00 UTC;`\n  })\n\n  console.log(`\u2705 ${name} \uCFE0\uD0A4 \uC0AD\uC81C \uC644\uB8CC`)\n}\n\n// \u2705 \uC5EC\uB7EC \uAC1C\uC758 \uCFE0\uD0A4 \uC0AD\uC81C \uD568\uC218\nexport function deleteCookies(...names: string[]) {\n  names.forEach(deleteCookie)\n}\n"],
  "mappings": "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",
  "names": []
}
