{"version":3,"file":"CQbHXZ94.js","sources":["../../../../services/metrics/types/ecommerce.types.ts","../../../../services/metrics/utils/ecommerce.ts","../../../../components/App/AppMeasureUnits.vue"],"sourcesContent":["/* Types */\nimport { Promocode } from '@/types/api/api-v3/orders/order'\n\nexport interface EcommerceProduct {\n id: string\n name: string\n brand: string\n price: number\n category?: string\n variant?: string\n category_name?: string\n quantity?: Number\n}\n\nexport enum EcommerceEventName {\n ADD = 'add',\n PURCHASE = 'purchase',\n REMOVE = 'remove',\n DETAIL = 'detail',\n}\n\ninterface EcommerceAction {\n id: number\n coupon?: Promocode\n revenue?: number\n}\n\ninterface EcommerceCurrency {\n currencyCode?: string\n}\n\ntype EcommerceData = {\n [key in EcommerceEventName]: {\n actionField: EcommerceAction\n products: EcommerceProduct[]\n }\n}\n\nexport interface Ecommerce {\n ecommerce: EcommerceCurrency | EcommerceData\n}\n","/* Types */\nimport { Modification } from '@/types/api/api-v3/product'\nimport { Details } from '@/store/orders/order.types'\nimport { Item as OrderItem } from '@/types/api/api-v3/orders/order'\nimport {\n EcommerceProduct,\n Ecommerce,\n EcommerceEventName,\n} from '@/services/metrics/types/ecommerce.types'\n\nconst BRAND_NAME = 'Farfor'\n\n/**\n * Генерируем объект для отправки ecommerce событий просмотра и удаления добавления продукта\n * Сигнатура объекта: https://yandex.ru/support/metrica/ecommerce/data.html\n * @param currencyData - модификация продукта\n * @param eventName - событие ecommerce\n * @param currencyCode - тип валюты\n * @param quantity - количество продукта\n */\nexport const mapEcommerceData = (\n currencyData: Partial,\n eventName: EcommerceEventName,\n currencyCode: string,\n quantity?: number,\n): Ecommerce => {\n const products: EcommerceProduct[] = []\n\n products.push({\n id: String(currencyData.id),\n name: currencyData.name || '',\n variant: currencyData.full_name,\n price: currencyData.price || 0,\n brand: BRAND_NAME,\n ...(currencyData.category_name && { category: currencyData.category_name }),\n ...(quantity && { quantity }),\n })\n\n return {\n ecommerce: {\n currencyCode,\n [eventName]: {\n products,\n },\n },\n }\n}\n\n/**\n * Генерируем объект для отправки ecommerce событий оформления заказа\n * Сигнатура объекта: https://yandex.ru/support/metrica/ecommerce/data.html\n * @param productsOfOrder - модель продукта заказа\n * @param orderId - номер заказа\n * @param details - детальная информация заказа\n */\nexport const mapOrderToEcommerce = (\n productsOfOrder: OrderItem[],\n orderId: number,\n details?: Partial
,\n): Ecommerce => {\n const eventName: EcommerceEventName = EcommerceEventName.PURCHASE\n\n const products: EcommerceProduct[] = productsOfOrder.map(\n (item: OrderItem) => ({\n id: String(item.product.id),\n name: item.product.name,\n price: item.price,\n quantity: item.quantity,\n category: item.product.category_name,\n brand: BRAND_NAME,\n }),\n )\n\n return {\n ecommerce: {\n currencyCode: details?.currency_symbol,\n [eventName]: {\n actionField: {\n id: orderId,\n ...(details?.promocode && { coupon: details?.promocode }),\n ...(details?.cash_price && { revenue: details?.cash_price }),\n },\n products,\n },\n },\n }\n}\n","\n\n\n\n\n"],"names":["EcommerceEventName","BRAND_NAME","mapEcommerceData","currencyData","eventName","currencyCode","quantity","products","mapOrderToEcommerce","productsOfOrder","orderId","details","item","props","__props","measureValue","computed"],"mappings":";;qYAcY,IAAAA,GAAAA,IACVA,EAAA,IAAM,MACNA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,OAAS,SAJCA,IAAAA,GAAA,CAAA,CAAA,ECJZ,MAAMC,EAAa,SAUNC,EAAmB,CAC9BC,EACAC,EACAC,EACAC,IACc,CACd,MAAMC,EAA+B,CAAC,EAEtC,OAAAA,EAAS,KAAK,CACZ,GAAI,OAAOJ,EAAa,EAAE,EAC1B,KAAMA,EAAa,MAAQ,GAC3B,QAASA,EAAa,UACtB,MAAOA,EAAa,OAAS,EAC7B,MAAOF,EACP,GAAIE,EAAa,eAAiB,CAAE,SAAUA,EAAa,aAAc,EACzE,GAAIG,GAAY,CAAE,SAAAA,CAAS,CAAA,CAC5B,EAEM,CACL,UAAW,CACT,aAAAD,EACA,CAACD,CAAS,EAAG,CACX,SAAAG,CAAA,CACF,CAEJ,CACF,EASaC,EAAsB,CACjCC,EACAC,EACAC,IACc,CACd,MAAMP,EAAgCJ,EAAmB,SAEnDO,EAA+BE,EAAgB,IAClDG,IAAqB,CACpB,GAAI,OAAOA,EAAK,QAAQ,EAAE,EAC1B,KAAMA,EAAK,QAAQ,KACnB,MAAOA,EAAK,MACZ,SAAUA,EAAK,SACf,SAAUA,EAAK,QAAQ,cACvB,MAAOX,CACT,EACF,EAEO,MAAA,CACL,UAAW,CACT,aAAcU,GAAA,YAAAA,EAAS,gBACvB,CAACP,CAAS,EAAG,CACX,YAAa,CACX,GAAIM,EACJ,IAAIC,GAAA,YAAAA,EAAS,YAAa,CAAE,OAAQA,GAAA,YAAAA,EAAS,SAAU,EACvD,IAAIA,GAAA,YAAAA,EAAS,aAAc,CAAE,QAASA,GAAA,YAAAA,EAAS,UAAW,CAC5D,EACA,SAAAJ,CAAA,CACF,CAEJ,CACF,sHC/EA,MAAMM,EAAQC,EAERC,EAAeC,EAAS,IACxBH,EAAM,eACD,GAAGA,EAAM,cAAc,KAG5BA,EAAM,QAAUA,EAAM,QACjB,GAAGA,EAAM,MAAM,IAAIA,EAAM,OAAO,GAGlC,EACR","debug_id":"dedfef66-5ca8-5a6c-b210-44eb545e247f"}