@elbwalker/destination-web-piwikpro
Version:
Piwik PRO destination for walkerOS
214 lines (210 loc) • 5.04 kB
JavaScript
;
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
});