@walkeros/web-destination-snowplow 3.3.1 → 3.4.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.
@@ -60,6 +60,7 @@ __export(step_exports, {
60
60
  addToCart: () => addToCart,
61
61
  checkoutStep: () => checkoutStep,
62
62
  contextLoop: () => contextLoop,
63
+ init: () => init2,
63
64
  pageView: () => pageView,
64
65
  productView: () => productView,
65
66
  promoView: () => promoView,
@@ -74,9 +75,9 @@ var c = {};
74
75
  for (var o in n) e(t, o, { get: n[o], enumerable: true });
75
76
  })(c, { Level: () => u });
76
77
  var u = ((e2) => (e2[e2.ERROR = 0] = "ERROR", e2[e2.WARN = 1] = "WARN", e2[e2.INFO = 2] = "INFO", e2[e2.DEBUG = 3] = "DEBUG", e2))(u || {});
77
- var F = { merge: true, shallow: true, extend: true };
78
+ var W = { merge: true, shallow: true, extend: true };
78
79
  function L(e2, t = {}, n = {}) {
79
- n = { ...F, ...n };
80
+ n = { ...W, ...n };
80
81
  const o = Object.entries(t).reduce((t2, [o2, r]) => {
81
82
  const i = e2[o2];
82
83
  return n.merge && Array.isArray(i) && Array.isArray(r) ? t2[o2] = r.reduce((e3, t3) => e3.includes(t3) ? e3 : [...e3, t3], [...i]) : (n.extend || o2 in e2) && (t2[o2] = r), t2;
@@ -85,7 +86,7 @@ function L(e2, t = {}, n = {}) {
85
86
  }
86
87
  function fe(e2 = {}) {
87
88
  var _a;
88
- const t = e2.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e2.group || "gr0up", o = e2.count || 1, r = L({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t}-${n}-${o}`, trigger: "test", entity: "entity", action: "action", timestamp: t, timing: 3.14, group: n, count: o, version: { source: "3.3.1", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e2, { merge: false });
89
+ const t = e2.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e2.group || "gr0up", o = e2.count || 1, r = L({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t}-${n}-${o}`, trigger: "test", entity: "entity", action: "action", timestamp: t, timing: 3.14, group: n, count: o, version: { source: "3.4.0", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e2, { merge: false });
89
90
  if (e2.name) {
90
91
  const [t2, n2] = (_a = e2.name.split(" ")) != null ? _a : [];
91
92
  t2 && n2 && (r.entity = t2, r.action = n2);
@@ -124,6 +125,32 @@ var ACTIONS = {
124
125
  };
125
126
 
126
127
  // src/examples/step.ts
128
+ var init2 = {
129
+ in: {
130
+ loadScript: true,
131
+ settings: {
132
+ collectorUrl: "https://collector.example.com",
133
+ appId: "my-app",
134
+ pageViewEvent: "page view"
135
+ }
136
+ },
137
+ out: [
138
+ [
139
+ "snowplow.newTracker",
140
+ "sp",
141
+ "https://collector.example.com",
142
+ {
143
+ appId: "my-app",
144
+ platform: "web",
145
+ discoverRootDomain: void 0,
146
+ cookieSameSite: void 0,
147
+ appVersion: void 0,
148
+ contexts: void 0,
149
+ anonymousTracking: void 0
150
+ }
151
+ ]
152
+ ]
153
+ };
127
154
  var productView = {
128
155
  in: le("product view", { timestamp: 1700000400 }),
129
156
  mapping: {
@@ -146,26 +173,28 @@ var productView = {
146
173
  }
147
174
  },
148
175
  out: [
149
- "trackSelfDescribingEvent",
150
- {
151
- event: {
152
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
153
- data: {
154
- type: "product_view"
155
- }
156
- },
157
- context: [
158
- {
159
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",
176
+ [
177
+ "snowplow.trackSelfDescribingEvent",
178
+ {
179
+ event: {
180
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
160
181
  data: {
161
- id: "ers",
162
- name: "Everyday Ruck Snack",
163
- price: 420,
164
- currency: "USD"
182
+ type: "product_view"
165
183
  }
166
- }
167
- ]
168
- }
184
+ },
185
+ context: [
186
+ {
187
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",
188
+ data: {
189
+ id: "ers",
190
+ name: "Everyday Ruck Snack",
191
+ price: 420,
192
+ currency: "USD"
193
+ }
194
+ }
195
+ ]
196
+ }
197
+ ]
169
198
  ]
170
199
  };
171
200
  var addToCart = {
@@ -216,44 +245,46 @@ var addToCart = {
216
245
  }
217
246
  },
218
247
  out: [
219
- "trackSelfDescribingEvent",
220
- {
221
- event: {
222
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
223
- data: {
224
- type: "add_to_cart"
225
- }
226
- },
227
- context: [
228
- {
229
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",
248
+ [
249
+ "snowplow.trackSelfDescribingEvent",
250
+ {
251
+ event: {
252
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
230
253
  data: {
231
- id: "ers",
232
- name: "Everyday Ruck Snack",
233
- price: 420,
234
- currency: "USD",
235
- quantity: 1
254
+ type: "add_to_cart"
236
255
  }
237
256
  },
238
- {
239
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/cart/jsonschema/1-0-0",
240
- data: {
241
- currency: "USD"
242
- }
243
- },
244
- {
245
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/page/jsonschema/1-0-0",
246
- data: {}
247
- },
248
- {
249
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/user/jsonschema/1-0-0",
250
- data: {
251
- id: "us3r",
252
- is_guest: true
257
+ context: [
258
+ {
259
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",
260
+ data: {
261
+ id: "ers",
262
+ name: "Everyday Ruck Snack",
263
+ price: 420,
264
+ currency: "USD",
265
+ quantity: 1
266
+ }
267
+ },
268
+ {
269
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/cart/jsonschema/1-0-0",
270
+ data: {
271
+ currency: "USD"
272
+ }
273
+ },
274
+ {
275
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/page/jsonschema/1-0-0",
276
+ data: {}
277
+ },
278
+ {
279
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/user/jsonschema/1-0-0",
280
+ data: {
281
+ id: "us3r",
282
+ is_guest: true
283
+ }
253
284
  }
254
- }
255
- ]
256
- }
285
+ ]
286
+ }
287
+ ]
257
288
  ]
258
289
  };
259
290
  var transaction = {
@@ -277,28 +308,30 @@ var transaction = {
277
308
  }
278
309
  },
279
310
  out: [
280
- "trackSelfDescribingEvent",
281
- {
282
- event: {
283
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
284
- data: {
285
- type: "transaction"
286
- }
287
- },
288
- context: [
289
- {
290
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0",
311
+ [
312
+ "snowplow.trackSelfDescribingEvent",
313
+ {
314
+ event: {
315
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
291
316
  data: {
292
- transaction_id: "0rd3r1d",
293
- revenue: 555,
294
- currency: "EUR",
295
- payment_method: "credit_card",
296
- tax: 73.76,
297
- shipping: 5.22
317
+ type: "transaction"
298
318
  }
299
- }
300
- ]
301
- }
319
+ },
320
+ context: [
321
+ {
322
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0",
323
+ data: {
324
+ transaction_id: "0rd3r1d",
325
+ revenue: 555,
326
+ currency: "EUR",
327
+ payment_method: "credit_card",
328
+ tax: 73.76,
329
+ shipping: 5.22
330
+ }
331
+ }
332
+ ]
333
+ }
334
+ ]
302
335
  ]
303
336
  };
304
337
  var promoView = {
@@ -322,30 +355,32 @@ var promoView = {
322
355
  }
323
356
  },
324
357
  out: [
325
- "trackSelfDescribingEvent",
326
- {
327
- event: {
328
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
329
- data: {
330
- type: "promo_view"
331
- }
332
- },
333
- context: [
334
- {
335
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/promotion/jsonschema/1-0-0",
358
+ [
359
+ "snowplow.trackSelfDescribingEvent",
360
+ {
361
+ event: {
362
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
336
363
  data: {
337
- name: "Setting up tracking easily",
338
- position: "hero"
364
+ type: "promo_view"
339
365
  }
340
- }
341
- ]
342
- }
366
+ },
367
+ context: [
368
+ {
369
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/promotion/jsonschema/1-0-0",
370
+ data: {
371
+ name: "Setting up tracking easily",
372
+ position: "hero"
373
+ }
374
+ }
375
+ ]
376
+ }
377
+ ]
343
378
  ]
344
379
  };
345
380
  var pageView = {
346
381
  in: le("page view", { timestamp: 1700000404 }),
347
382
  mapping: void 0,
348
- out: ["trackPageView"]
383
+ out: [["snowplow.trackPageView"]]
349
384
  };
350
385
  var checkoutStep = {
351
386
  in: le("checkout view", { timestamp: 1700000405 }),
@@ -364,23 +399,25 @@ var checkoutStep = {
364
399
  }
365
400
  },
366
401
  out: [
367
- "trackSelfDescribingEvent",
368
- {
369
- event: {
370
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
371
- data: {
372
- type: "checkout_step"
373
- }
374
- },
375
- context: [
376
- {
377
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/checkout_step/jsonschema/1-0-0",
402
+ [
403
+ "snowplow.trackSelfDescribingEvent",
404
+ {
405
+ event: {
406
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
378
407
  data: {
379
- step: "payment"
408
+ type: "checkout_step"
380
409
  }
381
- }
382
- ]
383
- }
410
+ },
411
+ context: [
412
+ {
413
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/checkout_step/jsonschema/1-0-0",
414
+ data: {
415
+ step: "payment"
416
+ }
417
+ }
418
+ ]
419
+ }
420
+ ]
384
421
  ]
385
422
  };
386
423
  var structuredEvent = {
@@ -397,14 +434,16 @@ var structuredEvent = {
397
434
  }
398
435
  },
399
436
  out: [
400
- "trackStructEvent",
401
- {
402
- category: "ecommerce",
403
- action: "impression",
404
- label: "Everyday Ruck Snack",
405
- property: "black",
406
- value: 420
407
- }
437
+ [
438
+ "snowplow.trackStructEvent",
439
+ {
440
+ category: "ecommerce",
441
+ action: "impression",
442
+ label: "Everyday Ruck Snack",
443
+ property: "black",
444
+ value: 420
445
+ }
446
+ ]
408
447
  ]
409
448
  };
410
449
  var contextLoop = {
@@ -440,47 +479,49 @@ var contextLoop = {
440
479
  }
441
480
  },
442
481
  out: [
443
- "trackSelfDescribingEvent",
444
- {
445
- event: {
446
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
447
- data: {
448
- type: "transaction"
449
- }
450
- },
451
- context: [
452
- {
453
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0",
454
- data: {
455
- transaction_id: "0rd3r1d",
456
- revenue: 555,
457
- currency: "EUR"
458
- }
459
- },
460
- {
461
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",
482
+ [
483
+ "snowplow.trackSelfDescribingEvent",
484
+ {
485
+ event: {
486
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",
462
487
  data: {
463
- id: "ers",
464
- name: "Everyday Ruck Snack",
465
- price: 420
488
+ type: "transaction"
466
489
  }
467
490
  },
468
- {
469
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",
470
- data: {
471
- id: "cc",
472
- name: "Cool Cap",
473
- price: 42
474
- }
475
- },
476
- {
477
- schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",
478
- data: {
479
- name: "Surprise"
491
+ context: [
492
+ {
493
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0",
494
+ data: {
495
+ transaction_id: "0rd3r1d",
496
+ revenue: 555,
497
+ currency: "EUR"
498
+ }
499
+ },
500
+ {
501
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",
502
+ data: {
503
+ id: "ers",
504
+ name: "Everyday Ruck Snack",
505
+ price: 420
506
+ }
507
+ },
508
+ {
509
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",
510
+ data: {
511
+ id: "cc",
512
+ name: "Cool Cap",
513
+ price: 42
514
+ }
515
+ },
516
+ {
517
+ schema: "iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",
518
+ data: {
519
+ name: "Surprise"
520
+ }
480
521
  }
481
- }
482
- ]
483
- }
522
+ ]
523
+ }
524
+ ]
484
525
  ]
485
526
  };
486
527
  export {
@@ -1 +1 @@
1
- "use strict";var Destination=(()=>{var e=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,t=(n,o)=>{for(var a in o)e(n,a,{get:o[a],enumerable:!0})},s={};t(s,{ACTIONS:()=>r,CONSENT_SCHEMAS:()=>p,DestinationSnowplow:()=>c,MEDIA_ACTIONS:()=>d,MEDIA_SCHEMAS:()=>m,SCHEMAS:()=>i,WEB_SCHEMAS:()=>l,clearUserData:()=>Z,default:()=>te,destinationSnowplow:()=>ae,disableAnonymousTracking:()=>ne,enableAnonymousTracking:()=>ee,examples:()=>V});var c={};t(c,{ACTIONS:()=>r,CONSENT_SCHEMAS:()=>p,MEDIA_ACTIONS:()=>d,MEDIA_SCHEMAS:()=>m,SCHEMAS:()=>i,WEB_SCHEMAS:()=>l,deriveEnableMethod:()=>y,isCodeBasedPlugin:()=>w,isMappedGlobalContext:()=>g,isUrlBasedPlugin:()=>u});var i={ACTION:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",PRODUCT:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",CART:"iglu:com.snowplowanalytics.snowplow.ecommerce/cart/jsonschema/1-0-0",TRANSACTION:"iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0",REFUND:"iglu:com.snowplowanalytics.snowplow.ecommerce/refund/jsonschema/1-0-0",CHECKOUT_STEP:"iglu:com.snowplowanalytics.snowplow.ecommerce/checkout_step/jsonschema/1-0-0",PROMOTION:"iglu:com.snowplowanalytics.snowplow.ecommerce/promotion/jsonschema/1-0-0",PAGE:"iglu:com.snowplowanalytics.snowplow.ecommerce/page/jsonschema/1-0-0",USER:"iglu:com.snowplowanalytics.snowplow.ecommerce/user/jsonschema/1-0-0"},r={PRODUCT_VIEW:"product_view",LIST_VIEW:"list_view",LIST_CLICK:"list_click",ADD_TO_CART:"add_to_cart",REMOVE_FROM_CART:"remove_from_cart",CHECKOUT_STEP:"checkout_step",TRANSACTION:"transaction",REFUND:"refund",PROMO_VIEW:"promo_view",PROMO_CLICK:"promo_click",TRANSACTION_ERROR:"trns_error"},l={LINK_CLICK:"iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1",CHANGE_FORM:"iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0",FOCUS_FORM:"iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0",SUBMIT_FORM:"iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0",SITE_SEARCH:"iglu:com.snowplowanalytics.snowplow/site_search/jsonschema/1-0-0",SOCIAL:"iglu:com.snowplowanalytics.snowplow/social_interaction/jsonschema/1-0-0",TIMING:"iglu:com.snowplowanalytics.snowplow/timing/jsonschema/1-0-0",WEB_VITALS:"iglu:com.snowplowanalytics.snowplow/web_vitals/jsonschema/1-0-0",WEB_PAGE:"iglu:com.snowplowanalytics.snowplow/web_page/jsonschema/1-0-0",BROWSER:"iglu:com.snowplowanalytics.snowplow/browser_context/jsonschema/2-0-0",CLIENT_SESSION:"iglu:com.snowplowanalytics.snowplow/client_session/jsonschema/1-0-2",GEOLOCATION:"iglu:com.snowplowanalytics.snowplow/geolocation_context/jsonschema/1-1-0"},p={PREFERENCES:"iglu:com.snowplowanalytics.snowplow/consent_preferences/jsonschema/1-0-0",CMP_VISIBLE:"iglu:com.snowplowanalytics.snowplow/cmp_visible/jsonschema/1-0-0",DOCUMENT:"iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0",GDPR:"iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0"},m={PLAY:"iglu:com.snowplowanalytics.snowplow.media/play_event/jsonschema/1-0-0",PAUSE:"iglu:com.snowplowanalytics.snowplow.media/pause_event/jsonschema/1-0-0",END:"iglu:com.snowplowanalytics.snowplow.media/end_event/jsonschema/1-0-0",READY:"iglu:com.snowplowanalytics.snowplow.media/ready_event/jsonschema/1-0-0",SEEK_START:"iglu:com.snowplowanalytics.snowplow.media/seek_start_event/jsonschema/1-0-0",SEEK_END:"iglu:com.snowplowanalytics.snowplow.media/seek_end_event/jsonschema/1-0-0",BUFFER_START:"iglu:com.snowplowanalytics.snowplow.media/buffer_start_event/jsonschema/1-0-0",BUFFER_END:"iglu:com.snowplowanalytics.snowplow.media/buffer_end_event/jsonschema/1-0-0",QUALITY_CHANGE:"iglu:com.snowplowanalytics.snowplow.media/quality_change_event/jsonschema/1-0-0",FULLSCREEN_CHANGE:"iglu:com.snowplowanalytics.snowplow.media/fullscreen_change_event/jsonschema/1-0-0",VOLUME_CHANGE:"iglu:com.snowplowanalytics.snowplow.media/volume_change_event/jsonschema/1-0-0",PLAYBACK_RATE_CHANGE:"iglu:com.snowplowanalytics.snowplow.media/playback_rate_change_event/jsonschema/1-0-0",PIP_CHANGE:"iglu:com.snowplowanalytics.snowplow.media/picture_in_picture_change_event/jsonschema/1-0-0",PING:"iglu:com.snowplowanalytics.snowplow.media/ping_event/jsonschema/1-0-0",PERCENT_PROGRESS:"iglu:com.snowplowanalytics.snowplow.media/percent_progress_event/jsonschema/1-0-0",ERROR:"iglu:com.snowplowanalytics.snowplow.media/error_event/jsonschema/1-0-0",AD_BREAK_START:"iglu:com.snowplowanalytics.snowplow.media/ad_break_start_event/jsonschema/1-0-0",AD_BREAK_END:"iglu:com.snowplowanalytics.snowplow.media/ad_break_end_event/jsonschema/1-0-0",AD_START:"iglu:com.snowplowanalytics.snowplow.media/ad_start_event/jsonschema/1-0-0",AD_COMPLETE:"iglu:com.snowplowanalytics.snowplow.media/ad_complete_event/jsonschema/1-0-0",AD_SKIP:"iglu:com.snowplowanalytics.snowplow.media/ad_skip_event/jsonschema/1-0-0",AD_CLICK:"iglu:com.snowplowanalytics.snowplow.media/ad_click_event/jsonschema/1-0-0",AD_PAUSE:"iglu:com.snowplowanalytics.snowplow.media/ad_pause_event/jsonschema/1-0-0",AD_RESUME:"iglu:com.snowplowanalytics.snowplow.media/ad_resume_event/jsonschema/1-0-0",AD_QUARTILE:"iglu:com.snowplowanalytics.snowplow.media/ad_quartile_event/jsonschema/1-0-0",MEDIA_PLAYER:"iglu:com.snowplowanalytics.snowplow/media_player/jsonschema/1-0-0",SESSION:"iglu:com.snowplowanalytics.snowplow.media/session/jsonschema/1-0-0",AD:"iglu:com.snowplowanalytics.snowplow.media/ad/jsonschema/1-0-0",AD_BREAK:"iglu:com.snowplowanalytics.snowplow.media/ad_break/jsonschema/1-0-0"},d={PLAY:"play",PAUSE:"pause",END:"end",READY:"ready",SEEK_START:"seek_start",SEEK_END:"seek_end",BUFFER_START:"buffer_start",BUFFER_END:"buffer_end",QUALITY_CHANGE:"quality_change",FULLSCREEN_CHANGE:"fullscreen_change",VOLUME_CHANGE:"volume_change",PLAYBACK_RATE_CHANGE:"playback_rate_change",PIP_CHANGE:"pip_change",PING:"ping",PERCENT_PROGRESS:"percent_progress",ERROR:"error",AD_BREAK_START:"ad_break_start",AD_BREAK_END:"ad_break_end",AD_START:"ad_start",AD_COMPLETE:"ad_complete",AD_SKIP:"ad_skip",AD_CLICK:"ad_click",AD_PAUSE:"ad_pause",AD_RESUME:"ad_resume",AD_QUARTILE:"ad_quartile"};function u(e){return"object"==typeof e&&"url"in e&&"name"in e}function w(e){return"object"==typeof e&&"code"in e&&!("url"in e)}function g(e){return"object"==typeof e&&null!==e&&"__mapped"in e}function y(e){return"enable"+e.replace("Plugin","")}var _=Object.defineProperty;((e,n)=>{for(var o in n)_(e,o,{get:n[o],enumerable:!0})})({},{Level:()=>h});var v,h=((v=h||{})[v.ERROR=0]="ERROR",v[v.WARN=1]="WARN",v[v.INFO=2]="INFO",v[v.DEBUG=3]="DEBUG",v),f={merge:!0,shallow:!0,extend:!0};function E(e){return Array.isArray(e)}function A(e){return void 0!==e}function k(e){return"number"==typeof e&&!Number.isNaN(e)}function S(e){return"object"==typeof e&&null!==e&&!E(e)&&"[object Object]"===Object.prototype.toString.call(e)}function b(e){return"string"==typeof e}function T(e,n="",o){const a=n.split(".");let t=e;for(let e=0;e<a.length;e++){const n=a[e];if("*"===n&&E(t)){const n=a.slice(e+1).join("."),s=[];for(const e of t){const a=T(e,n,o);s.push(a)}return s}if(t=t instanceof Object?t[n]:void 0,void 0===t)break}return A(t)?t:o}function C(e={}){var n;const o=e.timestamp||(new Date).setHours(0,13,37,0),a=e.group||"gr0up",t=e.count||1,s=function(e,n={},o={}){o={...f,...o};const a=Object.entries(n).reduce((n,[a,t])=>{const s=e[a];return o.merge&&Array.isArray(s)&&Array.isArray(t)?n[a]=t.reduce((e,n)=>e.includes(n)?e:[...e,n],[...s]):(o.extend||a in e)&&(n[a]=t),n},{});return o.shallow?{...e,...a}:(Object.assign(e,a),e)}({name:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{entity:"child",data:{is:"subordinated"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:`${o}-${a}-${t}`,trigger:"test",entity:"entity",action:"action",timestamp:o,timing:3.14,group:a,count:t,version:{source:"3.3.1",tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.name){const[o,a]=null!=(n=e.name.split(" "))?n:[];o&&a&&(s.entity=o,s.action=a)}return s}function R(e="entity action",n={}){const o=n.timestamp||(new Date).setHours(0,13,37,0),a={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},t={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return C({...{"cart view":{data:{currency:"EUR",value:2*a.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",data:{...a.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:a.data.price+t.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...a,context:{shopping:["checkout",0]},nested:[]},{entity:"product",...t,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...a,context:{shopping:["complete",0]},nested:[]},{entity:"product",...t,context:{shopping:["complete",0]},nested:[]},{entity:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.walkeros.io/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{...a,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...a,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...a.data,position:3,promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:o,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...n,name:e})}function j(e){return function(e){return"boolean"==typeof e}(e)||b(e)||k(e)||!A(e)||E(e)&&e.every(j)||S(e)&&Object.values(e).every(j)}function D(e){return j(e)?e:void 0}function O(e,n,o){return async function(...a){try{return await e(...a)}catch(e){if(!n)return;return await n(e)}finally{await(null==o?void 0:o())}}}async function P(e,n={},o={}){var a;if(!A(e))return;const t=S(e)&&e.consent||o.consent||(null==(a=o.collector)?void 0:a.consent),s=E(n)?n:[n];for(const n of s){const a=await O(N)(e,n,{...o,consent:t});if(A(a))return a}}async function N(e,n,o={}){const{collector:a,consent:t}=o;return(E(n)?n:[n]).reduce(async(n,s)=>{const c=await n;if(c)return c;const i=b(s)?{key:s}:s;if(!Object.keys(i).length)return;const{condition:r,consent:l,fn:p,key:m,loop:d,map:u,set:w,validate:g,value:y}=i;if(r&&!await O(r)(e,s,a))return;if(l&&!function(e,n={},o={}){const a={...n,...o},t={};let s=!e||0===Object.keys(e).length;return Object.keys(a).forEach(n=>{a[n]&&(t[n]=!0,e&&e[n]&&(s=!0))}),!!s&&t}(l,t))return y;let _=A(y)?y:e;if(p&&(_=await O(p)(e,s,o)),m&&(_=T(e,m,y)),d){const[n,a]=d,t="this"===n?[e]:await P(e,n,o);E(t)&&(_=(await Promise.all(t.map(e=>P(e,a,o)))).filter(A))}else u?_=await Object.entries(u).reduce(async(n,[a,t])=>{const s=await n,c=await P(e,t,o);return A(c)&&(s[a]=c),s},Promise.resolve({})):w&&(_=await Promise.all(w.map(n=>N(e,n,o))));g&&!await O(g)(_)&&(_=void 0);const v=D(_);return A(v)?v:D(y)},Promise.resolve(void 0))}function I(e){return{window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document,...e}}var U=new Set;function x(e){return S(e)&&"loop"in e&&E(e.loop)&&2===e.loop.length}async function M(e,n,o,a,t,s){var c,r,l,p;const m=null==t?void 0:t.settings,d=null==(c=null==m?void 0:m._state)?void 0:c.adapter;if(!d)return void(null==s||s.throw("Tracker not initialized"));const u=null==m?void 0:m._state;if((null==m?void 0:m.userId)&&!(null==u?void 0:u.userIdSet)){const n=await P(e,m.userId);n&&b(n)&&(d.setUserId(n),u&&(u.userIdSet=!0))}if(null==m?void 0:m.page){const n=await P(e,m.page.type);if(n&&b(n)){const o={type:n};if(m.page.language){const n=await P(e,m.page.language);n&&b(n)&&(o.language=n)}if(m.page.locale){const n=await P(e,m.page.locale);n&&b(n)&&(o.locale=n)}const a=JSON.stringify(o);(null==u?void 0:u.page)!==a&&(d.setPageType(o),u&&(u.page=a))}}if(n.struct)await async function(e,n,o,a){const t=await P(e,n.category),s=await P(e,n.action);if(!t||!b(t))return void(null==a||a.info("Struct event skipped: invalid category",{event:e.name,category:t,reason:t?"not a string":"missing"}));if(!s||!b(s))return void(null==a||a.info("Struct event skipped: invalid action",{event:e.name,action:s,reason:s?"not a string":"missing"}));const c=n.label?await P(e,n.label):void 0,i=n.property?await P(e,n.property):void 0,r=n.value?await P(e,n.value):void 0,l=void 0!==r?Number(r):void 0;o.trackStructEvent({category:t,action:s,...c&&b(c)&&{label:c},...i&&b(i)&&{property:i},...void 0!==l&&k(l)&&!isNaN(l)&&{value:l}})}(e,n.struct,d,s);else if((null==m?void 0:m.pageViewEvent)&&e.name===m.pageViewEvent)d.trackPageView();else if(a){const o=(null==(r=n.snowplow)?void 0:r.actionSchema)||(null==(l=null==m?void 0:m.snowplow)?void 0:l.actionSchema)||i.ACTION,t=await async function(e,n){const o=[];if(!E(n.context))return o;for(const a of n.context)if(S(a)&&a.schema)if(x(a.data)){const[n,t]=a.data.loop,s=await P(e,n);if(E(s))for(const e of s){const n=await P(e,t);S(n)&&o.push({schema:a.schema,data:n})}}else{const n=await P(e,{map:a.data});S(n)&&o.push({schema:a.schema,data:n})}return o}(e,n);let s={};if(S(n.data)&&"map"in n.data){const o=await P(e,n.data);S(o)&&(s=o)}else o===i.ACTION&&(s={type:a});d.trackSelfDescribingEvent({event:{schema:o,data:s},context:t.length>0?t:void 0})}else null==s||s.info("Event skipped: no action name in mapping",{event:e.name,hasContext:!!(null==(p=n.context)?void 0:p.length)})}var V={};t(V,{env:()=>L,step:()=>K});var L={};t(L,{init:()=>G,push:()=>H,simulation:()=>B});var G={window:{snowplow:void 0},document:{createElement:()=>({src:"",async:!1,setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},H={window:{snowplow:Object.assign(()=>{},{q:[]})},document:{createElement:()=>({src:"",async:!1,setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},B=["call:window.snowplow"],K={};t(K,{addToCart:()=>q,checkoutStep:()=>Q,contextLoop:()=>J,pageView:()=>z,productView:()=>F,promoView:()=>Y,structuredEvent:()=>$,transaction:()=>W});var F={in:R("product view",{timestamp:1700000400}),mapping:{name:r.PRODUCT_VIEW,settings:{context:[{schema:i.PRODUCT,data:{id:"data.id",name:"data.name",category:"data.category",price:"data.price",currency:{key:"data.currency",value:"USD"},brand:"data.brand",variant:"data.variant"}}]}},out:["trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"product_view"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",data:{id:"ers",name:"Everyday Ruck Snack",price:420,currency:"USD"}}]}]},q={in:R("product add",{timestamp:1700000401}),mapping:{name:r.ADD_TO_CART,settings:{context:[{schema:i.PRODUCT,data:{id:"data.id",name:"data.name",category:"data.category",price:"data.price",currency:{key:"data.currency",value:"USD"},quantity:{key:"data.quantity",value:1}}},{schema:i.CART,data:{total_value:"globals.cart_value",currency:{key:"globals.cart_currency",value:"USD"}}},{schema:i.PAGE,data:{type:"globals.page_type",language:"globals.language"}},{schema:i.USER,data:{id:"user.id",email:"user.email",is_guest:{fn:e=>{var n;return!!(null==(n=e.user)?void 0:n.id)||void 0}}}}]}},out:["trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"add_to_cart"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",data:{id:"ers",name:"Everyday Ruck Snack",price:420,currency:"USD",quantity:1}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/cart/jsonschema/1-0-0",data:{currency:"USD"}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/page/jsonschema/1-0-0",data:{}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/user/jsonschema/1-0-0",data:{id:"us3r",is_guest:!0}}]}]},W={in:R("order complete",{timestamp:1700000402}),mapping:{name:r.TRANSACTION,settings:{context:[{schema:i.TRANSACTION,data:{transaction_id:"data.id",revenue:"data.total",currency:{key:"data.currency",value:"USD"},payment_method:{value:"credit_card"},tax:"data.taxes",shipping:"data.shipping"}}]}},out:["trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"transaction"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0",data:{transaction_id:"0rd3r1d",revenue:555,currency:"EUR",payment_method:"credit_card",tax:73.76,shipping:5.22}}]}]},Y={in:R("promotion visible",{timestamp:1700000403}),mapping:{name:r.PROMO_VIEW,settings:{context:[{schema:i.PROMOTION,data:{id:"data.id",name:"data.name",creative_id:"data.creative_id",type:"data.type",position:"data.position",slot:"data.slot"}}]}},out:["trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"promo_view"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/promotion/jsonschema/1-0-0",data:{name:"Setting up tracking easily",position:"hero"}}]}]},z={in:R("page view",{timestamp:1700000404}),mapping:void 0,out:["trackPageView"]},Q={in:R("checkout view",{timestamp:1700000405}),mapping:{name:r.CHECKOUT_STEP,settings:{context:[{schema:i.CHECKOUT_STEP,data:{step:"data.step",option:"data.option"}}]}},out:["trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"checkout_step"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/checkout_step/jsonschema/1-0-0",data:{step:"payment"}}]}]},$={in:R("product visible",{timestamp:1700000406}),mapping:{settings:{struct:{category:{value:"ecommerce"},action:{value:"impression"},label:"data.name",property:"data.color",value:"data.price"}}},out:["trackStructEvent",{category:"ecommerce",action:"impression",label:"Everyday Ruck Snack",property:"black",value:420}]},J={in:R("order complete",{timestamp:1700000407}),mapping:{name:r.TRANSACTION,settings:{context:[{schema:i.TRANSACTION,data:{transaction_id:"data.id",revenue:"data.total",currency:"data.currency"}},{schema:i.PRODUCT,data:{loop:["nested",{map:{id:"data.id",name:"data.name",price:"data.price"}}]}}]}},out:["trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"transaction"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0",data:{transaction_id:"0rd3r1d",revenue:555,currency:"EUR"}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",data:{id:"ers",name:"Everyday Ruck Snack",price:420}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",data:{id:"cc",name:"Cool Cap",price:42}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",data:{name:"Surprise"}}]}]};function X(e){var n,o;return null!=(o=null==(n=null==e?void 0:e.window)?void 0:n.snowplow)?o:"undefined"!=typeof window?window.snowplow:void 0}function Z(e){const n=X(e);n&&n("clearUserData")}function ee(e,n){const o=X(n);o&&(e?o("enableAnonymousTracking",e):o("enableAnonymousTracking"))}function ne(e,n){const o=X(n);o&&(e?o("disableAnonymousTracking",{stateStorageStrategy:e}):o("disableAnonymousTracking"))}var oe,ae={type:"snowplow",config:{},init({config:e,env:n,logger:o}){var a;const{settings:t={},loadScript:s}=e,{collectorUrl:c,tracker:i}=t;let r;if(c||o.throw("Config settings collectorUrl missing"),i){if(!i.newTracker)return o.throw("tracker.newTracker is required for browser-tracker mode"),!1;if(!i.trackSelfDescribingEvent)return o.throw("tracker.trackSelfDescribingEvent is required for browser-tracker mode"),!1;i.newTracker(t.trackerName||"sp",c,{appId:t.appId||"walkerOS",platform:t.platform||"web",discoverRootDomain:t.discoverRootDomain,cookieSameSite:t.cookieSameSite,appVersion:t.appVersion,contexts:t.contexts,anonymousTracking:t.anonymousTracking}),l=i,r={trackPageView(e){l.trackPageView&&l.trackPageView(e)},trackSelfDescribingEvent(e){l.trackSelfDescribingEvent(e)},trackStructEvent(e){l.trackStructEvent&&l.trackStructEvent(e)},setUserId(e){l.setUserId&&l.setUserId(e)},enableActivityTracking(e){l.enableActivityTracking&&l.enableActivityTracking(e)},addPlugin(e){l.addPlugin&&!Array.isArray(e)&&l.addPlugin(e)},addGlobalContexts(e){l.addGlobalContexts&&l.addGlobalContexts(e)},clearUserData(e){l.clearUserData&&l.clearUserData(e)},enableAnonymousTracking(e){l.enableAnonymousTracking&&l.enableAnonymousTracking(e)},disableAnonymousTracking(e){l.disableAnonymousTracking&&l.disableAnonymousTracking(e)},trackConsentAllow(e){l.trackConsentAllow&&l.trackConsentAllow(e)},trackConsentDeny(e){l.trackConsentDeny&&l.trackConsentDeny(e)},trackConsentSelected(e){l.trackConsentSelected&&l.trackConsentSelected(e)},setPageType(e){l.setPageType&&l.setPageType(e)},call(e,...n){}}}else{s&&function(e,n,o="https://cdn.jsdelivr.net/npm/@snowplow/javascript-tracker@latest/dist/sp.js"){if(U.has(e))return;const{document:a}=I(n),t=a.createElement("script");t.src=o,t.async=!0,a.head.appendChild(t),U.add(e)}(c,n,t.scriptUrl);const e=function(e){const{window:n}=I(e),o=n;if(!o.snowplow){const e=function(...n){(e.q=e.q||[]).push(n)};e.q=[],o.snowplow=e,o.GlobalSnowplowNamespace=["snowplow"]}return o.snowplow}(n);if(!e)return!1;e("newTracker",t.trackerName||"sp",c,{appId:t.appId||"walkerOS",platform:t.platform||"web",discoverRootDomain:t.discoverRootDomain,cookieSameSite:t.cookieSameSite,appVersion:t.appVersion,contexts:t.contexts,anonymousTracking:t.anonymousTracking}),r=function(e){return{trackPageView(n){n?e("trackPageView",n):e("trackPageView")},trackSelfDescribingEvent(n){e("trackSelfDescribingEvent",n)},trackStructEvent(n){e("trackStructEvent",n)},setUserId(n){e("setUserId",n)},enableActivityTracking(n){e("enableActivityTracking",n)},addPlugin(n){Array.isArray(n)?e("addPlugin",n[0],n[1]):e("addPlugin",n)},addGlobalContexts(n){e("addGlobalContexts",n)},clearUserData(n){n?e("clearUserData",n):e("clearUserData")},enableAnonymousTracking(n){n?e("enableAnonymousTracking",n):e("enableAnonymousTracking")},disableAnonymousTracking(n){n?e("disableAnonymousTracking",n):e("disableAnonymousTracking")},trackConsentAllow(n){e("trackConsentAllow",n)},trackConsentDeny(n){e("trackConsentDeny",n)},trackConsentSelected(n){e("trackConsentSelected",n)},setPageType(n){e("setPageType",n)},call(n,...o){e(n,...o)}}}(e)}var l;if(!r)return!1;if(t.activityTracking&&r.enableActivityTracking(t.activityTracking),t.plugins)for(const e of t.plugins)if(w(e)){const n="function"==typeof e.code&&e.config?e.code(e.config):e.code;r.addPlugin({plugin:n})}else if(u(e)){r.addPlugin([e.url,e.name]);const n=null!=(a=e.enableMethod)?a:y(e.name[1]);e.options?r.call(n,e.options):r.call(n)}else r.addPlugin({plugin:e});t.globalContexts&&t.globalContexts.length>0&&r.addGlobalContexts(t.globalContexts),t.trackPageView&&r.trackPageView();const p={...t,_state:{adapter:r}};return{...e,settings:p}},async push(e,{config:n,data:o={},rule:a={},logger:t}){const s=a.settings||{};await M(e,s,0,a.name,n,t)},on(e,n){var o;if("consent"!==e||!n.data)return;const a=n.data,t=((null==(o=n.config)?void 0:o.settings)||{}).consent;if(!t)return;const s=X(n.env);if(!s)return;const c=t.required||Object.keys(a),i=c.every(e=>!0===a[e]),r=c.every(e=>!a[e]),l=c.filter(e=>!0===a[e]),p={basisForProcessing:t.basisForProcessing||"consent"};t.consentUrl&&(p.consentUrl=t.consentUrl),t.consentVersion&&(p.consentVersion=t.consentVersion),t.domainsApplied&&(p.domainsApplied=t.domainsApplied),void 0!==t.gdprApplies&&(p.gdprApplies=t.gdprApplies),r?s("trackConsentDeny",{...p,consentScopes:c}):s(i?"trackConsentAllow":"trackConsentSelected",{...p,consentScopes:l})}},te=ae;return oe=s,((t,s,c,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let r of o(s))a.call(t,r)||r===c||e(t,r,{get:()=>s[r],enumerable:!(i=n(s,r))||i.enumerable});return t})(e({},"__esModule",{value:!0}),oe)})();
1
+ "use strict";var Destination=(()=>{var e=Object.defineProperty,o=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,t=(o,n)=>{for(var a in n)e(o,a,{get:n[a],enumerable:!0})},s={};t(s,{ACTIONS:()=>r,CONSENT_SCHEMAS:()=>p,DestinationSnowplow:()=>c,MEDIA_ACTIONS:()=>d,MEDIA_SCHEMAS:()=>m,SCHEMAS:()=>i,WEB_SCHEMAS:()=>l,clearUserData:()=>ee,default:()=>se,destinationSnowplow:()=>te,disableAnonymousTracking:()=>ne,enableAnonymousTracking:()=>oe,examples:()=>V});var c={};t(c,{ACTIONS:()=>r,CONSENT_SCHEMAS:()=>p,MEDIA_ACTIONS:()=>d,MEDIA_SCHEMAS:()=>m,SCHEMAS:()=>i,WEB_SCHEMAS:()=>l,deriveEnableMethod:()=>y,isCodeBasedPlugin:()=>u,isMappedGlobalContext:()=>g,isUrlBasedPlugin:()=>w});var i={ACTION:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",PRODUCT:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",CART:"iglu:com.snowplowanalytics.snowplow.ecommerce/cart/jsonschema/1-0-0",TRANSACTION:"iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0",REFUND:"iglu:com.snowplowanalytics.snowplow.ecommerce/refund/jsonschema/1-0-0",CHECKOUT_STEP:"iglu:com.snowplowanalytics.snowplow.ecommerce/checkout_step/jsonschema/1-0-0",PROMOTION:"iglu:com.snowplowanalytics.snowplow.ecommerce/promotion/jsonschema/1-0-0",PAGE:"iglu:com.snowplowanalytics.snowplow.ecommerce/page/jsonschema/1-0-0",USER:"iglu:com.snowplowanalytics.snowplow.ecommerce/user/jsonschema/1-0-0"},r={PRODUCT_VIEW:"product_view",LIST_VIEW:"list_view",LIST_CLICK:"list_click",ADD_TO_CART:"add_to_cart",REMOVE_FROM_CART:"remove_from_cart",CHECKOUT_STEP:"checkout_step",TRANSACTION:"transaction",REFUND:"refund",PROMO_VIEW:"promo_view",PROMO_CLICK:"promo_click",TRANSACTION_ERROR:"trns_error"},l={LINK_CLICK:"iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1",CHANGE_FORM:"iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0",FOCUS_FORM:"iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0",SUBMIT_FORM:"iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0",SITE_SEARCH:"iglu:com.snowplowanalytics.snowplow/site_search/jsonschema/1-0-0",SOCIAL:"iglu:com.snowplowanalytics.snowplow/social_interaction/jsonschema/1-0-0",TIMING:"iglu:com.snowplowanalytics.snowplow/timing/jsonschema/1-0-0",WEB_VITALS:"iglu:com.snowplowanalytics.snowplow/web_vitals/jsonschema/1-0-0",WEB_PAGE:"iglu:com.snowplowanalytics.snowplow/web_page/jsonschema/1-0-0",BROWSER:"iglu:com.snowplowanalytics.snowplow/browser_context/jsonschema/2-0-0",CLIENT_SESSION:"iglu:com.snowplowanalytics.snowplow/client_session/jsonschema/1-0-2",GEOLOCATION:"iglu:com.snowplowanalytics.snowplow/geolocation_context/jsonschema/1-1-0"},p={PREFERENCES:"iglu:com.snowplowanalytics.snowplow/consent_preferences/jsonschema/1-0-0",CMP_VISIBLE:"iglu:com.snowplowanalytics.snowplow/cmp_visible/jsonschema/1-0-0",DOCUMENT:"iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0",GDPR:"iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0"},m={PLAY:"iglu:com.snowplowanalytics.snowplow.media/play_event/jsonschema/1-0-0",PAUSE:"iglu:com.snowplowanalytics.snowplow.media/pause_event/jsonschema/1-0-0",END:"iglu:com.snowplowanalytics.snowplow.media/end_event/jsonschema/1-0-0",READY:"iglu:com.snowplowanalytics.snowplow.media/ready_event/jsonschema/1-0-0",SEEK_START:"iglu:com.snowplowanalytics.snowplow.media/seek_start_event/jsonschema/1-0-0",SEEK_END:"iglu:com.snowplowanalytics.snowplow.media/seek_end_event/jsonschema/1-0-0",BUFFER_START:"iglu:com.snowplowanalytics.snowplow.media/buffer_start_event/jsonschema/1-0-0",BUFFER_END:"iglu:com.snowplowanalytics.snowplow.media/buffer_end_event/jsonschema/1-0-0",QUALITY_CHANGE:"iglu:com.snowplowanalytics.snowplow.media/quality_change_event/jsonschema/1-0-0",FULLSCREEN_CHANGE:"iglu:com.snowplowanalytics.snowplow.media/fullscreen_change_event/jsonschema/1-0-0",VOLUME_CHANGE:"iglu:com.snowplowanalytics.snowplow.media/volume_change_event/jsonschema/1-0-0",PLAYBACK_RATE_CHANGE:"iglu:com.snowplowanalytics.snowplow.media/playback_rate_change_event/jsonschema/1-0-0",PIP_CHANGE:"iglu:com.snowplowanalytics.snowplow.media/picture_in_picture_change_event/jsonschema/1-0-0",PING:"iglu:com.snowplowanalytics.snowplow.media/ping_event/jsonschema/1-0-0",PERCENT_PROGRESS:"iglu:com.snowplowanalytics.snowplow.media/percent_progress_event/jsonschema/1-0-0",ERROR:"iglu:com.snowplowanalytics.snowplow.media/error_event/jsonschema/1-0-0",AD_BREAK_START:"iglu:com.snowplowanalytics.snowplow.media/ad_break_start_event/jsonschema/1-0-0",AD_BREAK_END:"iglu:com.snowplowanalytics.snowplow.media/ad_break_end_event/jsonschema/1-0-0",AD_START:"iglu:com.snowplowanalytics.snowplow.media/ad_start_event/jsonschema/1-0-0",AD_COMPLETE:"iglu:com.snowplowanalytics.snowplow.media/ad_complete_event/jsonschema/1-0-0",AD_SKIP:"iglu:com.snowplowanalytics.snowplow.media/ad_skip_event/jsonschema/1-0-0",AD_CLICK:"iglu:com.snowplowanalytics.snowplow.media/ad_click_event/jsonschema/1-0-0",AD_PAUSE:"iglu:com.snowplowanalytics.snowplow.media/ad_pause_event/jsonschema/1-0-0",AD_RESUME:"iglu:com.snowplowanalytics.snowplow.media/ad_resume_event/jsonschema/1-0-0",AD_QUARTILE:"iglu:com.snowplowanalytics.snowplow.media/ad_quartile_event/jsonschema/1-0-0",MEDIA_PLAYER:"iglu:com.snowplowanalytics.snowplow/media_player/jsonschema/1-0-0",SESSION:"iglu:com.snowplowanalytics.snowplow.media/session/jsonschema/1-0-0",AD:"iglu:com.snowplowanalytics.snowplow.media/ad/jsonschema/1-0-0",AD_BREAK:"iglu:com.snowplowanalytics.snowplow.media/ad_break/jsonschema/1-0-0"},d={PLAY:"play",PAUSE:"pause",END:"end",READY:"ready",SEEK_START:"seek_start",SEEK_END:"seek_end",BUFFER_START:"buffer_start",BUFFER_END:"buffer_end",QUALITY_CHANGE:"quality_change",FULLSCREEN_CHANGE:"fullscreen_change",VOLUME_CHANGE:"volume_change",PLAYBACK_RATE_CHANGE:"playback_rate_change",PIP_CHANGE:"pip_change",PING:"ping",PERCENT_PROGRESS:"percent_progress",ERROR:"error",AD_BREAK_START:"ad_break_start",AD_BREAK_END:"ad_break_end",AD_START:"ad_start",AD_COMPLETE:"ad_complete",AD_SKIP:"ad_skip",AD_CLICK:"ad_click",AD_PAUSE:"ad_pause",AD_RESUME:"ad_resume",AD_QUARTILE:"ad_quartile"};function w(e){return"object"==typeof e&&"url"in e&&"name"in e}function u(e){return"object"==typeof e&&"code"in e&&!("url"in e)}function g(e){return"object"==typeof e&&null!==e&&"__mapped"in e}function y(e){return"enable"+e.replace("Plugin","")}var v=Object.defineProperty;((e,o)=>{for(var n in o)v(e,n,{get:o[n],enumerable:!0})})({},{Level:()=>h});var _,h=((_=h||{})[_.ERROR=0]="ERROR",_[_.WARN=1]="WARN",_[_.INFO=2]="INFO",_[_.DEBUG=3]="DEBUG",_),f={merge:!0,shallow:!0,extend:!0};function E(e){return Array.isArray(e)}function k(e){return void 0!==e}function A(e){return"number"==typeof e&&!Number.isNaN(e)}function S(e){return"object"==typeof e&&null!==e&&!E(e)&&"[object Object]"===Object.prototype.toString.call(e)}function b(e){return"string"==typeof e}function T(e,o="",n){const a=o.split(".");let t=e;for(let e=0;e<a.length;e++){const o=a[e];if("*"===o&&E(t)){const o=a.slice(e+1).join("."),s=[];for(const e of t){const a=T(e,o,n);s.push(a)}return s}if(t=t instanceof Object?t[o]:void 0,void 0===t)break}return k(t)?t:n}function C(e={}){var o;const n=e.timestamp||(new Date).setHours(0,13,37,0),a=e.group||"gr0up",t=e.count||1,s=function(e,o={},n={}){n={...f,...n};const a=Object.entries(o).reduce((o,[a,t])=>{const s=e[a];return n.merge&&Array.isArray(s)&&Array.isArray(t)?o[a]=t.reduce((e,o)=>e.includes(o)?e:[...e,o],[...s]):(n.extend||a in e)&&(o[a]=t),o},{});return n.shallow?{...e,...a}:(Object.assign(e,a),e)}({name:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{entity:"child",data:{is:"subordinated"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:`${n}-${a}-${t}`,trigger:"test",entity:"entity",action:"action",timestamp:n,timing:3.14,group:a,count:t,version:{source:"3.4.0",tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.name){const[n,a]=null!=(o=e.name.split(" "))?o:[];n&&a&&(s.entity=n,s.action=a)}return s}function R(e="entity action",o={}){const n=o.timestamp||(new Date).setHours(0,13,37,0),a={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},t={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return C({...{"cart view":{data:{currency:"EUR",value:2*a.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",data:{...a.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:a.data.price+t.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...a,context:{shopping:["checkout",0]},nested:[]},{entity:"product",...t,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...a,context:{shopping:["complete",0]},nested:[]},{entity:"product",...t,context:{shopping:["complete",0]},nested:[]},{entity:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.walkeros.io/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{...a,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...a,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...a.data,position:3,promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:n,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...o,name:e})}function j(e){return function(e){return"boolean"==typeof e}(e)||b(e)||A(e)||!k(e)||E(e)&&e.every(j)||S(e)&&Object.values(e).every(j)}function D(e){return j(e)?e:void 0}function O(e,o,n){return async function(...a){try{return await e(...a)}catch(e){if(!o)return;return await o(e)}finally{await(null==n?void 0:n())}}}async function P(e,o={},n={}){var a;if(!k(e))return;const t=S(e)&&e.consent||n.consent||(null==(a=n.collector)?void 0:a.consent),s=E(o)?o:[o];for(const o of s){const a=await O(N)(e,o,{...n,consent:t});if(k(a))return a}}async function N(e,o,n={}){const{collector:a,consent:t}=n;return(E(o)?o:[o]).reduce(async(o,s)=>{const c=await o;if(c)return c;const i=b(s)?{key:s}:s;if(!Object.keys(i).length)return;const{condition:r,consent:l,fn:p,key:m,loop:d,map:w,set:u,validate:g,value:y}=i;if(r&&!await O(r)(e,s,a))return;if(l&&!function(e,o={},n={}){const a={...o,...n},t={};let s=!e||0===Object.keys(e).length;return Object.keys(a).forEach(o=>{a[o]&&(t[o]=!0,e&&e[o]&&(s=!0))}),!!s&&t}(l,t))return y;let v=k(y)?y:e;if(p&&(v=await O(p)(e,s,n)),m&&(v=T(e,m,y)),d){const[o,a]=d,t="this"===o?[e]:await P(e,o,n);E(t)&&(v=(await Promise.all(t.map(e=>P(e,a,n)))).filter(k))}else w?v=await Object.entries(w).reduce(async(o,[a,t])=>{const s=await o,c=await P(e,t,n);return k(c)&&(s[a]=c),s},Promise.resolve({})):u&&(v=await Promise.all(u.map(o=>N(e,o,n))));g&&!await O(g)(v)&&(v=void 0);const _=D(v);return k(_)?_:D(y)},Promise.resolve(void 0))}function I(e){return{window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document,...e}}var U=new Set;function x(e){return S(e)&&"loop"in e&&E(e.loop)&&2===e.loop.length}async function M(e,o,n,a,t,s){var c,r,l,p;const m=null==t?void 0:t.settings,d=null==(c=null==m?void 0:m._state)?void 0:c.adapter;if(!d)return void(null==s||s.throw("Tracker not initialized"));const w=null==m?void 0:m._state;if((null==m?void 0:m.userId)&&!(null==w?void 0:w.userIdSet)){const o=await P(e,m.userId);o&&b(o)&&(d.setUserId(o),w&&(w.userIdSet=!0))}if(null==m?void 0:m.page){const o=await P(e,m.page.type);if(o&&b(o)){const n={type:o};if(m.page.language){const o=await P(e,m.page.language);o&&b(o)&&(n.language=o)}if(m.page.locale){const o=await P(e,m.page.locale);o&&b(o)&&(n.locale=o)}const a=JSON.stringify(n);(null==w?void 0:w.page)!==a&&(d.setPageType(n),w&&(w.page=a))}}if(o.struct)await async function(e,o,n,a){const t=await P(e,o.category),s=await P(e,o.action);if(!t||!b(t))return void(null==a||a.info("Struct event skipped: invalid category",{event:e.name,category:t,reason:t?"not a string":"missing"}));if(!s||!b(s))return void(null==a||a.info("Struct event skipped: invalid action",{event:e.name,action:s,reason:s?"not a string":"missing"}));const c=o.label?await P(e,o.label):void 0,i=o.property?await P(e,o.property):void 0,r=o.value?await P(e,o.value):void 0,l=void 0!==r?Number(r):void 0;n.trackStructEvent({category:t,action:s,...c&&b(c)&&{label:c},...i&&b(i)&&{property:i},...void 0!==l&&A(l)&&!isNaN(l)&&{value:l}})}(e,o.struct,d,s);else if((null==m?void 0:m.pageViewEvent)&&e.name===m.pageViewEvent)d.trackPageView();else if(a){const n=(null==(r=o.snowplow)?void 0:r.actionSchema)||(null==(l=null==m?void 0:m.snowplow)?void 0:l.actionSchema)||i.ACTION,t=await async function(e,o){const n=[];if(!E(o.context))return n;for(const a of o.context)if(S(a)&&a.schema)if(x(a.data)){const[o,t]=a.data.loop,s=await P(e,o);if(E(s))for(const e of s){const o=await P(e,t);S(o)&&n.push({schema:a.schema,data:o})}}else{const o=await P(e,{map:a.data});S(o)&&n.push({schema:a.schema,data:o})}return n}(e,o);let s={};if(S(o.data)&&"map"in o.data){const n=await P(e,o.data);S(n)&&(s=n)}else n===i.ACTION&&(s={type:a});d.trackSelfDescribingEvent({event:{schema:n,data:s},context:t.length>0?t:void 0})}else null==s||s.info("Event skipped: no action name in mapping",{event:e.name,hasContext:!!(null==(p=o.context)?void 0:p.length)})}var V={};t(V,{env:()=>L,step:()=>K});var L={};t(L,{init:()=>G,push:()=>H,simulation:()=>B});var G={window:{snowplow:void 0},document:{createElement:()=>({src:"",async:!1,setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},H={window:{snowplow:Object.assign(()=>{},{q:[]})},document:{createElement:()=>({src:"",async:!1,setAttribute:()=>{},removeAttribute:()=>{}}),head:{appendChild:()=>{}}}},B=["call:window.snowplow"],K={};t(K,{addToCart:()=>W,checkoutStep:()=>$,contextLoop:()=>X,init:()=>F,pageView:()=>Q,productView:()=>q,promoView:()=>z,structuredEvent:()=>J,transaction:()=>Y});var F={in:{loadScript:!0,settings:{collectorUrl:"https://collector.example.com",appId:"my-app",pageViewEvent:"page view"}},out:[["snowplow.newTracker","sp","https://collector.example.com",{appId:"my-app",platform:"web",discoverRootDomain:void 0,cookieSameSite:void 0,appVersion:void 0,contexts:void 0,anonymousTracking:void 0}]]},q={in:R("product view",{timestamp:1700000400}),mapping:{name:r.PRODUCT_VIEW,settings:{context:[{schema:i.PRODUCT,data:{id:"data.id",name:"data.name",category:"data.category",price:"data.price",currency:{key:"data.currency",value:"USD"},brand:"data.brand",variant:"data.variant"}}]}},out:[["snowplow.trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"product_view"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",data:{id:"ers",name:"Everyday Ruck Snack",price:420,currency:"USD"}}]}]]},W={in:R("product add",{timestamp:1700000401}),mapping:{name:r.ADD_TO_CART,settings:{context:[{schema:i.PRODUCT,data:{id:"data.id",name:"data.name",category:"data.category",price:"data.price",currency:{key:"data.currency",value:"USD"},quantity:{key:"data.quantity",value:1}}},{schema:i.CART,data:{total_value:"globals.cart_value",currency:{key:"globals.cart_currency",value:"USD"}}},{schema:i.PAGE,data:{type:"globals.page_type",language:"globals.language"}},{schema:i.USER,data:{id:"user.id",email:"user.email",is_guest:{fn:e=>{var o;return!!(null==(o=e.user)?void 0:o.id)||void 0}}}}]}},out:[["snowplow.trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"add_to_cart"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",data:{id:"ers",name:"Everyday Ruck Snack",price:420,currency:"USD",quantity:1}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/cart/jsonschema/1-0-0",data:{currency:"USD"}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/page/jsonschema/1-0-0",data:{}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/user/jsonschema/1-0-0",data:{id:"us3r",is_guest:!0}}]}]]},Y={in:R("order complete",{timestamp:1700000402}),mapping:{name:r.TRANSACTION,settings:{context:[{schema:i.TRANSACTION,data:{transaction_id:"data.id",revenue:"data.total",currency:{key:"data.currency",value:"USD"},payment_method:{value:"credit_card"},tax:"data.taxes",shipping:"data.shipping"}}]}},out:[["snowplow.trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"transaction"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0",data:{transaction_id:"0rd3r1d",revenue:555,currency:"EUR",payment_method:"credit_card",tax:73.76,shipping:5.22}}]}]]},z={in:R("promotion visible",{timestamp:1700000403}),mapping:{name:r.PROMO_VIEW,settings:{context:[{schema:i.PROMOTION,data:{id:"data.id",name:"data.name",creative_id:"data.creative_id",type:"data.type",position:"data.position",slot:"data.slot"}}]}},out:[["snowplow.trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"promo_view"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/promotion/jsonschema/1-0-0",data:{name:"Setting up tracking easily",position:"hero"}}]}]]},Q={in:R("page view",{timestamp:1700000404}),mapping:void 0,out:[["snowplow.trackPageView"]]},$={in:R("checkout view",{timestamp:1700000405}),mapping:{name:r.CHECKOUT_STEP,settings:{context:[{schema:i.CHECKOUT_STEP,data:{step:"data.step",option:"data.option"}}]}},out:[["snowplow.trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"checkout_step"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/checkout_step/jsonschema/1-0-0",data:{step:"payment"}}]}]]},J={in:R("product visible",{timestamp:1700000406}),mapping:{settings:{struct:{category:{value:"ecommerce"},action:{value:"impression"},label:"data.name",property:"data.color",value:"data.price"}}},out:[["snowplow.trackStructEvent",{category:"ecommerce",action:"impression",label:"Everyday Ruck Snack",property:"black",value:420}]]},X={in:R("order complete",{timestamp:1700000407}),mapping:{name:r.TRANSACTION,settings:{context:[{schema:i.TRANSACTION,data:{transaction_id:"data.id",revenue:"data.total",currency:"data.currency"}},{schema:i.PRODUCT,data:{loop:["nested",{map:{id:"data.id",name:"data.name",price:"data.price"}}]}}]}},out:[["snowplow.trackSelfDescribingEvent",{event:{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2",data:{type:"transaction"}},context:[{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0",data:{transaction_id:"0rd3r1d",revenue:555,currency:"EUR"}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",data:{id:"ers",name:"Everyday Ruck Snack",price:420}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",data:{id:"cc",name:"Cool Cap",price:42}},{schema:"iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0",data:{name:"Surprise"}}]}]]};function Z(e){var o,n;return null!=(n=null==(o=null==e?void 0:e.window)?void 0:o.snowplow)?n:"undefined"!=typeof window?window.snowplow:void 0}function ee(e){const o=Z(e);o&&o("clearUserData")}function oe(e,o){const n=Z(o);n&&(e?n("enableAnonymousTracking",e):n("enableAnonymousTracking"))}function ne(e,o){const n=Z(o);n&&(e?n("disableAnonymousTracking",{stateStorageStrategy:e}):n("disableAnonymousTracking"))}var ae,te={type:"snowplow",config:{},init({config:e,env:o,logger:n}){var a;const{settings:t={},loadScript:s}=e,{collectorUrl:c,tracker:i}=t;let r;if(c||n.throw("Config settings collectorUrl missing"),i){if(!i.newTracker)return n.throw("tracker.newTracker is required for browser-tracker mode"),!1;if(!i.trackSelfDescribingEvent)return n.throw("tracker.trackSelfDescribingEvent is required for browser-tracker mode"),!1;i.newTracker(t.trackerName||"sp",c,{appId:t.appId||"walkerOS",platform:t.platform||"web",discoverRootDomain:t.discoverRootDomain,cookieSameSite:t.cookieSameSite,appVersion:t.appVersion,contexts:t.contexts,anonymousTracking:t.anonymousTracking}),l=i,r={trackPageView(e){l.trackPageView&&l.trackPageView(e)},trackSelfDescribingEvent(e){l.trackSelfDescribingEvent(e)},trackStructEvent(e){l.trackStructEvent&&l.trackStructEvent(e)},setUserId(e){l.setUserId&&l.setUserId(e)},enableActivityTracking(e){l.enableActivityTracking&&l.enableActivityTracking(e)},addPlugin(e){l.addPlugin&&!Array.isArray(e)&&l.addPlugin(e)},addGlobalContexts(e){l.addGlobalContexts&&l.addGlobalContexts(e)},clearUserData(e){l.clearUserData&&l.clearUserData(e)},enableAnonymousTracking(e){l.enableAnonymousTracking&&l.enableAnonymousTracking(e)},disableAnonymousTracking(e){l.disableAnonymousTracking&&l.disableAnonymousTracking(e)},trackConsentAllow(e){l.trackConsentAllow&&l.trackConsentAllow(e)},trackConsentDeny(e){l.trackConsentDeny&&l.trackConsentDeny(e)},trackConsentSelected(e){l.trackConsentSelected&&l.trackConsentSelected(e)},setPageType(e){l.setPageType&&l.setPageType(e)},call(e,...o){}}}else{s&&function(e,o,n="https://cdn.jsdelivr.net/npm/@snowplow/javascript-tracker@latest/dist/sp.js"){if(U.has(e))return;const{document:a}=I(o),t=a.createElement("script");t.src=n,t.async=!0,a.head.appendChild(t),U.add(e)}(c,o,t.scriptUrl);const e=function(e){const{window:o}=I(e),n=o;if(!n.snowplow){const e=function(...o){(e.q=e.q||[]).push(o)};e.q=[],n.snowplow=e,n.GlobalSnowplowNamespace=["snowplow"]}return n.snowplow}(o);if(!e)return!1;e("newTracker",t.trackerName||"sp",c,{appId:t.appId||"walkerOS",platform:t.platform||"web",discoverRootDomain:t.discoverRootDomain,cookieSameSite:t.cookieSameSite,appVersion:t.appVersion,contexts:t.contexts,anonymousTracking:t.anonymousTracking}),r=function(e){return{trackPageView(o){o?e("trackPageView",o):e("trackPageView")},trackSelfDescribingEvent(o){e("trackSelfDescribingEvent",o)},trackStructEvent(o){e("trackStructEvent",o)},setUserId(o){e("setUserId",o)},enableActivityTracking(o){e("enableActivityTracking",o)},addPlugin(o){Array.isArray(o)?e("addPlugin",o[0],o[1]):e("addPlugin",o)},addGlobalContexts(o){e("addGlobalContexts",o)},clearUserData(o){o?e("clearUserData",o):e("clearUserData")},enableAnonymousTracking(o){o?e("enableAnonymousTracking",o):e("enableAnonymousTracking")},disableAnonymousTracking(o){o?e("disableAnonymousTracking",o):e("disableAnonymousTracking")},trackConsentAllow(o){e("trackConsentAllow",o)},trackConsentDeny(o){e("trackConsentDeny",o)},trackConsentSelected(o){e("trackConsentSelected",o)},setPageType(o){e("setPageType",o)},call(o,...n){e(o,...n)}}}(e)}var l;if(!r)return!1;if(t.activityTracking&&r.enableActivityTracking(t.activityTracking),t.plugins)for(const e of t.plugins)if(u(e)){const o="function"==typeof e.code&&e.config?e.code(e.config):e.code;r.addPlugin({plugin:o})}else if(w(e)){r.addPlugin([e.url,e.name]);const o=null!=(a=e.enableMethod)?a:y(e.name[1]);e.options?r.call(o,e.options):r.call(o)}else r.addPlugin({plugin:e});t.globalContexts&&t.globalContexts.length>0&&r.addGlobalContexts(t.globalContexts),t.trackPageView&&r.trackPageView();const p={...t,_state:{adapter:r}};return{...e,settings:p}},async push(e,{config:o,data:n={},rule:a={},logger:t}){const s=a.settings||{};await M(e,s,0,a.name,o,t)},on(e,o){var n;if("consent"!==e||!o.data)return;const a=o.data,t=((null==(n=o.config)?void 0:n.settings)||{}).consent;if(!t)return;const s=Z(o.env);if(!s)return;const c=t.required||Object.keys(a),i=c.every(e=>!0===a[e]),r=c.every(e=>!a[e]),l=c.filter(e=>!0===a[e]),p={basisForProcessing:t.basisForProcessing||"consent"};t.consentUrl&&(p.consentUrl=t.consentUrl),t.consentVersion&&(p.consentVersion=t.consentVersion),t.domainsApplied&&(p.domainsApplied=t.domainsApplied),void 0!==t.gdprApplies&&(p.gdprApplies=t.gdprApplies),r?s("trackConsentDeny",{...p,consentScopes:c}):s(i?"trackConsentAllow":"trackConsentSelected",{...p,consentScopes:l})}},se=te;return ae=s,((t,s,c,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let r of n(s))a.call(t,r)||r===c||e(t,r,{get:()=>s[r],enumerable:!(i=o(s,r))||i.enumerable});return t})(e({},"__esModule",{value:!0}),ae)})();
package/dist/index.d.mts CHANGED
@@ -912,17 +912,23 @@ declare namespace index$1 {
912
912
  export { index$1_ACTIONS as ACTIONS, index$1_Action as Action, index$1_ActivityTrackingConfiguration as ActivityTrackingConfiguration, type index$1_AnonymousTrackingConfig as AnonymousTrackingConfig, type index$1_BasisForProcessing as BasisForProcessing, index$1_BrowserPlugin as BrowserPlugin, index$1_CONSENT_SCHEMAS as CONSENT_SCHEMAS, index$1_Cart as Cart, index$1_CheckoutStep as CheckoutStep, type index$1_CodeBasedPlugin as CodeBasedPlugin, index$1_CommonEventProperties as CommonEventProperties, type index$1_Config as Config, type index$1_ConsentConfig as ConsentConfig, type index$1_ContextEntity as ContextEntity, type index$1_Destination as Destination, type index$1_Env as Env, type index$1_GlobalContext as GlobalContext, type index$1_GlobalContextGenerator as GlobalContextGenerator, index$1_MEDIA_ACTIONS as MEDIA_ACTIONS, index$1_MEDIA_SCHEMAS as MEDIA_SCHEMAS, type index$1_MappedGlobalContext as MappedGlobalContext, type index$1_Mapping as Mapping, index$1_Page as Page, type index$1_PageSettings as PageSettings, type index$1_Param as Param, index$1_Product as Product, index$1_Refund as Refund, type index$1_Rule as Rule, type index$1_Rules as Rules, type index$1_RuntimeState as RuntimeState, index$1_SCHEMAS as SCHEMAS, index$1_SPPromotion as SPPromotion, index$1_SPTransaction as SPTransaction, type index$1_SelfDescribingEvent as SelfDescribingEvent, index$1_SelfDescribingJson as SelfDescribingJson, type index$1_Settings as Settings, type index$1_SnowplowAdapter as SnowplowAdapter, type index$1_SnowplowFunction as SnowplowFunction, type index$1_SnowplowMappingSettings as SnowplowMappingSettings, type index$1_SnowplowPlugin as SnowplowPlugin, type index$1_SnowplowSettings as SnowplowSettings, type index$1_StaticGlobalContext as StaticGlobalContext, type index$1_StructuredEventMapping as StructuredEventMapping, type index$1_TrackerContexts as TrackerContexts, type index$1_TrackerFactory as TrackerFactory, type index$1_TrackerFunctions as TrackerFunctions, index$1_TransactionError as TransactionError, type index$1_Types as Types, type index$1_UrlBasedPlugin as UrlBasedPlugin, index$1_User as User, index$1_WEB_SCHEMAS as WEB_SCHEMAS, index$1_deriveEnableMethod as deriveEnableMethod, index$1_isCodeBasedPlugin as isCodeBasedPlugin, index$1_isMappedGlobalContext as isMappedGlobalContext, index$1_isUrlBasedPlugin as isUrlBasedPlugin };
913
913
  }
914
914
 
915
- declare const init: Env | undefined;
915
+ declare const init$1: Env | undefined;
916
916
  declare const push: Env;
917
917
  declare const simulation: string[];
918
918
 
919
- declare const env_init: typeof init;
920
919
  declare const env_push: typeof push;
921
920
  declare const env_simulation: typeof simulation;
922
921
  declare namespace env {
923
- export { env_init as init, env_push as push, env_simulation as simulation };
922
+ export { init$1 as init, env_push as push, env_simulation as simulation };
924
923
  }
925
924
 
925
+ /**
926
+ * Destination bootstrap.
927
+ * Given the canonical settings, init sets up the Snowplow queue and creates
928
+ * a tracker pointed at the collector URL. Reproduce by passing the same
929
+ * settings to `startFlow` as the destination config.
930
+ */
931
+ declare const init: Flow.StepExample;
926
932
  declare const productView: Flow.StepExample;
927
933
  declare const addToCart: Flow.StepExample;
928
934
  declare const transaction: Flow.StepExample;
@@ -935,13 +941,14 @@ declare const contextLoop: Flow.StepExample;
935
941
  declare const step_addToCart: typeof addToCart;
936
942
  declare const step_checkoutStep: typeof checkoutStep;
937
943
  declare const step_contextLoop: typeof contextLoop;
944
+ declare const step_init: typeof init;
938
945
  declare const step_pageView: typeof pageView;
939
946
  declare const step_productView: typeof productView;
940
947
  declare const step_promoView: typeof promoView;
941
948
  declare const step_structuredEvent: typeof structuredEvent;
942
949
  declare const step_transaction: typeof transaction;
943
950
  declare namespace step {
944
- export { step_addToCart as addToCart, step_checkoutStep as checkoutStep, step_contextLoop as contextLoop, step_pageView as pageView, step_productView as productView, step_promoView as promoView, step_structuredEvent as structuredEvent, step_transaction as transaction };
951
+ export { step_addToCart as addToCart, step_checkoutStep as checkoutStep, step_contextLoop as contextLoop, step_init as init, step_pageView as pageView, step_productView as productView, step_promoView as promoView, step_structuredEvent as structuredEvent, step_transaction as transaction };
945
952
  }
946
953
 
947
954
  declare const index_env: typeof env;