@walkeros/web-destination-piwikpro 2.0.1 → 2.1.1
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 +18 -44
- package/dist/dev.d.ts +18 -44
- package/dist/dev.js +1 -1
- package/dist/dev.js.map +1 -1
- package/dist/dev.mjs +1 -1
- package/dist/dev.mjs.map +1 -1
- package/dist/examples/index.d.mts +13 -40
- package/dist/examples/index.d.ts +13 -40
- package/dist/examples/index.js +209 -159
- package/dist/examples/index.mjs +209 -158
- package/dist/index.browser.js +1 -1
- package/dist/index.es5.js +1 -1
- package/dist/walkerOS.json +472 -296
- package/package.json +4 -4
package/dist/dev.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _walkeros_core_dev from '@walkeros/core/dev';
|
|
2
2
|
import { z } from '@walkeros/core/dev';
|
|
3
|
-
import { Mapping as Mapping$2 } from '@walkeros/core';
|
|
4
3
|
import { DestinationWeb } from '@walkeros/web-core';
|
|
4
|
+
import { Flow } from '@walkeros/core';
|
|
5
5
|
|
|
6
6
|
declare const SettingsSchema: z.ZodObject<{
|
|
7
7
|
appId: z.ZodString;
|
|
@@ -14,17 +14,19 @@ declare const MappingSchema: z.ZodObject<{
|
|
|
14
14
|
goalId: z.ZodString;
|
|
15
15
|
goalValue: z.ZodOptional<z.ZodString>;
|
|
16
16
|
}, z.core.$strip>;
|
|
17
|
-
type Mapping
|
|
17
|
+
type Mapping = z.infer<typeof MappingSchema>;
|
|
18
18
|
|
|
19
19
|
declare const settings: _walkeros_core_dev.JSONSchema;
|
|
20
|
-
declare const mapping
|
|
20
|
+
declare const mapping: _walkeros_core_dev.JSONSchema;
|
|
21
21
|
|
|
22
|
+
type index$1_Mapping = Mapping;
|
|
22
23
|
declare const index$1_MappingSchema: typeof MappingSchema;
|
|
23
24
|
type index$1_Settings = Settings;
|
|
24
25
|
declare const index$1_SettingsSchema: typeof SettingsSchema;
|
|
26
|
+
declare const index$1_mapping: typeof mapping;
|
|
25
27
|
declare const index$1_settings: typeof settings;
|
|
26
28
|
declare namespace index$1 {
|
|
27
|
-
export { type
|
|
29
|
+
export { type index$1_Mapping as Mapping, index$1_MappingSchema as MappingSchema, type index$1_Settings as Settings, index$1_SettingsSchema as SettingsSchema, index$1_mapping as mapping, index$1_settings as settings };
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
declare global {
|
|
@@ -32,10 +34,6 @@ declare global {
|
|
|
32
34
|
_paq?: Array<unknown>;
|
|
33
35
|
}
|
|
34
36
|
}
|
|
35
|
-
interface Mapping {
|
|
36
|
-
goalId?: string;
|
|
37
|
-
goalValue?: string;
|
|
38
|
-
}
|
|
39
37
|
interface Env extends DestinationWeb.Env {
|
|
40
38
|
window: {
|
|
41
39
|
_paq: Array<unknown>;
|
|
@@ -52,7 +50,6 @@ interface Env extends DestinationWeb.Env {
|
|
|
52
50
|
};
|
|
53
51
|
};
|
|
54
52
|
}
|
|
55
|
-
type Rule = Mapping$2.Rule<Mapping>;
|
|
56
53
|
|
|
57
54
|
/**
|
|
58
55
|
* Example environment configurations for PiwikPro destination
|
|
@@ -69,46 +66,23 @@ declare namespace env {
|
|
|
69
66
|
export { env_init as init, env_push as push };
|
|
70
67
|
}
|
|
71
68
|
|
|
72
|
-
declare
|
|
73
|
-
declare
|
|
74
|
-
declare
|
|
75
|
-
declare
|
|
76
|
-
|
|
77
|
-
declare namespace events {
|
|
78
|
-
export { ecommerceAddToCart$1 as ecommerceAddToCart, ecommerceCartUpdate$1 as ecommerceCartUpdate, ecommerceOrder$1 as ecommerceOrder, ecommerceProductDetailView$1 as ecommerceProductDetailView };
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
declare const ecommerceOrder: Rule;
|
|
82
|
-
declare const ecommerceAddToCart: Rule;
|
|
83
|
-
declare const ecommerceProductDetailView: Rule;
|
|
84
|
-
declare const ecommerceCartUpdate: Rule;
|
|
85
|
-
declare const config: {
|
|
86
|
-
order: {
|
|
87
|
-
complete: Rule;
|
|
88
|
-
};
|
|
89
|
-
product: {
|
|
90
|
-
add: Rule;
|
|
91
|
-
view: Rule;
|
|
92
|
-
};
|
|
93
|
-
cart: {
|
|
94
|
-
view: Rule;
|
|
95
|
-
};
|
|
96
|
-
};
|
|
69
|
+
declare const ecommerceOrder: Flow.StepExample;
|
|
70
|
+
declare const ecommerceAddToCart: Flow.StepExample;
|
|
71
|
+
declare const productDetailView: Flow.StepExample;
|
|
72
|
+
declare const cartUpdate: Flow.StepExample;
|
|
97
73
|
|
|
98
|
-
declare const
|
|
99
|
-
declare const
|
|
100
|
-
declare const
|
|
101
|
-
declare const
|
|
102
|
-
declare
|
|
103
|
-
|
|
104
|
-
export { mapping_config as config, mapping_ecommerceAddToCart as ecommerceAddToCart, mapping_ecommerceCartUpdate as ecommerceCartUpdate, mapping_ecommerceOrder as ecommerceOrder, mapping_ecommerceProductDetailView as ecommerceProductDetailView };
|
|
74
|
+
declare const step_cartUpdate: typeof cartUpdate;
|
|
75
|
+
declare const step_ecommerceAddToCart: typeof ecommerceAddToCart;
|
|
76
|
+
declare const step_ecommerceOrder: typeof ecommerceOrder;
|
|
77
|
+
declare const step_productDetailView: typeof productDetailView;
|
|
78
|
+
declare namespace step {
|
|
79
|
+
export { step_cartUpdate as cartUpdate, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_productDetailView as productDetailView };
|
|
105
80
|
}
|
|
106
81
|
|
|
107
82
|
declare const index_env: typeof env;
|
|
108
|
-
declare const
|
|
109
|
-
declare const index_mapping: typeof mapping;
|
|
83
|
+
declare const index_step: typeof step;
|
|
110
84
|
declare namespace index {
|
|
111
|
-
export { index_env as env,
|
|
85
|
+
export { index_env as env, index_step as step };
|
|
112
86
|
}
|
|
113
87
|
|
|
114
88
|
export { index as examples, index$1 as schemas };
|
package/dist/dev.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _walkeros_core_dev from '@walkeros/core/dev';
|
|
2
2
|
import { z } from '@walkeros/core/dev';
|
|
3
|
-
import { Mapping as Mapping$2 } from '@walkeros/core';
|
|
4
3
|
import { DestinationWeb } from '@walkeros/web-core';
|
|
4
|
+
import { Flow } from '@walkeros/core';
|
|
5
5
|
|
|
6
6
|
declare const SettingsSchema: z.ZodObject<{
|
|
7
7
|
appId: z.ZodString;
|
|
@@ -14,17 +14,19 @@ declare const MappingSchema: z.ZodObject<{
|
|
|
14
14
|
goalId: z.ZodString;
|
|
15
15
|
goalValue: z.ZodOptional<z.ZodString>;
|
|
16
16
|
}, z.core.$strip>;
|
|
17
|
-
type Mapping
|
|
17
|
+
type Mapping = z.infer<typeof MappingSchema>;
|
|
18
18
|
|
|
19
19
|
declare const settings: _walkeros_core_dev.JSONSchema;
|
|
20
|
-
declare const mapping
|
|
20
|
+
declare const mapping: _walkeros_core_dev.JSONSchema;
|
|
21
21
|
|
|
22
|
+
type index$1_Mapping = Mapping;
|
|
22
23
|
declare const index$1_MappingSchema: typeof MappingSchema;
|
|
23
24
|
type index$1_Settings = Settings;
|
|
24
25
|
declare const index$1_SettingsSchema: typeof SettingsSchema;
|
|
26
|
+
declare const index$1_mapping: typeof mapping;
|
|
25
27
|
declare const index$1_settings: typeof settings;
|
|
26
28
|
declare namespace index$1 {
|
|
27
|
-
export { type
|
|
29
|
+
export { type index$1_Mapping as Mapping, index$1_MappingSchema as MappingSchema, type index$1_Settings as Settings, index$1_SettingsSchema as SettingsSchema, index$1_mapping as mapping, index$1_settings as settings };
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
declare global {
|
|
@@ -32,10 +34,6 @@ declare global {
|
|
|
32
34
|
_paq?: Array<unknown>;
|
|
33
35
|
}
|
|
34
36
|
}
|
|
35
|
-
interface Mapping {
|
|
36
|
-
goalId?: string;
|
|
37
|
-
goalValue?: string;
|
|
38
|
-
}
|
|
39
37
|
interface Env extends DestinationWeb.Env {
|
|
40
38
|
window: {
|
|
41
39
|
_paq: Array<unknown>;
|
|
@@ -52,7 +50,6 @@ interface Env extends DestinationWeb.Env {
|
|
|
52
50
|
};
|
|
53
51
|
};
|
|
54
52
|
}
|
|
55
|
-
type Rule = Mapping$2.Rule<Mapping>;
|
|
56
53
|
|
|
57
54
|
/**
|
|
58
55
|
* Example environment configurations for PiwikPro destination
|
|
@@ -69,46 +66,23 @@ declare namespace env {
|
|
|
69
66
|
export { env_init as init, env_push as push };
|
|
70
67
|
}
|
|
71
68
|
|
|
72
|
-
declare
|
|
73
|
-
declare
|
|
74
|
-
declare
|
|
75
|
-
declare
|
|
76
|
-
|
|
77
|
-
declare namespace events {
|
|
78
|
-
export { ecommerceAddToCart$1 as ecommerceAddToCart, ecommerceCartUpdate$1 as ecommerceCartUpdate, ecommerceOrder$1 as ecommerceOrder, ecommerceProductDetailView$1 as ecommerceProductDetailView };
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
declare const ecommerceOrder: Rule;
|
|
82
|
-
declare const ecommerceAddToCart: Rule;
|
|
83
|
-
declare const ecommerceProductDetailView: Rule;
|
|
84
|
-
declare const ecommerceCartUpdate: Rule;
|
|
85
|
-
declare const config: {
|
|
86
|
-
order: {
|
|
87
|
-
complete: Rule;
|
|
88
|
-
};
|
|
89
|
-
product: {
|
|
90
|
-
add: Rule;
|
|
91
|
-
view: Rule;
|
|
92
|
-
};
|
|
93
|
-
cart: {
|
|
94
|
-
view: Rule;
|
|
95
|
-
};
|
|
96
|
-
};
|
|
69
|
+
declare const ecommerceOrder: Flow.StepExample;
|
|
70
|
+
declare const ecommerceAddToCart: Flow.StepExample;
|
|
71
|
+
declare const productDetailView: Flow.StepExample;
|
|
72
|
+
declare const cartUpdate: Flow.StepExample;
|
|
97
73
|
|
|
98
|
-
declare const
|
|
99
|
-
declare const
|
|
100
|
-
declare const
|
|
101
|
-
declare const
|
|
102
|
-
declare
|
|
103
|
-
|
|
104
|
-
export { mapping_config as config, mapping_ecommerceAddToCart as ecommerceAddToCart, mapping_ecommerceCartUpdate as ecommerceCartUpdate, mapping_ecommerceOrder as ecommerceOrder, mapping_ecommerceProductDetailView as ecommerceProductDetailView };
|
|
74
|
+
declare const step_cartUpdate: typeof cartUpdate;
|
|
75
|
+
declare const step_ecommerceAddToCart: typeof ecommerceAddToCart;
|
|
76
|
+
declare const step_ecommerceOrder: typeof ecommerceOrder;
|
|
77
|
+
declare const step_productDetailView: typeof productDetailView;
|
|
78
|
+
declare namespace step {
|
|
79
|
+
export { step_cartUpdate as cartUpdate, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_productDetailView as productDetailView };
|
|
105
80
|
}
|
|
106
81
|
|
|
107
82
|
declare const index_env: typeof env;
|
|
108
|
-
declare const
|
|
109
|
-
declare const index_mapping: typeof mapping;
|
|
83
|
+
declare const index_step: typeof step;
|
|
110
84
|
declare namespace index {
|
|
111
|
-
export { index_env as env,
|
|
85
|
+
export { index_env as env, index_step as step };
|
|
112
86
|
}
|
|
113
87
|
|
|
114
88
|
export { index as examples, index$1 as schemas };
|
package/dist/dev.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,
|
|
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
|
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/events.ts","../src/examples/mapping.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 events from './events';\nexport * as mapping from './mapping';\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 { WalkerOS } from '@walkeros/core';\nimport { getEvent } from '@walkeros/core';\n\nfunction getProduct(entity: WalkerOS.Entity | WalkerOS.Event) {\n return {\n sku: entity.data.id,\n name: entity.data.name,\n price: entity.data.price,\n quantity: 1,\n variant: entity.data.color,\n customDimensions: {\n 1: entity.data.size,\n },\n };\n}\n\nexport function ecommerceOrder(): unknown[] {\n const event = getEvent('order complete');\n\n return [\n [\n 'ecommerceOrder',\n event.nested.filter((item) => item.entity === 'product').map(getProduct),\n {\n orderId: event.data.id,\n grandTotal: event.data.total,\n tax: event.data.taxes,\n shipping: event.data.shipping,\n },\n { currencyCode: 'EUR' },\n ],\n ];\n}\n\nexport function ecommerceAddToCart(): unknown[] {\n const event = getEvent('product add');\n\n return [\n ['ecommerceAddToCart', [getProduct(event), ,], { currencyCode: 'EUR' }],\n ];\n}\n\nexport function ecommerceProductDetailView(): unknown[] {\n const event = getEvent('product view');\n\n return [\n [\n 'ecommerceProductDetailView',\n [getProduct(event), ,],\n { currencyCode: 'EUR' },\n ],\n ];\n}\n\nexport function ecommerceCartUpdate(): unknown[] {\n const event = getEvent('cart view');\n\n return [\n [\n 'ecommerceCartUpdate',\n event.nested.filter((item) => item.entity === 'product').map(getProduct),\n event.data.value,\n { currencyCode: 'EUR' },\n ],\n ];\n}\n","import type { DestinationPiwikPro } from '..';\nimport { isObject } from '@walkeros/core';\n\nconst productMap = {\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\nexport const ecommerceOrder: DestinationPiwikPro.Rule = {\n name: 'ecommerceOrder',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity) =>\n isObject(entity) && entity.entity === 'product',\n map: productMap,\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\nexport const ecommerceAddToCart: DestinationPiwikPro.Rule = {\n name: 'ecommerceAddToCart',\n data: {\n set: [\n {\n set: [\n {\n map: productMap,\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n};\n\nexport const ecommerceProductDetailView: DestinationPiwikPro.Rule = {\n name: 'ecommerceProductDetailView',\n data: {\n set: [\n {\n set: [\n {\n map: productMap,\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n};\n\nexport const ecommerceCartUpdate: DestinationPiwikPro.Rule = {\n name: 'ecommerceCartUpdate',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity) =>\n isObject(entity) && entity.entity === 'product',\n map: productMap,\n },\n ],\n },\n 'data.value',\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n};\n\nexport const config = {\n order: { complete: ecommerceOrder },\n product: { add: ecommerceAddToCart, view: ecommerceProductDetailView },\n cart: { view: ecommerceCartUpdate },\n} satisfies DestinationPiwikPro.Rules;\n"],"mappings":"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","names":["import_dev","import_dev","ecommerceAddToCart","ecommerceCartUpdate","ecommerceOrder","ecommerceProductDetailView","import_core"]}
|
|
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"]}
|
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:()=>
|
|
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
|
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/events.ts","../src/examples/mapping.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 events from './events';\nexport * as mapping from './mapping';\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 { WalkerOS } from '@walkeros/core';\nimport { getEvent } from '@walkeros/core';\n\nfunction getProduct(entity: WalkerOS.Entity | WalkerOS.Event) {\n return {\n sku: entity.data.id,\n name: entity.data.name,\n price: entity.data.price,\n quantity: 1,\n variant: entity.data.color,\n customDimensions: {\n 1: entity.data.size,\n },\n };\n}\n\nexport function ecommerceOrder(): unknown[] {\n const event = getEvent('order complete');\n\n return [\n [\n 'ecommerceOrder',\n event.nested.filter((item) => item.entity === 'product').map(getProduct),\n {\n orderId: event.data.id,\n grandTotal: event.data.total,\n tax: event.data.taxes,\n shipping: event.data.shipping,\n },\n { currencyCode: 'EUR' },\n ],\n ];\n}\n\nexport function ecommerceAddToCart(): unknown[] {\n const event = getEvent('product add');\n\n return [\n ['ecommerceAddToCart', [getProduct(event), ,], { currencyCode: 'EUR' }],\n ];\n}\n\nexport function ecommerceProductDetailView(): unknown[] {\n const event = getEvent('product view');\n\n return [\n [\n 'ecommerceProductDetailView',\n [getProduct(event), ,],\n { currencyCode: 'EUR' },\n ],\n ];\n}\n\nexport function ecommerceCartUpdate(): unknown[] {\n const event = getEvent('cart view');\n\n return [\n [\n 'ecommerceCartUpdate',\n event.nested.filter((item) => item.entity === 'product').map(getProduct),\n event.data.value,\n { currencyCode: 'EUR' },\n ],\n ];\n}\n","import type { DestinationPiwikPro } from '..';\nimport { isObject } from '@walkeros/core';\n\nconst productMap = {\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\nexport const ecommerceOrder: DestinationPiwikPro.Rule = {\n name: 'ecommerceOrder',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity) =>\n isObject(entity) && entity.entity === 'product',\n map: productMap,\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\nexport const ecommerceAddToCart: DestinationPiwikPro.Rule = {\n name: 'ecommerceAddToCart',\n data: {\n set: [\n {\n set: [\n {\n map: productMap,\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n};\n\nexport const ecommerceProductDetailView: DestinationPiwikPro.Rule = {\n name: 'ecommerceProductDetailView',\n data: {\n set: [\n {\n set: [\n {\n map: productMap,\n },\n ],\n },\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n};\n\nexport const ecommerceCartUpdate: DestinationPiwikPro.Rule = {\n name: 'ecommerceCartUpdate',\n data: {\n set: [\n {\n loop: [\n 'nested',\n {\n condition: (entity) =>\n isObject(entity) && entity.entity === 'product',\n map: productMap,\n },\n ],\n },\n 'data.value',\n {\n map: {\n currencyCode: { value: 'EUR' },\n },\n },\n ],\n },\n};\n\nexport const config = {\n order: { complete: ecommerceOrder },\n product: { add: ecommerceAddToCart, view: ecommerceProductDetailView },\n cart: { view: ecommerceCartUpdate },\n} satisfies DestinationPiwikPro.Rules;\n"],"mappings":"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","names":["z","ecommerceAddToCart","ecommerceCartUpdate","ecommerceOrder","ecommerceProductDetailView"]}
|
|
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,15 +1,11 @@
|
|
|
1
|
-
import { Mapping as Mapping$1 } from '@walkeros/core';
|
|
2
1
|
import { DestinationWeb } from '@walkeros/web-core';
|
|
2
|
+
import { Flow } from '@walkeros/core';
|
|
3
3
|
|
|
4
4
|
declare global {
|
|
5
5
|
interface Window {
|
|
6
6
|
_paq?: Array<unknown>;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
interface Mapping {
|
|
10
|
-
goalId?: string;
|
|
11
|
-
goalValue?: string;
|
|
12
|
-
}
|
|
13
9
|
interface Env extends DestinationWeb.Env {
|
|
14
10
|
window: {
|
|
15
11
|
_paq: Array<unknown>;
|
|
@@ -26,7 +22,6 @@ interface Env extends DestinationWeb.Env {
|
|
|
26
22
|
};
|
|
27
23
|
};
|
|
28
24
|
}
|
|
29
|
-
type Rule = Mapping$1.Rule<Mapping>;
|
|
30
25
|
|
|
31
26
|
/**
|
|
32
27
|
* Example environment configurations for PiwikPro destination
|
|
@@ -43,39 +38,17 @@ declare namespace env {
|
|
|
43
38
|
export { env_init as init, env_push as push };
|
|
44
39
|
}
|
|
45
40
|
|
|
46
|
-
declare
|
|
47
|
-
declare
|
|
48
|
-
declare
|
|
49
|
-
declare
|
|
50
|
-
|
|
51
|
-
declare
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
declare
|
|
56
|
-
|
|
57
|
-
declare const ecommerceProductDetailView: Rule;
|
|
58
|
-
declare const ecommerceCartUpdate: Rule;
|
|
59
|
-
declare const config: {
|
|
60
|
-
order: {
|
|
61
|
-
complete: Rule;
|
|
62
|
-
};
|
|
63
|
-
product: {
|
|
64
|
-
add: Rule;
|
|
65
|
-
view: Rule;
|
|
66
|
-
};
|
|
67
|
-
cart: {
|
|
68
|
-
view: Rule;
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
declare const mapping_config: typeof config;
|
|
73
|
-
declare const mapping_ecommerceAddToCart: typeof ecommerceAddToCart;
|
|
74
|
-
declare const mapping_ecommerceCartUpdate: typeof ecommerceCartUpdate;
|
|
75
|
-
declare const mapping_ecommerceOrder: typeof ecommerceOrder;
|
|
76
|
-
declare const mapping_ecommerceProductDetailView: typeof ecommerceProductDetailView;
|
|
77
|
-
declare namespace mapping {
|
|
78
|
-
export { mapping_config as config, mapping_ecommerceAddToCart as ecommerceAddToCart, mapping_ecommerceCartUpdate as ecommerceCartUpdate, mapping_ecommerceOrder as ecommerceOrder, mapping_ecommerceProductDetailView as ecommerceProductDetailView };
|
|
41
|
+
declare const ecommerceOrder: Flow.StepExample;
|
|
42
|
+
declare const ecommerceAddToCart: Flow.StepExample;
|
|
43
|
+
declare const productDetailView: Flow.StepExample;
|
|
44
|
+
declare const cartUpdate: Flow.StepExample;
|
|
45
|
+
|
|
46
|
+
declare const step_cartUpdate: typeof cartUpdate;
|
|
47
|
+
declare const step_ecommerceAddToCart: typeof ecommerceAddToCart;
|
|
48
|
+
declare const step_ecommerceOrder: typeof ecommerceOrder;
|
|
49
|
+
declare const step_productDetailView: typeof productDetailView;
|
|
50
|
+
declare namespace step {
|
|
51
|
+
export { step_cartUpdate as cartUpdate, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_productDetailView as productDetailView };
|
|
79
52
|
}
|
|
80
53
|
|
|
81
|
-
export { env,
|
|
54
|
+
export { env, step };
|
package/dist/examples/index.d.ts
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
import { Mapping as Mapping$1 } from '@walkeros/core';
|
|
2
1
|
import { DestinationWeb } from '@walkeros/web-core';
|
|
2
|
+
import { Flow } from '@walkeros/core';
|
|
3
3
|
|
|
4
4
|
declare global {
|
|
5
5
|
interface Window {
|
|
6
6
|
_paq?: Array<unknown>;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
interface Mapping {
|
|
10
|
-
goalId?: string;
|
|
11
|
-
goalValue?: string;
|
|
12
|
-
}
|
|
13
9
|
interface Env extends DestinationWeb.Env {
|
|
14
10
|
window: {
|
|
15
11
|
_paq: Array<unknown>;
|
|
@@ -26,7 +22,6 @@ interface Env extends DestinationWeb.Env {
|
|
|
26
22
|
};
|
|
27
23
|
};
|
|
28
24
|
}
|
|
29
|
-
type Rule = Mapping$1.Rule<Mapping>;
|
|
30
25
|
|
|
31
26
|
/**
|
|
32
27
|
* Example environment configurations for PiwikPro destination
|
|
@@ -43,39 +38,17 @@ declare namespace env {
|
|
|
43
38
|
export { env_init as init, env_push as push };
|
|
44
39
|
}
|
|
45
40
|
|
|
46
|
-
declare
|
|
47
|
-
declare
|
|
48
|
-
declare
|
|
49
|
-
declare
|
|
50
|
-
|
|
51
|
-
declare
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
declare
|
|
56
|
-
|
|
57
|
-
declare const ecommerceProductDetailView: Rule;
|
|
58
|
-
declare const ecommerceCartUpdate: Rule;
|
|
59
|
-
declare const config: {
|
|
60
|
-
order: {
|
|
61
|
-
complete: Rule;
|
|
62
|
-
};
|
|
63
|
-
product: {
|
|
64
|
-
add: Rule;
|
|
65
|
-
view: Rule;
|
|
66
|
-
};
|
|
67
|
-
cart: {
|
|
68
|
-
view: Rule;
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
declare const mapping_config: typeof config;
|
|
73
|
-
declare const mapping_ecommerceAddToCart: typeof ecommerceAddToCart;
|
|
74
|
-
declare const mapping_ecommerceCartUpdate: typeof ecommerceCartUpdate;
|
|
75
|
-
declare const mapping_ecommerceOrder: typeof ecommerceOrder;
|
|
76
|
-
declare const mapping_ecommerceProductDetailView: typeof ecommerceProductDetailView;
|
|
77
|
-
declare namespace mapping {
|
|
78
|
-
export { mapping_config as config, mapping_ecommerceAddToCart as ecommerceAddToCart, mapping_ecommerceCartUpdate as ecommerceCartUpdate, mapping_ecommerceOrder as ecommerceOrder, mapping_ecommerceProductDetailView as ecommerceProductDetailView };
|
|
41
|
+
declare const ecommerceOrder: Flow.StepExample;
|
|
42
|
+
declare const ecommerceAddToCart: Flow.StepExample;
|
|
43
|
+
declare const productDetailView: Flow.StepExample;
|
|
44
|
+
declare const cartUpdate: Flow.StepExample;
|
|
45
|
+
|
|
46
|
+
declare const step_cartUpdate: typeof cartUpdate;
|
|
47
|
+
declare const step_ecommerceAddToCart: typeof ecommerceAddToCart;
|
|
48
|
+
declare const step_ecommerceOrder: typeof ecommerceOrder;
|
|
49
|
+
declare const step_productDetailView: typeof productDetailView;
|
|
50
|
+
declare namespace step {
|
|
51
|
+
export { step_cartUpdate as cartUpdate, step_ecommerceAddToCart as ecommerceAddToCart, step_ecommerceOrder as ecommerceOrder, step_productDetailView as productDetailView };
|
|
79
52
|
}
|
|
80
53
|
|
|
81
|
-
export { env,
|
|
54
|
+
export { env, step };
|