@elbwalker/destination-web-piwikpro
Version:
Piwik PRO destination for walkerOS
192 lines (189 loc) • 4.05 kB
JavaScript
var __defProp = Object.defineProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
// src/examples/events.ts
var events_exports = {};
__export(events_exports, {
ecommerceAddToCart: () => ecommerceAddToCart,
ecommerceCartUpdate: () => ecommerceCartUpdate,
ecommerceOrder: () => ecommerceOrder,
ecommerceProductDetailView: () => ecommerceProductDetailView
});
import { getEvent } from "@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 = 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 = getEvent("product add");
return [
["ecommerceAddToCart", [getProduct(event), ,], { currencyCode: "EUR" }]
];
}
function ecommerceProductDetailView() {
const event = getEvent("product view");
return [
[
"ecommerceProductDetailView",
[getProduct(event), ,],
{ currencyCode: "EUR" }
]
];
}
function ecommerceCartUpdate() {
const event = 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
});
import { isObject } from "@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) => 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) => 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 }
};
export {
events_exports as events,
mapping_exports as mapping
};