@walkeros/web-destination-piwikpro 2.2.0-next-1773136823705 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dev.d.mts CHANGED
@@ -59,24 +59,34 @@ interface Env extends DestinationWeb.Env {
59
59
  */
60
60
  declare const init: Env | undefined;
61
61
  declare const push: Env;
62
+ /**
63
+ * Simulation tracking paths
64
+ * Specifies which function calls to track during simulation
65
+ */
66
+ declare const simulation: string[];
62
67
 
63
68
  declare const env_init: typeof init;
64
69
  declare const env_push: typeof push;
70
+ declare const env_simulation: typeof simulation;
65
71
  declare namespace env {
66
- export { env_init as init, env_push as push };
72
+ export { env_init as init, env_push as push, env_simulation as simulation };
67
73
  }
68
74
 
69
75
  declare const ecommerceOrder: Flow.StepExample;
70
76
  declare const ecommerceAddToCart: Flow.StepExample;
71
77
  declare const productDetailView: Flow.StepExample;
72
78
  declare const cartUpdate: Flow.StepExample;
79
+ declare const customEvent: Flow.StepExample;
80
+ declare const pageViewWithTitle: Flow.StepExample;
73
81
 
74
82
  declare const step_cartUpdate: typeof cartUpdate;
83
+ declare const step_customEvent: typeof customEvent;
75
84
  declare const step_ecommerceAddToCart: typeof ecommerceAddToCart;
76
85
  declare const step_ecommerceOrder: typeof ecommerceOrder;
86
+ declare const step_pageViewWithTitle: typeof pageViewWithTitle;
77
87
  declare const step_productDetailView: typeof productDetailView;
78
88
  declare namespace step {
79
- export { step_cartUpdate as cartUpdate, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_productDetailView as productDetailView };
89
+ export { step_cartUpdate as cartUpdate, step_customEvent as customEvent, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_pageViewWithTitle as pageViewWithTitle, step_productDetailView as productDetailView };
80
90
  }
81
91
 
82
92
  declare const index_env: typeof env;
package/dist/dev.d.ts CHANGED
@@ -59,24 +59,34 @@ interface Env extends DestinationWeb.Env {
59
59
  */
60
60
  declare const init: Env | undefined;
61
61
  declare const push: Env;
62
+ /**
63
+ * Simulation tracking paths
64
+ * Specifies which function calls to track during simulation
65
+ */
66
+ declare const simulation: string[];
62
67
 
63
68
  declare const env_init: typeof init;
64
69
  declare const env_push: typeof push;
70
+ declare const env_simulation: typeof simulation;
65
71
  declare namespace env {
66
- export { env_init as init, env_push as push };
72
+ export { env_init as init, env_push as push, env_simulation as simulation };
67
73
  }
68
74
 
69
75
  declare const ecommerceOrder: Flow.StepExample;
70
76
  declare const ecommerceAddToCart: Flow.StepExample;
71
77
  declare const productDetailView: Flow.StepExample;
72
78
  declare const cartUpdate: Flow.StepExample;
79
+ declare const customEvent: Flow.StepExample;
80
+ declare const pageViewWithTitle: Flow.StepExample;
73
81
 
74
82
  declare const step_cartUpdate: typeof cartUpdate;
83
+ declare const step_customEvent: typeof customEvent;
75
84
  declare const step_ecommerceAddToCart: typeof ecommerceAddToCart;
76
85
  declare const step_ecommerceOrder: typeof ecommerceOrder;
86
+ declare const step_pageViewWithTitle: typeof pageViewWithTitle;
77
87
  declare const step_productDetailView: typeof productDetailView;
78
88
  declare namespace step {
79
- export { step_cartUpdate as cartUpdate, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_productDetailView as productDetailView };
89
+ export { step_cartUpdate as cartUpdate, step_customEvent as customEvent, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_pageViewWithTitle as pageViewWithTitle, step_productDetailView as productDetailView };
80
90
  }
81
91
 
82
92
  declare const index_env: typeof env;
package/dist/dev.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e,a=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,n=(e,t)=>{for(var r in t)a(e,r,{get:t[r],enumerable:!0})},o={};n(o,{examples:()=>y,schemas:()=>c}),module.exports=(e=o,((e,n,o,c)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let d of r(n))i.call(e,d)||d===o||a(e,d,{get:()=>n[d],enumerable:!(c=t(n,d))||c.enumerable});return e})(a({},"__esModule",{value:!0}),e));var c={};n(c,{MappingSchema:()=>u,SettingsSchema:()=>m,mapping:()=>v,settings:()=>l});var d=require("@walkeros/core/dev"),s=require("@walkeros/core/dev"),m=s.z.object({appId:s.z.string().min(1).describe("ID of the Piwik PRO site (like XXX-XXX-XXX-XXX-XXX)"),url:s.z.string().url().describe("URL of your Piwik PRO account (like https://your_account_name.piwik.pro/)"),linkTracking:s.z.boolean().default(!1).describe("Enables/Disables download and outlink tracking")}),p=require("@walkeros/core/dev"),u=p.z.object({goalId:p.z.string().describe("ID to count the event as a goal (like 1)"),goalValue:p.z.string().describe("Property to be used as the goal value (like data.value)").optional()}),l=(0,d.zodToSchema)(m),v=(0,d.zodToSchema)(u),y={};n(y,{env:()=>k,step:()=>w});var k={};n(k,{init:()=>g,push:()=>b});var g={window:{_paq:void 0},document:{createElement:()=>({type:"",src:"",async:!1,defer:!1}),head:{appendChild:()=>{}}}},b={window:{_paq:[]},document:{createElement:()=>({type:"",src:"",async:!1,defer:!1}),head:{appendChild:()=>{}}}},w={};n(w,{cartUpdate:()=>q,ecommerceAddToCart:()=>C,ecommerceOrder:()=>h,productDetailView:()=>D});var E=require("@walkeros/core"),h={in:(0,E.getEvent)("order complete",{timestamp:1700000300}),mapping:{name:"ecommerceOrder",data:{set:[{loop:["nested",{condition:e=>(0,E.isObject)(e)&&"product"===e.entity,map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{orderId:"data.id",grandTotal:"data.total",tax:"data.taxes",shipping:"data.shipping"}},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceOrder",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}},{sku:"cc",name:"Cool Cap",price:42,quantity:1,variant:void 0,customDimensions:{1:"one size"}}],{orderId:"0rd3r1d",grandTotal:555,tax:73.76,shipping:5.22},{currencyCode:"EUR"}]]},C={in:(0,E.getEvent)("product add",{timestamp:1700000301}),mapping:{name:"ecommerceAddToCart",data:{set:[{set:[{map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceAddToCart",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],{currencyCode:"EUR"}]]},D={in:(0,E.getEvent)("product view",{timestamp:1700000302}),mapping:{name:"ecommerceProductDetailView",data:{set:[{set:[{map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceProductDetailView",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],{currencyCode:"EUR"}]]},q={in:(0,E.getEvent)("cart view",{timestamp:1700000303}),mapping:{name:"ecommerceCartUpdate",data:{set:[{loop:["nested",{condition:e=>(0,E.isObject)(e)&&"product"===e.entity,map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},"data.value",{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceCartUpdate",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],840,{currencyCode:"EUR"}]]};//# sourceMappingURL=dev.js.map
1
+ "use strict";var e,a=Object.defineProperty,t=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,n=(e,t)=>{for(var i in t)a(e,i,{get:t[i],enumerable:!0})},o={};n(o,{examples:()=>k,schemas:()=>c}),module.exports=(e=o,((e,n,o,c)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let d of i(n))r.call(e,d)||d===o||a(e,d,{get:()=>n[d],enumerable:!(c=t(n,d))||c.enumerable});return e})(a({},"__esModule",{value:!0}),e));var c={};n(c,{MappingSchema:()=>u,SettingsSchema:()=>m,mapping:()=>v,settings:()=>l});var d=require("@walkeros/core/dev"),s=require("@walkeros/core/dev"),m=s.z.object({appId:s.z.string().min(1).describe("ID of the Piwik PRO site (like XXX-XXX-XXX-XXX-XXX)"),url:s.z.string().url().describe("URL of your Piwik PRO account (like https://your_account_name.piwik.pro/)"),linkTracking:s.z.boolean().default(!1).describe("Enables/Disables download and outlink tracking")}),p=require("@walkeros/core/dev"),u=p.z.object({goalId:p.z.string().describe("ID to count the event as a goal (like 1)"),goalValue:p.z.string().describe("Property to be used as the goal value (like data.value)").optional()}),l=(0,d.zodToSchema)(m),v=(0,d.zodToSchema)(u),k={};n(k,{env:()=>y,step:()=>E});var y={};n(y,{init:()=>g,push:()=>b,simulation:()=>w});var g={window:{_paq:void 0},document:{createElement:()=>({type:"",src:"",async:!1,defer:!1}),head:{appendChild:()=>{}}}},b={window:{_paq:[]},document:{createElement:()=>({type:"",src:"",async:!1,defer:!1}),head:{appendChild:()=>{}}}},w=["call:window._paq.push"],E={};n(E,{cartUpdate:()=>O,customEvent:()=>R,ecommerceAddToCart:()=>q,ecommerceOrder:()=>C,pageViewWithTitle:()=>X,productDetailView:()=>D});var h=require("@walkeros/core"),C={in:(0,h.getEvent)("order complete",{timestamp:1700000300}),mapping:{name:"ecommerceOrder",data:{set:[{loop:["nested",{condition:e=>(0,h.isObject)(e)&&"product"===e.entity,map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{orderId:"data.id",grandTotal:"data.total",tax:"data.taxes",shipping:"data.shipping"}},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceOrder",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}},{sku:"cc",name:"Cool Cap",price:42,quantity:1,variant:void 0,customDimensions:{1:"one size"}}],{orderId:"0rd3r1d",grandTotal:555,tax:73.76,shipping:5.22},{currencyCode:"EUR"}]]},q={in:(0,h.getEvent)("product add",{timestamp:1700000301}),mapping:{name:"ecommerceAddToCart",data:{set:[{set:[{map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceAddToCart",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],{currencyCode:"EUR"}]]},D={in:(0,h.getEvent)("product view",{timestamp:1700000302}),mapping:{name:"ecommerceProductDetailView",data:{set:[{set:[{map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceProductDetailView",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],{currencyCode:"EUR"}]]},O={in:(0,h.getEvent)("cart view",{timestamp:1700000303}),mapping:{name:"ecommerceCartUpdate",data:{set:[{loop:["nested",{condition:e=>(0,h.isObject)(e)&&"product"===e.entity,map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},"data.value",{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceCartUpdate",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],840,{currencyCode:"EUR"}]]},R={in:(0,h.getEvent)("promotion visible",{timestamp:1700000304}),mapping:{name:"trackEvent",settings:{goalId:"goal_1"},data:{set:["data.name","data.position"]}},out:[["trackEvent","Setting up tracking easily","hero"],["trackGoal","goal_1",void 0]]},X={in:(0,h.getEvent)("page view",{timestamp:1700000305}),mapping:{data:"data.title"},out:[["trackPageView","walkerOS documentation"]]};//# sourceMappingURL=dev.js.map
package/dist/dev.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/dev.ts","../src/schemas/index.ts","../src/schemas/settings.ts","../src/schemas/mapping.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts"],"sourcesContent":["export * as schemas from './schemas';\nexport * as examples from './examples';\n","import { zodToSchema } from '@walkeros/core/dev';\nimport { SettingsSchema } from './settings';\nimport { MappingSchema } from './mapping';\n\nexport { SettingsSchema, type Settings } from './settings';\nexport { MappingSchema, type Mapping } from './mapping';\n\n// JSON Schema\nexport const settings = zodToSchema(SettingsSchema);\nexport const mapping = zodToSchema(MappingSchema);\n","import { z } from '@walkeros/core/dev';\n\nexport const SettingsSchema = z.object({\n appId: z\n .string()\n .min(1)\n .describe('ID of the Piwik PRO site (like XXX-XXX-XXX-XXX-XXX)'),\n url: z\n .string()\n .url()\n .describe(\n 'URL of your Piwik PRO account (like https://your_account_name.piwik.pro/)',\n ),\n linkTracking: z\n .boolean()\n .default(false)\n .describe('Enables/Disables download and outlink tracking'),\n});\n\nexport type Settings = z.infer<typeof SettingsSchema>;\n","import { z } from '@walkeros/core/dev';\n\nexport const MappingSchema = z.object({\n goalId: z.string().describe('ID to count the event as a goal (like 1)'),\n goalValue: z\n .string()\n .describe('Property to be used as the goal value (like data.value)')\n .optional(),\n});\n\nexport type Mapping = z.infer<typeof MappingSchema>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for PiwikPro destination\n *\n * These environments provide standardized mock structures for testing\n * and development without requiring external dependencies.\n */\n\nexport const init: Env | undefined = {\n window: {\n _paq: undefined as unknown as Env['window']['_paq'],\n },\n document: {\n createElement: () => ({\n type: '',\n src: '',\n async: false,\n defer: false,\n }),\n head: { appendChild: () => {} },\n },\n};\n\nexport const push: Env = {\n window: {\n _paq: [] as unknown[],\n },\n document: {\n createElement: () => ({\n type: '',\n src: '',\n async: false,\n defer: false,\n }),\n head: { appendChild: () => {} },\n },\n};\n","import type { Flow } from '@walkeros/core';\nimport { getEvent, isObject } from '@walkeros/core';\n\nexport const ecommerceOrder: Flow.StepExample = {\n in: getEvent('order complete', { timestamp: 1700000300 }),\n mapping: {\n name: 'ecommerceOrder',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity: unknown) =>\n isObject(entity) && entity.entity === 'product',\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n orderId: 'data.id',\n grandTotal: 'data.total',\n tax: 'data.taxes',\n shipping: 'data.shipping',\n },\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceOrder',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n {\n sku: 'cc',\n name: 'Cool Cap',\n price: 42,\n quantity: 1,\n variant: undefined,\n customDimensions: { 1: 'one size' },\n },\n ],\n {\n orderId: '0rd3r1d',\n grandTotal: 555,\n tax: 73.76,\n shipping: 5.22,\n },\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const ecommerceAddToCart: Flow.StepExample = {\n in: getEvent('product add', { timestamp: 1700000301 }),\n mapping: {\n name: 'ecommerceAddToCart',\n data: {\n set: [\n {\n set: [\n {\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceAddToCart',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const productDetailView: Flow.StepExample = {\n in: getEvent('product view', { timestamp: 1700000302 }),\n mapping: {\n name: 'ecommerceProductDetailView',\n data: {\n set: [\n {\n set: [\n {\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceProductDetailView',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const cartUpdate: Flow.StepExample = {\n in: getEvent('cart view', { timestamp: 1700000303 }),\n mapping: {\n name: 'ecommerceCartUpdate',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity: unknown) =>\n isObject(entity) && entity.entity === 'product',\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n 'data.value',\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceCartUpdate',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n 840,\n { currencyCode: 'EUR' },\n ],\n ],\n};\n"],"mappings":"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","names":["import_dev","import_dev"]}
1
+ {"version":3,"sources":["../src/dev.ts","../src/schemas/index.ts","../src/schemas/settings.ts","../src/schemas/mapping.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts"],"sourcesContent":["export * as schemas from './schemas';\nexport * as examples from './examples';\n","import { zodToSchema } from '@walkeros/core/dev';\nimport { SettingsSchema } from './settings';\nimport { MappingSchema } from './mapping';\n\nexport { SettingsSchema, type Settings } from './settings';\nexport { MappingSchema, type Mapping } from './mapping';\n\n// JSON Schema\nexport const settings = zodToSchema(SettingsSchema);\nexport const mapping = zodToSchema(MappingSchema);\n","import { z } from '@walkeros/core/dev';\n\nexport const SettingsSchema = z.object({\n appId: z\n .string()\n .min(1)\n .describe('ID of the Piwik PRO site (like XXX-XXX-XXX-XXX-XXX)'),\n url: z\n .string()\n .url()\n .describe(\n 'URL of your Piwik PRO account (like https://your_account_name.piwik.pro/)',\n ),\n linkTracking: z\n .boolean()\n .default(false)\n .describe('Enables/Disables download and outlink tracking'),\n});\n\nexport type Settings = z.infer<typeof SettingsSchema>;\n","import { z } from '@walkeros/core/dev';\n\nexport const MappingSchema = z.object({\n goalId: z.string().describe('ID to count the event as a goal (like 1)'),\n goalValue: z\n .string()\n .describe('Property to be used as the goal value (like data.value)')\n .optional(),\n});\n\nexport type Mapping = z.infer<typeof MappingSchema>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for PiwikPro destination\n *\n * These environments provide standardized mock structures for testing\n * and development without requiring external dependencies.\n */\n\nexport const init: Env | undefined = {\n window: {\n _paq: undefined as unknown as Env['window']['_paq'],\n },\n document: {\n createElement: () => ({\n type: '',\n src: '',\n async: false,\n defer: false,\n }),\n head: { appendChild: () => {} },\n },\n};\n\nexport const push: Env = {\n window: {\n _paq: [] as unknown[],\n },\n document: {\n createElement: () => ({\n type: '',\n src: '',\n async: false,\n defer: false,\n }),\n head: { appendChild: () => {} },\n },\n};\n\n/**\n * Simulation tracking paths\n * Specifies which function calls to track during simulation\n */\nexport const simulation = [\n 'call:window._paq.push', // Track _paq.push calls\n];\n","import type { Flow } from '@walkeros/core';\nimport { getEvent, isObject } from '@walkeros/core';\n\nexport const ecommerceOrder: Flow.StepExample = {\n in: getEvent('order complete', { timestamp: 1700000300 }),\n mapping: {\n name: 'ecommerceOrder',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity: unknown) =>\n isObject(entity) && entity.entity === 'product',\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n orderId: 'data.id',\n grandTotal: 'data.total',\n tax: 'data.taxes',\n shipping: 'data.shipping',\n },\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceOrder',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n {\n sku: 'cc',\n name: 'Cool Cap',\n price: 42,\n quantity: 1,\n variant: undefined,\n customDimensions: { 1: 'one size' },\n },\n ],\n {\n orderId: '0rd3r1d',\n grandTotal: 555,\n tax: 73.76,\n shipping: 5.22,\n },\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const ecommerceAddToCart: Flow.StepExample = {\n in: getEvent('product add', { timestamp: 1700000301 }),\n mapping: {\n name: 'ecommerceAddToCart',\n data: {\n set: [\n {\n set: [\n {\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceAddToCart',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const productDetailView: Flow.StepExample = {\n in: getEvent('product view', { timestamp: 1700000302 }),\n mapping: {\n name: 'ecommerceProductDetailView',\n data: {\n set: [\n {\n set: [\n {\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceProductDetailView',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const cartUpdate: Flow.StepExample = {\n in: getEvent('cart view', { timestamp: 1700000303 }),\n mapping: {\n name: 'ecommerceCartUpdate',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity: unknown) =>\n isObject(entity) && entity.entity === 'product',\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n 'data.value',\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceCartUpdate',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n 840,\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const customEvent: Flow.StepExample = {\n in: getEvent('promotion visible', { timestamp: 1700000304 }),\n mapping: {\n name: 'trackEvent',\n settings: {\n goalId: 'goal_1',\n },\n data: {\n set: ['data.name', 'data.position'],\n },\n },\n out: [\n ['trackEvent', 'Setting up tracking easily', 'hero'],\n ['trackGoal', 'goal_1', undefined],\n ],\n};\n\nexport const pageViewWithTitle: Flow.StepExample = {\n in: getEvent('page view', { timestamp: 1700000305 }),\n mapping: {\n data: 'data.title',\n },\n out: [['trackPageView', 'walkerOS documentation']],\n};\n"],"mappings":"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","names":["import_dev","import_dev"]}
package/dist/dev.mjs CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty,a=(a,t)=>{for(var r in t)e(a,r,{get:t[r],enumerable:!0})},t={};a(t,{MappingSchema:()=>c,SettingsSchema:()=>n,mapping:()=>m,settings:()=>d});import{zodToSchema as r}from"@walkeros/core/dev";import{z as i}from"@walkeros/core/dev";var n=i.object({appId:i.string().min(1).describe("ID of the Piwik PRO site (like XXX-XXX-XXX-XXX-XXX)"),url:i.string().url().describe("URL of your Piwik PRO account (like https://your_account_name.piwik.pro/)"),linkTracking:i.boolean().default(!1).describe("Enables/Disables download and outlink tracking")});import{z as o}from"@walkeros/core/dev";var c=o.object({goalId:o.string().describe("ID to count the event as a goal (like 1)"),goalValue:o.string().describe("Property to be used as the goal value (like data.value)").optional()}),d=r(n),m=r(c),s={};a(s,{env:()=>p,step:()=>k});var p={};a(p,{init:()=>u,push:()=>l});var u={window:{_paq:void 0},document:{createElement:()=>({type:"",src:"",async:!1,defer:!1}),head:{appendChild:()=>{}}}},l={window:{_paq:[]},document:{createElement:()=>({type:"",src:"",async:!1,defer:!1}),head:{appendChild:()=>{}}}},k={};a(k,{cartUpdate:()=>C,ecommerceAddToCart:()=>b,ecommerceOrder:()=>g,productDetailView:()=>w});import{getEvent as v,isObject as y}from"@walkeros/core";var g={in:v("order complete",{timestamp:1700000300}),mapping:{name:"ecommerceOrder",data:{set:[{loop:["nested",{condition:e=>y(e)&&"product"===e.entity,map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{orderId:"data.id",grandTotal:"data.total",tax:"data.taxes",shipping:"data.shipping"}},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceOrder",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}},{sku:"cc",name:"Cool Cap",price:42,quantity:1,variant:void 0,customDimensions:{1:"one size"}}],{orderId:"0rd3r1d",grandTotal:555,tax:73.76,shipping:5.22},{currencyCode:"EUR"}]]},b={in:v("product add",{timestamp:1700000301}),mapping:{name:"ecommerceAddToCart",data:{set:[{set:[{map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceAddToCart",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],{currencyCode:"EUR"}]]},w={in:v("product view",{timestamp:1700000302}),mapping:{name:"ecommerceProductDetailView",data:{set:[{set:[{map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceProductDetailView",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],{currencyCode:"EUR"}]]},C={in:v("cart view",{timestamp:1700000303}),mapping:{name:"ecommerceCartUpdate",data:{set:[{loop:["nested",{condition:e=>y(e)&&"product"===e.entity,map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},"data.value",{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceCartUpdate",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],840,{currencyCode:"EUR"}]]};export{s as examples,t as schemas};//# sourceMappingURL=dev.mjs.map
1
+ var a=Object.defineProperty,e=(e,t)=>{for(var i in t)a(e,i,{get:t[i],enumerable:!0})},t={};e(t,{MappingSchema:()=>c,SettingsSchema:()=>n,mapping:()=>m,settings:()=>d});import{zodToSchema as i}from"@walkeros/core/dev";import{z as r}from"@walkeros/core/dev";var n=r.object({appId:r.string().min(1).describe("ID of the Piwik PRO site (like XXX-XXX-XXX-XXX-XXX)"),url:r.string().url().describe("URL of your Piwik PRO account (like https://your_account_name.piwik.pro/)"),linkTracking:r.boolean().default(!1).describe("Enables/Disables download and outlink tracking")});import{z as o}from"@walkeros/core/dev";var c=o.object({goalId:o.string().describe("ID to count the event as a goal (like 1)"),goalValue:o.string().describe("Property to be used as the goal value (like data.value)").optional()}),d=i(n),m=i(c),s={};e(s,{env:()=>p,step:()=>v});var p={};e(p,{init:()=>u,push:()=>l,simulation:()=>k});var u={window:{_paq:void 0},document:{createElement:()=>({type:"",src:"",async:!1,defer:!1}),head:{appendChild:()=>{}}}},l={window:{_paq:[]},document:{createElement:()=>({type:"",src:"",async:!1,defer:!1}),head:{appendChild:()=>{}}}},k=["call:window._paq.push"],v={};e(v,{cartUpdate:()=>E,customEvent:()=>C,ecommerceAddToCart:()=>b,ecommerceOrder:()=>w,pageViewWithTitle:()=>D,productDetailView:()=>h});import{getEvent as y,isObject as g}from"@walkeros/core";var w={in:y("order complete",{timestamp:1700000300}),mapping:{name:"ecommerceOrder",data:{set:[{loop:["nested",{condition:a=>g(a)&&"product"===a.entity,map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{orderId:"data.id",grandTotal:"data.total",tax:"data.taxes",shipping:"data.shipping"}},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceOrder",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}},{sku:"cc",name:"Cool Cap",price:42,quantity:1,variant:void 0,customDimensions:{1:"one size"}}],{orderId:"0rd3r1d",grandTotal:555,tax:73.76,shipping:5.22},{currencyCode:"EUR"}]]},b={in:y("product add",{timestamp:1700000301}),mapping:{name:"ecommerceAddToCart",data:{set:[{set:[{map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceAddToCart",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],{currencyCode:"EUR"}]]},h={in:y("product view",{timestamp:1700000302}),mapping:{name:"ecommerceProductDetailView",data:{set:[{set:[{map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceProductDetailView",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],{currencyCode:"EUR"}]]},E={in:y("cart view",{timestamp:1700000303}),mapping:{name:"ecommerceCartUpdate",data:{set:[{loop:["nested",{condition:a=>g(a)&&"product"===a.entity,map:{sku:"data.id",name:"data.name",price:"data.price",quantity:{value:1},variant:{key:"data.color"},customDimensions:{map:{1:"data.size"}}}}]},"data.value",{map:{currencyCode:{value:"EUR"}}}]}},out:[["ecommerceCartUpdate",[{sku:"ers",name:"Everyday Ruck Snack",price:420,quantity:1,variant:"black",customDimensions:{1:"l"}}],840,{currencyCode:"EUR"}]]},C={in:y("promotion visible",{timestamp:1700000304}),mapping:{name:"trackEvent",settings:{goalId:"goal_1"},data:{set:["data.name","data.position"]}},out:[["trackEvent","Setting up tracking easily","hero"],["trackGoal","goal_1",void 0]]},D={in:y("page view",{timestamp:1700000305}),mapping:{data:"data.title"},out:[["trackPageView","walkerOS documentation"]]};export{s as examples,t as schemas};//# sourceMappingURL=dev.mjs.map
package/dist/dev.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schemas/index.ts","../src/schemas/settings.ts","../src/schemas/mapping.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts"],"sourcesContent":["import { zodToSchema } from '@walkeros/core/dev';\nimport { SettingsSchema } from './settings';\nimport { MappingSchema } from './mapping';\n\nexport { SettingsSchema, type Settings } from './settings';\nexport { MappingSchema, type Mapping } from './mapping';\n\n// JSON Schema\nexport const settings = zodToSchema(SettingsSchema);\nexport const mapping = zodToSchema(MappingSchema);\n","import { z } from '@walkeros/core/dev';\n\nexport const SettingsSchema = z.object({\n appId: z\n .string()\n .min(1)\n .describe('ID of the Piwik PRO site (like XXX-XXX-XXX-XXX-XXX)'),\n url: z\n .string()\n .url()\n .describe(\n 'URL of your Piwik PRO account (like https://your_account_name.piwik.pro/)',\n ),\n linkTracking: z\n .boolean()\n .default(false)\n .describe('Enables/Disables download and outlink tracking'),\n});\n\nexport type Settings = z.infer<typeof SettingsSchema>;\n","import { z } from '@walkeros/core/dev';\n\nexport const MappingSchema = z.object({\n goalId: z.string().describe('ID to count the event as a goal (like 1)'),\n goalValue: z\n .string()\n .describe('Property to be used as the goal value (like data.value)')\n .optional(),\n});\n\nexport type Mapping = z.infer<typeof MappingSchema>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for PiwikPro destination\n *\n * These environments provide standardized mock structures for testing\n * and development without requiring external dependencies.\n */\n\nexport const init: Env | undefined = {\n window: {\n _paq: undefined as unknown as Env['window']['_paq'],\n },\n document: {\n createElement: () => ({\n type: '',\n src: '',\n async: false,\n defer: false,\n }),\n head: { appendChild: () => {} },\n },\n};\n\nexport const push: Env = {\n window: {\n _paq: [] as unknown[],\n },\n document: {\n createElement: () => ({\n type: '',\n src: '',\n async: false,\n defer: false,\n }),\n head: { appendChild: () => {} },\n },\n};\n","import type { Flow } from '@walkeros/core';\nimport { getEvent, isObject } from '@walkeros/core';\n\nexport const ecommerceOrder: Flow.StepExample = {\n in: getEvent('order complete', { timestamp: 1700000300 }),\n mapping: {\n name: 'ecommerceOrder',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity: unknown) =>\n isObject(entity) && entity.entity === 'product',\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n orderId: 'data.id',\n grandTotal: 'data.total',\n tax: 'data.taxes',\n shipping: 'data.shipping',\n },\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceOrder',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n {\n sku: 'cc',\n name: 'Cool Cap',\n price: 42,\n quantity: 1,\n variant: undefined,\n customDimensions: { 1: 'one size' },\n },\n ],\n {\n orderId: '0rd3r1d',\n grandTotal: 555,\n tax: 73.76,\n shipping: 5.22,\n },\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const ecommerceAddToCart: Flow.StepExample = {\n in: getEvent('product add', { timestamp: 1700000301 }),\n mapping: {\n name: 'ecommerceAddToCart',\n data: {\n set: [\n {\n set: [\n {\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceAddToCart',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const productDetailView: Flow.StepExample = {\n in: getEvent('product view', { timestamp: 1700000302 }),\n mapping: {\n name: 'ecommerceProductDetailView',\n data: {\n set: [\n {\n set: [\n {\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceProductDetailView',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const cartUpdate: Flow.StepExample = {\n in: getEvent('cart view', { timestamp: 1700000303 }),\n mapping: {\n name: 'ecommerceCartUpdate',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity: unknown) =>\n isObject(entity) && entity.entity === 'product',\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n 'data.value',\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceCartUpdate',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n 840,\n { currencyCode: 'EUR' },\n ],\n ],\n};\n"],"mappings":"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","names":["z"]}
1
+ {"version":3,"sources":["../src/schemas/index.ts","../src/schemas/settings.ts","../src/schemas/mapping.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts"],"sourcesContent":["import { zodToSchema } from '@walkeros/core/dev';\nimport { SettingsSchema } from './settings';\nimport { MappingSchema } from './mapping';\n\nexport { SettingsSchema, type Settings } from './settings';\nexport { MappingSchema, type Mapping } from './mapping';\n\n// JSON Schema\nexport const settings = zodToSchema(SettingsSchema);\nexport const mapping = zodToSchema(MappingSchema);\n","import { z } from '@walkeros/core/dev';\n\nexport const SettingsSchema = z.object({\n appId: z\n .string()\n .min(1)\n .describe('ID of the Piwik PRO site (like XXX-XXX-XXX-XXX-XXX)'),\n url: z\n .string()\n .url()\n .describe(\n 'URL of your Piwik PRO account (like https://your_account_name.piwik.pro/)',\n ),\n linkTracking: z\n .boolean()\n .default(false)\n .describe('Enables/Disables download and outlink tracking'),\n});\n\nexport type Settings = z.infer<typeof SettingsSchema>;\n","import { z } from '@walkeros/core/dev';\n\nexport const MappingSchema = z.object({\n goalId: z.string().describe('ID to count the event as a goal (like 1)'),\n goalValue: z\n .string()\n .describe('Property to be used as the goal value (like data.value)')\n .optional(),\n});\n\nexport type Mapping = z.infer<typeof MappingSchema>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for PiwikPro destination\n *\n * These environments provide standardized mock structures for testing\n * and development without requiring external dependencies.\n */\n\nexport const init: Env | undefined = {\n window: {\n _paq: undefined as unknown as Env['window']['_paq'],\n },\n document: {\n createElement: () => ({\n type: '',\n src: '',\n async: false,\n defer: false,\n }),\n head: { appendChild: () => {} },\n },\n};\n\nexport const push: Env = {\n window: {\n _paq: [] as unknown[],\n },\n document: {\n createElement: () => ({\n type: '',\n src: '',\n async: false,\n defer: false,\n }),\n head: { appendChild: () => {} },\n },\n};\n\n/**\n * Simulation tracking paths\n * Specifies which function calls to track during simulation\n */\nexport const simulation = [\n 'call:window._paq.push', // Track _paq.push calls\n];\n","import type { Flow } from '@walkeros/core';\nimport { getEvent, isObject } from '@walkeros/core';\n\nexport const ecommerceOrder: Flow.StepExample = {\n in: getEvent('order complete', { timestamp: 1700000300 }),\n mapping: {\n name: 'ecommerceOrder',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity: unknown) =>\n isObject(entity) && entity.entity === 'product',\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n orderId: 'data.id',\n grandTotal: 'data.total',\n tax: 'data.taxes',\n shipping: 'data.shipping',\n },\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceOrder',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n {\n sku: 'cc',\n name: 'Cool Cap',\n price: 42,\n quantity: 1,\n variant: undefined,\n customDimensions: { 1: 'one size' },\n },\n ],\n {\n orderId: '0rd3r1d',\n grandTotal: 555,\n tax: 73.76,\n shipping: 5.22,\n },\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const ecommerceAddToCart: Flow.StepExample = {\n in: getEvent('product add', { timestamp: 1700000301 }),\n mapping: {\n name: 'ecommerceAddToCart',\n data: {\n set: [\n {\n set: [\n {\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceAddToCart',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const productDetailView: Flow.StepExample = {\n in: getEvent('product view', { timestamp: 1700000302 }),\n mapping: {\n name: 'ecommerceProductDetailView',\n data: {\n set: [\n {\n set: [\n {\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceProductDetailView',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const cartUpdate: Flow.StepExample = {\n in: getEvent('cart view', { timestamp: 1700000303 }),\n mapping: {\n name: 'ecommerceCartUpdate',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity: unknown) =>\n isObject(entity) && entity.entity === 'product',\n map: {\n sku: 'data.id',\n name: 'data.name',\n price: 'data.price',\n quantity: { value: 1 },\n variant: { key: 'data.color' },\n customDimensions: {\n map: {\n 1: 'data.size',\n },\n },\n },\n },\n ],\n },\n 'data.value',\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n },\n out: [\n [\n 'ecommerceCartUpdate',\n [\n {\n sku: 'ers',\n name: 'Everyday Ruck Snack',\n price: 420,\n quantity: 1,\n variant: 'black',\n customDimensions: { 1: 'l' },\n },\n ],\n 840,\n { currencyCode: 'EUR' },\n ],\n ],\n};\n\nexport const customEvent: Flow.StepExample = {\n in: getEvent('promotion visible', { timestamp: 1700000304 }),\n mapping: {\n name: 'trackEvent',\n settings: {\n goalId: 'goal_1',\n },\n data: {\n set: ['data.name', 'data.position'],\n },\n },\n out: [\n ['trackEvent', 'Setting up tracking easily', 'hero'],\n ['trackGoal', 'goal_1', undefined],\n ],\n};\n\nexport const pageViewWithTitle: Flow.StepExample = {\n in: getEvent('page view', { timestamp: 1700000305 }),\n mapping: {\n data: 'data.title',\n },\n out: [['trackPageView', 'walkerOS documentation']],\n};\n"],"mappings":"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","names":["z"]}
@@ -31,24 +31,34 @@ interface Env extends DestinationWeb.Env {
31
31
  */
32
32
  declare const init: Env | undefined;
33
33
  declare const push: Env;
34
+ /**
35
+ * Simulation tracking paths
36
+ * Specifies which function calls to track during simulation
37
+ */
38
+ declare const simulation: string[];
34
39
 
35
40
  declare const env_init: typeof init;
36
41
  declare const env_push: typeof push;
42
+ declare const env_simulation: typeof simulation;
37
43
  declare namespace env {
38
- export { env_init as init, env_push as push };
44
+ export { env_init as init, env_push as push, env_simulation as simulation };
39
45
  }
40
46
 
41
47
  declare const ecommerceOrder: Flow.StepExample;
42
48
  declare const ecommerceAddToCart: Flow.StepExample;
43
49
  declare const productDetailView: Flow.StepExample;
44
50
  declare const cartUpdate: Flow.StepExample;
51
+ declare const customEvent: Flow.StepExample;
52
+ declare const pageViewWithTitle: Flow.StepExample;
45
53
 
46
54
  declare const step_cartUpdate: typeof cartUpdate;
55
+ declare const step_customEvent: typeof customEvent;
47
56
  declare const step_ecommerceAddToCart: typeof ecommerceAddToCart;
48
57
  declare const step_ecommerceOrder: typeof ecommerceOrder;
58
+ declare const step_pageViewWithTitle: typeof pageViewWithTitle;
49
59
  declare const step_productDetailView: typeof productDetailView;
50
60
  declare namespace step {
51
- export { step_cartUpdate as cartUpdate, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_productDetailView as productDetailView };
61
+ export { step_cartUpdate as cartUpdate, step_customEvent as customEvent, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_pageViewWithTitle as pageViewWithTitle, step_productDetailView as productDetailView };
52
62
  }
53
63
 
54
64
  export { env, step };
@@ -31,24 +31,34 @@ interface Env extends DestinationWeb.Env {
31
31
  */
32
32
  declare const init: Env | undefined;
33
33
  declare const push: Env;
34
+ /**
35
+ * Simulation tracking paths
36
+ * Specifies which function calls to track during simulation
37
+ */
38
+ declare const simulation: string[];
34
39
 
35
40
  declare const env_init: typeof init;
36
41
  declare const env_push: typeof push;
42
+ declare const env_simulation: typeof simulation;
37
43
  declare namespace env {
38
- export { env_init as init, env_push as push };
44
+ export { env_init as init, env_push as push, env_simulation as simulation };
39
45
  }
40
46
 
41
47
  declare const ecommerceOrder: Flow.StepExample;
42
48
  declare const ecommerceAddToCart: Flow.StepExample;
43
49
  declare const productDetailView: Flow.StepExample;
44
50
  declare const cartUpdate: Flow.StepExample;
51
+ declare const customEvent: Flow.StepExample;
52
+ declare const pageViewWithTitle: Flow.StepExample;
45
53
 
46
54
  declare const step_cartUpdate: typeof cartUpdate;
55
+ declare const step_customEvent: typeof customEvent;
47
56
  declare const step_ecommerceAddToCart: typeof ecommerceAddToCart;
48
57
  declare const step_ecommerceOrder: typeof ecommerceOrder;
58
+ declare const step_pageViewWithTitle: typeof pageViewWithTitle;
49
59
  declare const step_productDetailView: typeof productDetailView;
50
60
  declare namespace step {
51
- export { step_cartUpdate as cartUpdate, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_productDetailView as productDetailView };
61
+ export { step_cartUpdate as cartUpdate, step_customEvent as customEvent, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_pageViewWithTitle as pageViewWithTitle, step_productDetailView as productDetailView };
52
62
  }
53
63
 
54
64
  export { env, step };
@@ -29,7 +29,8 @@ module.exports = __toCommonJS(examples_exports);
29
29
  var env_exports = {};
30
30
  __export(env_exports, {
31
31
  init: () => init,
32
- push: () => push
32
+ push: () => push,
33
+ simulation: () => simulation
33
34
  });
34
35
  var init = {
35
36
  window: {
@@ -61,13 +62,19 @@ var push = {
61
62
  } }
62
63
  }
63
64
  };
65
+ var simulation = [
66
+ "call:window._paq.push"
67
+ // Track _paq.push calls
68
+ ];
64
69
 
65
70
  // src/examples/step.ts
66
71
  var step_exports = {};
67
72
  __export(step_exports, {
68
73
  cartUpdate: () => cartUpdate,
74
+ customEvent: () => customEvent,
69
75
  ecommerceAddToCart: () => ecommerceAddToCart,
70
76
  ecommerceOrder: () => ecommerceOrder,
77
+ pageViewWithTitle: () => pageViewWithTitle,
71
78
  productDetailView: () => productDetailView
72
79
  });
73
80
  var import_core = require("@walkeros/core");
@@ -295,6 +302,29 @@ var cartUpdate = {
295
302
  ]
296
303
  ]
297
304
  };
305
+ var customEvent = {
306
+ in: (0, import_core.getEvent)("promotion visible", { timestamp: 1700000304 }),
307
+ mapping: {
308
+ name: "trackEvent",
309
+ settings: {
310
+ goalId: "goal_1"
311
+ },
312
+ data: {
313
+ set: ["data.name", "data.position"]
314
+ }
315
+ },
316
+ out: [
317
+ ["trackEvent", "Setting up tracking easily", "hero"],
318
+ ["trackGoal", "goal_1", void 0]
319
+ ]
320
+ };
321
+ var pageViewWithTitle = {
322
+ in: (0, import_core.getEvent)("page view", { timestamp: 1700000305 }),
323
+ mapping: {
324
+ data: "data.title"
325
+ },
326
+ out: [["trackPageView", "walkerOS documentation"]]
327
+ };
298
328
  // Annotate the CommonJS export names for ESM import in node:
299
329
  0 && (module.exports = {
300
330
  env,
@@ -8,7 +8,8 @@ var __export = (target, all) => {
8
8
  var env_exports = {};
9
9
  __export(env_exports, {
10
10
  init: () => init,
11
- push: () => push
11
+ push: () => push,
12
+ simulation: () => simulation
12
13
  });
13
14
  var init = {
14
15
  window: {
@@ -40,13 +41,19 @@ var push = {
40
41
  } }
41
42
  }
42
43
  };
44
+ var simulation = [
45
+ "call:window._paq.push"
46
+ // Track _paq.push calls
47
+ ];
43
48
 
44
49
  // src/examples/step.ts
45
50
  var step_exports = {};
46
51
  __export(step_exports, {
47
52
  cartUpdate: () => cartUpdate,
53
+ customEvent: () => customEvent,
48
54
  ecommerceAddToCart: () => ecommerceAddToCart,
49
55
  ecommerceOrder: () => ecommerceOrder,
56
+ pageViewWithTitle: () => pageViewWithTitle,
50
57
  productDetailView: () => productDetailView
51
58
  });
52
59
  import { getEvent, isObject } from "@walkeros/core";
@@ -274,6 +281,29 @@ var cartUpdate = {
274
281
  ]
275
282
  ]
276
283
  };
284
+ var customEvent = {
285
+ in: getEvent("promotion visible", { timestamp: 1700000304 }),
286
+ mapping: {
287
+ name: "trackEvent",
288
+ settings: {
289
+ goalId: "goal_1"
290
+ },
291
+ data: {
292
+ set: ["data.name", "data.position"]
293
+ }
294
+ },
295
+ out: [
296
+ ["trackEvent", "Setting up tracking easily", "hero"],
297
+ ["trackGoal", "goal_1", void 0]
298
+ ]
299
+ };
300
+ var pageViewWithTitle = {
301
+ in: getEvent("page view", { timestamp: 1700000305 }),
302
+ mapping: {
303
+ data: "data.title"
304
+ },
305
+ out: [["trackPageView", "walkerOS documentation"]]
306
+ };
277
307
  export {
278
308
  env_exports as env,
279
309
  step_exports as step
@@ -1 +1 @@
1
- "use strict";var Destination=(()=>{var t=Object.defineProperty,e=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,r={};((e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:!0})})(r,{DestinationPiwikPro:()=>m,default:()=>h,destinationPiwikPro:()=>O});var i=Object.defineProperty;((t,e)=>{for(var n in e)i(t,n,{get:e[n],enumerable:!0})})({},{Level:()=>c});var a,c=((a=c||{})[a.ERROR=0]="ERROR",a[a.WARN=1]="WARN",a[a.INFO=2]="INFO",a[a.DEBUG=3]="DEBUG",a);function s(t){return Array.isArray(t)}function u(t){return void 0!==t}function l(t){return"object"==typeof t&&null!==t&&!s(t)&&"[object Object]"===Object.prototype.toString.call(t)}function f(t){return"string"==typeof t}function p(t,e="",n){const o=e.split(".");let r=t;for(let t=0;t<o.length;t++){const e=o[t];if("*"===e&&s(r)){const e=o.slice(t+1).join("."),i=[];for(const t of r){const o=p(t,e,n);i.push(o)}return i}if(r=r instanceof Object?r[e]:void 0,void 0===r)break}return u(r)?r:n}function d(t){return function(t){return"boolean"==typeof t}(t)||f(t)||function(t){return"number"==typeof t&&!Number.isNaN(t)}(t)||!u(t)||s(t)&&t.every(d)||l(t)&&Object.values(t).every(d)}function w(t){return d(t)?t:void 0}function v(t,e,n){return async function(...o){try{return await t(...o)}catch(t){if(!e)return;return await e(t)}finally{await(null==n?void 0:n())}}}async function y(t,e={},n={}){var o;if(!u(t))return;const r=l(t)&&t.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),i=s(e)?e:[e];for(const e of i){const o=await v(g)(t,e,{...n,consent:r});if(u(o))return o}}async function g(t,e,n={}){const{collector:o,consent:r}=n;return(s(e)?e:[e]).reduce(async(e,i)=>{const a=await e;if(a)return a;const c=f(i)?{key:i}:i;if(!Object.keys(c).length)return;const{condition:l,consent:d,fn:b,key:m,loop:O,map:j,set:h,validate:k,value:P}=c;if(l&&!await v(l)(t,i,o))return;if(d&&!function(t,e={},n={}){const o={...e,...n},r={};let i=void 0===t;return Object.keys(o).forEach(e=>{o[e]&&(r[e]=!0,t&&t[e]&&(i=!0))}),!!i&&r}(d,r))return P;let N=u(P)?P:t;if(b&&(N=await v(b)(t,i,n)),m&&(N=p(t,m,P)),O){const[e,o]=O,r="this"===e?[t]:await y(t,e,n);s(r)&&(N=(await Promise.all(r.map(t=>y(t,o,n)))).filter(u))}else j?N=await Object.entries(j).reduce(async(e,[o,r])=>{const i=await e,a=await y(t,r,n);return u(a)&&(i[o]=a),i},Promise.resolve({})):h&&(N=await Promise.all(h.map(e=>g(t,e,n))));k&&!await v(k)(N)&&(N=void 0);const R=w(N);return u(R)?R:w(P)},Promise.resolve(void 0))}function b(t){return{window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document,...t}}var m={},O={type:"piwikpro",config:{},init({config:t,env:e,logger:n}){const{window:o}=b(e),r=o,{settings:i,loadScript:a}=t,{appId:c,url:s}=i||{};c||n.throw("Config settings appId missing"),s||n.throw("Config settings url missing"),r._paq=r._paq||[];const u=r._paq.push;a&&(!function(t,e){const{document:n}=b(e),o=n,r=o.createElement("script");r.type="text/javascript",r.src=t+"ppms.js",r.async=!0,r.defer=!0,o.head.appendChild(r)}(s,e),u(["setTrackerUrl",s+"ppms.php"]),u(["setSiteId",c])),!1!==(null==i?void 0:i.linkTracking)&&u(["enableLinkTracking"])},async push(t,{rule:e={},data:n,env:o}){const{window:r}=b(o),i=r._paq.push;if("page view"===t.name&&!e.settings)return void i(["trackPageView",await y(t,"data.title")]);const a=e.settings||{},c=s(n)?n:[n];if(i([t.name,...c]),a.goalId){const e=a.goalValue?y(t,a.goalValue):void 0;i(["trackGoal",a.goalId,e])}}};var j,h=O;return j=r,((r,i,a,c)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let s of n(i))o.call(r,s)||s===a||t(r,s,{get:()=>i[s],enumerable:!(c=e(i,s))||c.enumerable});return r})(t({},"__esModule",{value:!0}),j)})();
1
+ "use strict";var Destination=(()=>{var t=Object.defineProperty,e=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,r={};((e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:!0})})(r,{DestinationPiwikPro:()=>m,default:()=>h,destinationPiwikPro:()=>O});var i=Object.defineProperty;((t,e)=>{for(var n in e)i(t,n,{get:e[n],enumerable:!0})})({},{Level:()=>c});var a,c=((a=c||{})[a.ERROR=0]="ERROR",a[a.WARN=1]="WARN",a[a.INFO=2]="INFO",a[a.DEBUG=3]="DEBUG",a);function s(t){return Array.isArray(t)}function u(t){return void 0!==t}function l(t){return"object"==typeof t&&null!==t&&!s(t)&&"[object Object]"===Object.prototype.toString.call(t)}function f(t){return"string"==typeof t}function p(t,e="",n){const o=e.split(".");let r=t;for(let t=0;t<o.length;t++){const e=o[t];if("*"===e&&s(r)){const e=o.slice(t+1).join("."),i=[];for(const t of r){const o=p(t,e,n);i.push(o)}return i}if(r=r instanceof Object?r[e]:void 0,void 0===r)break}return u(r)?r:n}function d(t){return function(t){return"boolean"==typeof t}(t)||f(t)||function(t){return"number"==typeof t&&!Number.isNaN(t)}(t)||!u(t)||s(t)&&t.every(d)||l(t)&&Object.values(t).every(d)}function w(t){return d(t)?t:void 0}function y(t,e,n){return async function(...o){try{return await t(...o)}catch(t){if(!e)return;return await e(t)}finally{await(null==n?void 0:n())}}}async function g(t,e={},n={}){var o;if(!u(t))return;const r=l(t)&&t.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),i=s(e)?e:[e];for(const e of i){const o=await y(v)(t,e,{...n,consent:r});if(u(o))return o}}async function v(t,e,n={}){const{collector:o,consent:r}=n;return(s(e)?e:[e]).reduce(async(e,i)=>{const a=await e;if(a)return a;const c=f(i)?{key:i}:i;if(!Object.keys(c).length)return;const{condition:l,consent:d,fn:b,key:m,loop:O,map:j,set:h,validate:k,value:P}=c;if(l&&!await y(l)(t,i,o))return;if(d&&!function(t,e={},n={}){const o={...e,...n},r={};let i=!t||0===Object.keys(t).length;return Object.keys(o).forEach(e=>{o[e]&&(r[e]=!0,t&&t[e]&&(i=!0))}),!!i&&r}(d,r))return P;let N=u(P)?P:t;if(b&&(N=await y(b)(t,i,n)),m&&(N=p(t,m,P)),O){const[e,o]=O,r="this"===e?[t]:await g(t,e,n);s(r)&&(N=(await Promise.all(r.map(t=>g(t,o,n)))).filter(u))}else j?N=await Object.entries(j).reduce(async(e,[o,r])=>{const i=await e,a=await g(t,r,n);return u(a)&&(i[o]=a),i},Promise.resolve({})):h&&(N=await Promise.all(h.map(e=>v(t,e,n))));k&&!await y(k)(N)&&(N=void 0);const R=w(N);return u(R)?R:w(P)},Promise.resolve(void 0))}function b(t){return{window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document,...t}}var m={},O={type:"piwikpro",config:{},init({config:t,env:e,logger:n}){const{window:o}=b(e),r=o,{settings:i,loadScript:a}=t,{appId:c,url:s}=i||{};c||n.throw("Config settings appId missing"),s||n.throw("Config settings url missing"),r._paq=r._paq||[];const u=r._paq.push;a&&(!function(t,e){const{document:n}=b(e),o=n,r=o.createElement("script");r.type="text/javascript",r.src=t+"ppms.js",r.async=!0,r.defer=!0,o.head.appendChild(r)}(s,e),u(["setTrackerUrl",s+"ppms.php"]),u(["setSiteId",c])),!1!==(null==i?void 0:i.linkTracking)&&u(["enableLinkTracking"])},async push(t,{rule:e={},data:n,env:o}){const{window:r}=b(o),i=r._paq.push;if("page view"===t.name&&!e.settings)return void i(["trackPageView",await g(t,"data.title")]);const a=e.settings||{},c=s(n)?n:[n];if(i([t.name,...c]),a.goalId){const e=a.goalValue?g(t,a.goalValue):void 0;i(["trackGoal",a.goalId,e])}}};var j,h=O;return j=r,((r,i,a,c)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let s of n(i))o.call(r,s)||s===a||t(r,s,{get:()=>i[s],enumerable:!(c=e(i,s))||c.enumerable});return r})(t({},"__esModule",{value:!0}),j)})();
package/dist/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function asyncGeneratorStep(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function _async_to_generator(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){asyncGeneratorStep(a,n,o,i,u,"next",e)}function u(e){asyncGeneratorStep(a,n,o,i,u,"throw",e)}i(void 0)})}}function _define_property(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a=[],i=!0,u=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){u=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(u)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){_define_property(e,t,r[t])})}return e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,t){if(e){if("string"==typeof e)return _array_like_to_array(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_array_like_to_array(e,t):void 0}}function _ts_generator(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,n=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var Destination=function(){var e=function(e){return Array.isArray(e)},t=function(e){return void 0!==e},r=function(t){return"object"==(void 0===t?"undefined":_type_of(t))&&null!==t&&!e(t)&&"[object Object]"===Object.prototype.toString.call(t)},n=function(e){return"string"==typeof e},o=function(e){return v(e)?e:void 0},a=function(e,t,r){return function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return _async_to_generator(function(){var n;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return n=a.sent(),t?[4,t(n)]:[2];case 4:return[4,null==r?void 0:r()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},i=function(n){return _async_to_generator(function(n){var o,i,u,c,l,s,f,y,_,p,b,d,v,g=arguments;return _ts_generator(this,function(m){switch(m.label){case 0:if(o=g.length>1&&void 0!==g[1]?g[1]:{},i=g.length>2&&void 0!==g[2]?g[2]:{},!t(n))return[2];c=r(n)&&n.consent||i.consent||(null===(u=i.collector)||void 0===u?void 0:u.consent),l=e(o)?o:[o],s=!0,f=!1,y=void 0,m.label=1;case 1:m.trys.push([1,6,7,8]),_=l[Symbol.iterator](),m.label=2;case 2:return(s=(p=_.next()).done)?[3,5]:(b=p.value,[4,a(h)(n,b,_object_spread_props(_object_spread({},i),{consent:c}))]);case 3:if(d=m.sent(),t(d))return[2,d];m.label=4;case 4:return s=!0,[3,2];case 5:return[3,8];case 6:return v=m.sent(),f=!0,y=v,[3,8];case 7:try{s||null==_.return||_.return()}finally{if(f)throw y}return[7];case 8:return[2]}})}).apply(this,arguments)},u=function(e){return _object_spread({window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document},e)},c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,f=Object.prototype.hasOwnProperty,y={};!function(e,t){for(var r in t)c(e,r,{get:t[r],enumerable:!0})}(y,{DestinationPiwikPro:function(){return m},default:function(){return O},destinationPiwikPro:function(){return w}});var _=Object.defineProperty;!function(e,t){for(var r in t)_(e,r,{get:t[r],enumerable:!0})}({},{Level:function(){return b}});var p,b=((p=b||{})[p.ERROR=0]="ERROR",p[p.WARN=1]="WARN",p[p.INFO=2]="INFO",p[p.DEBUG=3]="DEBUG",p);function d(r){for(var n=arguments.length>2?arguments[2]:void 0,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),a=r,i=0;i<o.length;i++){var u=o[i];if("*"===u&&e(a)){var c=o.slice(i+1).join("."),l=[],s=!0,f=!1,y=void 0;try{for(var _,p=a[Symbol.iterator]();!(s=(_=p.next()).done);s=!0){var b=d(_.value,c,n);l.push(b)}}catch(e){f=!0,y=e}finally{try{s||null==p.return||p.return()}finally{if(f)throw y}}return l}if(void 0===(a=_instanceof(a,Object)?a[u]:void 0))break}return t(a)?a:n}function v(o){return function(e){return"boolean"==typeof e}(o)||n(o)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(o)||!t(o)||e(o)&&o.every(v)||r(o)&&Object.values(o).every(v)}function h(r,u){return _async_to_generator(function(r,u){var c,l,s,f=arguments;return _ts_generator(this,function(y){return l=(c=f.length>2&&void 0!==f[2]?f[2]:{}).collector,s=c.consent,[2,(e(u)?u:[u]).reduce(function(u,f){return _async_to_generator(function(){var y,_,p,b,v,g,m,w,O,j,P,S,k,I,A,E,D,x,N,R,T;return _ts_generator(this,function(G){switch(G.label){case 0:return[4,u];case 1:return(y=G.sent())?[2,y]:(_=n(f)?{key:f}:f,Object.keys(_).length?(p=_.condition,b=_.consent,v=_.fn,g=_.key,m=_.loop,w=_.map,O=_.set,j=_.validate,P=_.value,(S=p)?[4,a(p)(r,f,l)]:[3,3]):[2]);case 2:S=!G.sent(),G.label=3;case 3:return S?[2]:b&&!function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),r={},n=void 0===e;return Object.keys(t).forEach(function(o){t[o]&&(r[o]=!0,e&&e[o]&&(n=!0))}),!!n&&r}(b,s)?[2,P]:(k=t(P)?P:r,v?[4,a(v)(r,f,c)]:[3,5]);case 4:k=G.sent(),G.label=5;case 5:return g&&(k=d(r,g,P)),m?(I=_sliced_to_array(m,2),A=I[0],E=I[1],"this"!==A?[3,6]:(x=[r],[3,8])):[3,11];case 6:return[4,i(r,A,c)];case 7:x=G.sent(),G.label=8;case 8:return e(D=x)?[4,Promise.all(D.map(function(e){return i(e,E,c)}))]:[3,10];case 9:k=G.sent().filter(t),G.label=10;case 10:return[3,17];case 11:return w?[4,Object.entries(w).reduce(function(e,n){var o=_sliced_to_array(n,2),a=o[0],u=o[1];return _async_to_generator(function(){var n,o;return _ts_generator(this,function(l){switch(l.label){case 0:return[4,e];case 1:return n=l.sent(),[4,i(r,u,c)];case 2:return o=l.sent(),[2,(t(o)&&(n[a]=o),n)]}})})()},Promise.resolve({}))]:[3,13];case 12:return k=G.sent(),[3,16];case 13:return(N=O)?[4,Promise.all(O.map(function(e){return h(r,e,c)}))]:[3,15];case 14:N=k=G.sent(),G.label=15;case 15:G.label=16;case 16:G.label=17;case 17:return(R=j)?[4,a(j)(k)]:[3,19];case 18:R=!G.sent(),G.label=19;case 19:return R&&(k=void 0),T=o(k),[2,t(T)?T:o(P)]}})})()},Promise.resolve(void 0))]})}).apply(this,arguments)}var g,m={},w={type:"piwikpro",config:{},init:function(e){var t=e.config,r=e.env,n=e.logger,o=u(r).window,a=t.settings,i=t.loadScript,c=a||{},l=c.appId,s=c.url;l||n.throw("Config settings appId missing"),s||n.throw("Config settings url missing"),o._paq=o._paq||[];var f=o._paq.push;i&&(!function(e,t){var r=u(t).document,n=r.createElement("script");n.type="text/javascript",n.src=e+"ppms.js",n.async=!0,n.defer=!0,r.head.appendChild(n)}(s,r),f(["setTrackerUrl",s+"ppms.php"]),f(["setSiteId",l])),!1!==(null==a?void 0:a.linkTracking)&&f(["enableLinkTracking"])},push:function(t,r){return _async_to_generator(function(t,r){var n,o,a,c,l,s,f,y,_,p,b;return _ts_generator(this,function(d){switch(d.label){case 0:return n=r.rule,o=void 0===n?{}:n,a=r.data,c=r.env,l=u(c),s=l.window,f=s._paq.push,"page view"!==t.name||o.settings?[3,2]:(y=["trackPageView"],[4,i(t,"data.title")]);case 1:return f.apply(void 0,[y.concat([d.sent()])]),[2];case 2:return _=o.settings||{},p=e(a)?a:[a],f([t.name].concat(_to_consumable_array(p))),_.goalId&&(b=_.goalValue?i(t,_.goalValue):void 0,f(["trackGoal",_.goalId,b])),[2]}})}).apply(this,arguments)}},O=w;return g=y,function(e,t,r,n){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,i=void 0;try{for(var u,y=function(){var o=u.value;f.call(e,o)||o===r||c(e,o,{get:function(){return t[o]},enumerable:!(n=l(t,o))||n.enumerable})},_=s(t)[Symbol.iterator]();!(o=(u=_.next()).done);o=!0)y()}catch(e){a=!0,i=e}finally{try{o||null==_.return||_.return()}finally{if(a)throw i}}}return e}(c({},"__esModule",{value:!0}),g)}();
1
+ "use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function asyncGeneratorStep(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function _async_to_generator(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){asyncGeneratorStep(a,n,o,i,u,"next",e)}function u(e){asyncGeneratorStep(a,n,o,i,u,"throw",e)}i(void 0)})}}function _define_property(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a=[],i=!0,u=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){u=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(u)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){_define_property(e,t,r[t])})}return e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,t){if(e){if("string"==typeof e)return _array_like_to_array(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_array_like_to_array(e,t):void 0}}function _ts_generator(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,n=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var Destination=function(){var e=function(e){return Array.isArray(e)},t=function(e){return void 0!==e},r=function(t){return"object"==(void 0===t?"undefined":_type_of(t))&&null!==t&&!e(t)&&"[object Object]"===Object.prototype.toString.call(t)},n=function(e){return"string"==typeof e},o=function(e){return v(e)?e:void 0},a=function(e,t,r){return function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return _async_to_generator(function(){var n;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return n=a.sent(),t?[4,t(n)]:[2];case 4:return[4,null==r?void 0:r()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},i=function(n){return _async_to_generator(function(n){var o,i,u,c,l,s,f,y,_,p,b,d,v,g=arguments;return _ts_generator(this,function(m){switch(m.label){case 0:if(o=g.length>1&&void 0!==g[1]?g[1]:{},i=g.length>2&&void 0!==g[2]?g[2]:{},!t(n))return[2];c=r(n)&&n.consent||i.consent||(null===(u=i.collector)||void 0===u?void 0:u.consent),l=e(o)?o:[o],s=!0,f=!1,y=void 0,m.label=1;case 1:m.trys.push([1,6,7,8]),_=l[Symbol.iterator](),m.label=2;case 2:return(s=(p=_.next()).done)?[3,5]:(b=p.value,[4,a(h)(n,b,_object_spread_props(_object_spread({},i),{consent:c}))]);case 3:if(d=m.sent(),t(d))return[2,d];m.label=4;case 4:return s=!0,[3,2];case 5:return[3,8];case 6:return v=m.sent(),f=!0,y=v,[3,8];case 7:try{s||null==_.return||_.return()}finally{if(f)throw y}return[7];case 8:return[2]}})}).apply(this,arguments)},u=function(e){return _object_spread({window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document},e)},c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,f=Object.prototype.hasOwnProperty,y={};!function(e,t){for(var r in t)c(e,r,{get:t[r],enumerable:!0})}(y,{DestinationPiwikPro:function(){return m},default:function(){return O},destinationPiwikPro:function(){return w}});var _=Object.defineProperty;!function(e,t){for(var r in t)_(e,r,{get:t[r],enumerable:!0})}({},{Level:function(){return b}});var p,b=((p=b||{})[p.ERROR=0]="ERROR",p[p.WARN=1]="WARN",p[p.INFO=2]="INFO",p[p.DEBUG=3]="DEBUG",p);function d(r){for(var n=arguments.length>2?arguments[2]:void 0,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),a=r,i=0;i<o.length;i++){var u=o[i];if("*"===u&&e(a)){var c=o.slice(i+1).join("."),l=[],s=!0,f=!1,y=void 0;try{for(var _,p=a[Symbol.iterator]();!(s=(_=p.next()).done);s=!0){var b=d(_.value,c,n);l.push(b)}}catch(e){f=!0,y=e}finally{try{s||null==p.return||p.return()}finally{if(f)throw y}}return l}if(void 0===(a=_instanceof(a,Object)?a[u]:void 0))break}return t(a)?a:n}function v(o){return function(e){return"boolean"==typeof e}(o)||n(o)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(o)||!t(o)||e(o)&&o.every(v)||r(o)&&Object.values(o).every(v)}function h(r,u){return _async_to_generator(function(r,u){var c,l,s,f=arguments;return _ts_generator(this,function(y){return l=(c=f.length>2&&void 0!==f[2]?f[2]:{}).collector,s=c.consent,[2,(e(u)?u:[u]).reduce(function(u,f){return _async_to_generator(function(){var y,_,p,b,v,g,m,w,O,j,P,S,k,I,A,E,D,x,N,R,T;return _ts_generator(this,function(G){switch(G.label){case 0:return[4,u];case 1:return(y=G.sent())?[2,y]:(_=n(f)?{key:f}:f,Object.keys(_).length?(p=_.condition,b=_.consent,v=_.fn,g=_.key,m=_.loop,w=_.map,O=_.set,j=_.validate,P=_.value,(S=p)?[4,a(p)(r,f,l)]:[3,3]):[2]);case 2:S=!G.sent(),G.label=3;case 3:return S?[2]:b&&!function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),r={},n=!e||0===Object.keys(e).length;return Object.keys(t).forEach(function(o){t[o]&&(r[o]=!0,e&&e[o]&&(n=!0))}),!!n&&r}(b,s)?[2,P]:(k=t(P)?P:r,v?[4,a(v)(r,f,c)]:[3,5]);case 4:k=G.sent(),G.label=5;case 5:return g&&(k=d(r,g,P)),m?(I=_sliced_to_array(m,2),A=I[0],E=I[1],"this"!==A?[3,6]:(x=[r],[3,8])):[3,11];case 6:return[4,i(r,A,c)];case 7:x=G.sent(),G.label=8;case 8:return e(D=x)?[4,Promise.all(D.map(function(e){return i(e,E,c)}))]:[3,10];case 9:k=G.sent().filter(t),G.label=10;case 10:return[3,17];case 11:return w?[4,Object.entries(w).reduce(function(e,n){var o=_sliced_to_array(n,2),a=o[0],u=o[1];return _async_to_generator(function(){var n,o;return _ts_generator(this,function(l){switch(l.label){case 0:return[4,e];case 1:return n=l.sent(),[4,i(r,u,c)];case 2:return o=l.sent(),[2,(t(o)&&(n[a]=o),n)]}})})()},Promise.resolve({}))]:[3,13];case 12:return k=G.sent(),[3,16];case 13:return(N=O)?[4,Promise.all(O.map(function(e){return h(r,e,c)}))]:[3,15];case 14:N=k=G.sent(),G.label=15;case 15:G.label=16;case 16:G.label=17;case 17:return(R=j)?[4,a(j)(k)]:[3,19];case 18:R=!G.sent(),G.label=19;case 19:return R&&(k=void 0),T=o(k),[2,t(T)?T:o(P)]}})})()},Promise.resolve(void 0))]})}).apply(this,arguments)}var g,m={},w={type:"piwikpro",config:{},init:function(e){var t=e.config,r=e.env,n=e.logger,o=u(r).window,a=t.settings,i=t.loadScript,c=a||{},l=c.appId,s=c.url;l||n.throw("Config settings appId missing"),s||n.throw("Config settings url missing"),o._paq=o._paq||[];var f=o._paq.push;i&&(!function(e,t){var r=u(t).document,n=r.createElement("script");n.type="text/javascript",n.src=e+"ppms.js",n.async=!0,n.defer=!0,r.head.appendChild(n)}(s,r),f(["setTrackerUrl",s+"ppms.php"]),f(["setSiteId",l])),!1!==(null==a?void 0:a.linkTracking)&&f(["enableLinkTracking"])},push:function(t,r){return _async_to_generator(function(t,r){var n,o,a,c,l,s,f,y,_,p,b;return _ts_generator(this,function(d){switch(d.label){case 0:return n=r.rule,o=void 0===n?{}:n,a=r.data,c=r.env,l=u(c),s=l.window,f=s._paq.push,"page view"!==t.name||o.settings?[3,2]:(y=["trackPageView"],[4,i(t,"data.title")]);case 1:return f.apply(void 0,[y.concat([d.sent()])]),[2];case 2:return _=o.settings||{},p=e(a)?a:[a],f([t.name].concat(_to_consumable_array(p))),_.goalId&&(b=_.goalValue?i(t,_.goalValue):void 0,f(["trackGoal",_.goalId,b])),[2]}})}).apply(this,arguments)}},O=w;return g=y,function(e,t,r,n){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,i=void 0;try{for(var u,y=function(){var o=u.value;f.call(e,o)||o===r||c(e,o,{get:function(){return t[o]},enumerable:!(n=l(t,o))||n.enumerable})},_=s(t)[Symbol.iterator]();!(o=(u=_.next()).done);o=!0)y()}catch(e){a=!0,i=e}finally{try{o||null==_.return||_.return()}finally{if(a)throw i}}}return e}(c({},"__esModule",{value:!0}),g)}();
@@ -3,7 +3,9 @@
3
3
  "package": "@walkeros/web-destination-piwikpro",
4
4
  "version": "2.1.1",
5
5
  "type": "destination",
6
- "platform": "web"
6
+ "platform": "web",
7
+ "docs": "https://www.walkeros.io/docs/destinations/web/piwikpro",
8
+ "source": "https://github.com/elbwalker/walkerOS/tree/main/packages/web/destinations/piwikpro/src"
7
9
  },
8
10
  "schemas": {
9
11
  "mapping": {
@@ -81,7 +83,10 @@
81
83
  }
82
84
  }
83
85
  }
84
- }
86
+ },
87
+ "simulation": [
88
+ "call:window._paq.push"
89
+ ]
85
90
  },
86
91
  "step": {
87
92
  "cartUpdate": {
@@ -158,7 +163,7 @@
158
163
  "nested",
159
164
  {
160
165
  "condition": {
161
- "$code": "e=>y(e)&&\"product\"===e.entity"
166
+ "$code": "a=>g(a)&&\"product\"===a.entity"
162
167
  },
163
168
  "map": {
164
169
  "sku": "data.id",
@@ -212,6 +217,91 @@
212
217
  ]
213
218
  ]
214
219
  },
220
+ "customEvent": {
221
+ "in": {
222
+ "name": "promotion visible",
223
+ "data": {
224
+ "name": "Setting up tracking easily",
225
+ "position": "hero"
226
+ },
227
+ "context": {
228
+ "ab_test": [
229
+ "engagement",
230
+ 0
231
+ ]
232
+ },
233
+ "globals": {
234
+ "pagegroup": "homepage"
235
+ },
236
+ "custom": {
237
+ "completely": "random"
238
+ },
239
+ "user": {
240
+ "id": "us3r",
241
+ "device": "c00k13",
242
+ "session": "s3ss10n"
243
+ },
244
+ "nested": [
245
+ {
246
+ "entity": "child",
247
+ "data": {
248
+ "is": "subordinated"
249
+ },
250
+ "nested": [],
251
+ "context": {
252
+ "element": [
253
+ "child",
254
+ 0
255
+ ]
256
+ }
257
+ }
258
+ ],
259
+ "consent": {
260
+ "functional": true
261
+ },
262
+ "id": "1700000304-gr0up-1",
263
+ "trigger": "visible",
264
+ "entity": "promotion",
265
+ "action": "visible",
266
+ "timestamp": 1700000304,
267
+ "timing": 3.14,
268
+ "group": "gr0up",
269
+ "count": 1,
270
+ "version": {
271
+ "source": "2.1.1",
272
+ "tagging": 1
273
+ },
274
+ "source": {
275
+ "type": "web",
276
+ "id": "https://localhost:80",
277
+ "previous_id": "http://remotehost:9001"
278
+ }
279
+ },
280
+ "mapping": {
281
+ "name": "trackEvent",
282
+ "settings": {
283
+ "goalId": "goal_1"
284
+ },
285
+ "data": {
286
+ "set": [
287
+ "data.name",
288
+ "data.position"
289
+ ]
290
+ }
291
+ },
292
+ "out": [
293
+ [
294
+ "trackEvent",
295
+ "Setting up tracking easily",
296
+ "hero"
297
+ ],
298
+ [
299
+ "trackGoal",
300
+ "goal_1",
301
+ null
302
+ ]
303
+ ]
304
+ },
215
305
  "ecommerceAddToCart": {
216
306
  "in": {
217
307
  "name": "product add",
@@ -423,7 +513,7 @@
423
513
  "nested",
424
514
  {
425
515
  "condition": {
426
- "$code": "e=>y(e)&&\"product\"===e.entity"
516
+ "$code": "a=>g(a)&&\"product\"===a.entity"
427
517
  },
428
518
  "map": {
429
519
  "sku": "data.id",
@@ -498,6 +588,80 @@
498
588
  ]
499
589
  ]
500
590
  },
591
+ "pageViewWithTitle": {
592
+ "in": {
593
+ "name": "page view",
594
+ "data": {
595
+ "domain": "www.example.com",
596
+ "title": "walkerOS documentation",
597
+ "referrer": "https://www.walkeros.io/",
598
+ "search": "?foo=bar",
599
+ "hash": "#hash",
600
+ "id": "/docs/"
601
+ },
602
+ "context": {
603
+ "dev": [
604
+ "test",
605
+ 1
606
+ ]
607
+ },
608
+ "globals": {
609
+ "pagegroup": "docs"
610
+ },
611
+ "custom": {
612
+ "completely": "random"
613
+ },
614
+ "user": {
615
+ "id": "us3r",
616
+ "device": "c00k13",
617
+ "session": "s3ss10n"
618
+ },
619
+ "nested": [
620
+ {
621
+ "entity": "child",
622
+ "data": {
623
+ "is": "subordinated"
624
+ },
625
+ "nested": [],
626
+ "context": {
627
+ "element": [
628
+ "child",
629
+ 0
630
+ ]
631
+ }
632
+ }
633
+ ],
634
+ "consent": {
635
+ "functional": true
636
+ },
637
+ "id": "1700000305-gr0up-1",
638
+ "trigger": "load",
639
+ "entity": "page",
640
+ "action": "view",
641
+ "timestamp": 1700000305,
642
+ "timing": 3.14,
643
+ "group": "gr0up",
644
+ "count": 1,
645
+ "version": {
646
+ "source": "2.1.1",
647
+ "tagging": 1
648
+ },
649
+ "source": {
650
+ "type": "web",
651
+ "id": "https://localhost:80",
652
+ "previous_id": "http://remotehost:9001"
653
+ }
654
+ },
655
+ "mapping": {
656
+ "data": "data.title"
657
+ },
658
+ "out": [
659
+ [
660
+ "trackPageView",
661
+ "walkerOS documentation"
662
+ ]
663
+ ]
664
+ },
501
665
  "productDetailView": {
502
666
  "in": {
503
667
  "name": "product view",
package/package.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "@walkeros/web-destination-piwikpro",
3
3
  "description": "Piwik PRO destination for walkerOS",
4
- "version": "2.2.0-next-1773136823705",
4
+ "version": "3.0.0",
5
5
  "license": "MIT",
6
- "sideEffects": false,
7
6
  "main": "./dist/index.js",
8
7
  "module": "./dist/index.mjs",
9
8
  "types": "./dist/index.d.ts",
@@ -37,11 +36,11 @@
37
36
  "update": "npx npm-check-updates -u && npm update"
38
37
  },
39
38
  "dependencies": {
40
- "@walkeros/core": "2.2.0-next-1773136823705",
41
- "@walkeros/web-core": "2.2.0-next-1773136823705"
39
+ "@walkeros/core": "^3.0.0",
40
+ "@walkeros/web-core": "^3.0.0"
42
41
  },
43
42
  "devDependencies": {
44
- "@walkeros/collector": "2.2.0-next-1773136823705"
43
+ "@walkeros/collector": "^3.0.0"
45
44
  },
46
45
  "repository": {
47
46
  "url": "git+https://github.com/elbwalker/walkerOS.git",
@@ -54,7 +53,8 @@
54
53
  },
55
54
  "walkerOS": {
56
55
  "type": "destination",
57
- "platform": "web"
56
+ "platform": "web",
57
+ "docs": "https://www.walkeros.io/docs/destinations/web/piwikpro"
58
58
  },
59
59
  "keywords": [
60
60
  "walkerOS",