UNPKG

@elbwalker/destination-web-piwikpro

Version:

Piwik PRO destination for walkerOS

214 lines (210 loc) 5.04 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/examples/index.ts var examples_exports = {}; __export(examples_exports, { events: () => events_exports, mapping: () => mapping_exports }); module.exports = __toCommonJS(examples_exports); // src/examples/events.ts var events_exports = {}; __export(events_exports, { ecommerceAddToCart: () => ecommerceAddToCart, ecommerceCartUpdate: () => ecommerceCartUpdate, ecommerceOrder: () => ecommerceOrder, ecommerceProductDetailView: () => ecommerceProductDetailView }); var import_utils = require("@elbwalker/utils"); function getProduct(entity) { return { sku: entity.data.id, name: entity.data.name, price: entity.data.price, quantity: 1, variant: entity.data.color, customDimensions: { 1: entity.data.size } }; } function ecommerceOrder() { const event = (0, import_utils.getEvent)("order complete"); return [ [ "ecommerceOrder", event.nested.filter((item) => item.type === "product").map(getProduct), { orderId: event.data.id, grandTotal: event.data.total, tax: event.data.taxes, shipping: event.data.shipping }, { currencyCode: "EUR" } ] ]; } function ecommerceAddToCart() { const event = (0, import_utils.getEvent)("product add"); return [ ["ecommerceAddToCart", [getProduct(event), ,], { currencyCode: "EUR" }] ]; } function ecommerceProductDetailView() { const event = (0, import_utils.getEvent)("product view"); return [ [ "ecommerceProductDetailView", [getProduct(event), ,], { currencyCode: "EUR" } ] ]; } function ecommerceCartUpdate() { const event = (0, import_utils.getEvent)("cart view"); return [ [ "ecommerceCartUpdate", event.nested.filter((item) => item.type === "product").map(getProduct), event.data.value, { currencyCode: "EUR" } ] ]; } // src/examples/mapping.ts var mapping_exports = {}; __export(mapping_exports, { config: () => config, ecommerceAddToCart: () => ecommerceAddToCart2, ecommerceCartUpdate: () => ecommerceCartUpdate2, ecommerceOrder: () => ecommerceOrder2, ecommerceProductDetailView: () => ecommerceProductDetailView2 }); var import_utils2 = require("@elbwalker/utils"); var productMap = { sku: "data.id", name: "data.name", price: "data.price", quantity: { value: 1 }, variant: { key: "data.color" }, customDimensions: { map: { 1: "data.size" } } }; var ecommerceOrder2 = { name: "ecommerceOrder", data: { set: [ { loop: [ "nested", { condition: (entity) => (0, import_utils2.isObject)(entity) && entity.type === "product", map: productMap } ] }, { map: { orderId: "data.id", grandTotal: "data.total", tax: "data.taxes", shipping: "data.shipping" } }, { map: { currencyCode: { value: "EUR" } } } ] } }; var ecommerceAddToCart2 = { name: "ecommerceAddToCart", data: { set: [ { set: [ { map: productMap } ] }, { map: { currencyCode: { value: "EUR" } } } ] } }; var ecommerceProductDetailView2 = { name: "ecommerceProductDetailView", data: { set: [ { set: [ { map: productMap } ] }, { map: { currencyCode: { value: "EUR" } } } ] } }; var ecommerceCartUpdate2 = { name: "ecommerceCartUpdate", data: { set: [ { loop: [ "nested", { condition: (entity) => (0, import_utils2.isObject)(entity) && entity.type === "product", map: productMap } ] }, "data.value", { map: { currencyCode: { value: "EUR" } } } ] } }; var config = { order: { complete: ecommerceOrder2 }, product: { add: ecommerceAddToCart2, view: ecommerceProductDetailView2 }, cart: { view: ecommerceCartUpdate2 } }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { events, mapping });