@walkeros/web-destination-pinterest 4.8.1 → 4.8.2
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/CHANGELOG.md +41 -0
- package/README.md +1 -1
- package/dist/dev.d.mts +14 -4
- package/dist/dev.d.ts +14 -4
- 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 -3
- package/dist/examples/index.d.ts +13 -3
- package/dist/examples/index.js +27 -50
- package/dist/examples/index.mjs +28 -51
- package/dist/index.browser.js +1 -1
- package/dist/index.es5.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/walkerOS.json +90 -38
- package/package.json +4 -4
package/dist/examples/index.js
CHANGED
|
@@ -41,51 +41,11 @@ var noopPintrk = Object.assign(noop, {
|
|
|
41
41
|
var init = {
|
|
42
42
|
window: {
|
|
43
43
|
pintrk: void 0
|
|
44
|
-
},
|
|
45
|
-
document: {
|
|
46
|
-
createElement: () => ({
|
|
47
|
-
src: "",
|
|
48
|
-
async: false,
|
|
49
|
-
dataset: {},
|
|
50
|
-
setAttribute: () => {
|
|
51
|
-
},
|
|
52
|
-
removeAttribute: () => {
|
|
53
|
-
}
|
|
54
|
-
}),
|
|
55
|
-
head: { appendChild: () => {
|
|
56
|
-
} },
|
|
57
|
-
getElementsByTagName: () => [
|
|
58
|
-
{
|
|
59
|
-
parentNode: { insertBefore: () => {
|
|
60
|
-
} }
|
|
61
|
-
}
|
|
62
|
-
],
|
|
63
|
-
querySelector: () => null
|
|
64
44
|
}
|
|
65
45
|
};
|
|
66
46
|
var push = {
|
|
67
47
|
window: {
|
|
68
48
|
pintrk: noopPintrk
|
|
69
|
-
},
|
|
70
|
-
document: {
|
|
71
|
-
createElement: () => ({
|
|
72
|
-
src: "",
|
|
73
|
-
async: false,
|
|
74
|
-
dataset: {},
|
|
75
|
-
setAttribute: () => {
|
|
76
|
-
},
|
|
77
|
-
removeAttribute: () => {
|
|
78
|
-
}
|
|
79
|
-
}),
|
|
80
|
-
head: { appendChild: () => {
|
|
81
|
-
} },
|
|
82
|
-
getElementsByTagName: () => [
|
|
83
|
-
{
|
|
84
|
-
parentNode: { insertBefore: () => {
|
|
85
|
-
} }
|
|
86
|
-
}
|
|
87
|
-
],
|
|
88
|
-
querySelector: () => null
|
|
89
49
|
}
|
|
90
50
|
};
|
|
91
51
|
var simulation = ["call:window.pintrk"];
|
|
@@ -97,10 +57,12 @@ __export(step_exports, {
|
|
|
97
57
|
consentRevoke: () => consentRevoke,
|
|
98
58
|
defaultForward: () => defaultForward,
|
|
99
59
|
identifyOnlySilent: () => identifyOnlySilent,
|
|
60
|
+
identifyOnlySilentWithoutData: () => identifyOnlySilentWithoutData,
|
|
100
61
|
orderCompleteCheckout: () => orderCompleteCheckout,
|
|
101
62
|
pageViewRename: () => pageViewRename,
|
|
102
63
|
productAddToCart: () => productAddToCart,
|
|
103
64
|
productViewContent: () => productViewContent,
|
|
65
|
+
silentRule: () => silentRule,
|
|
104
66
|
siteSearch: () => siteSearch,
|
|
105
67
|
userLoginLead: () => userLoginLead,
|
|
106
68
|
wildcardIgnored: () => wildcardIgnored
|
|
@@ -115,7 +77,7 @@ var defaultForward = {
|
|
|
115
77
|
};
|
|
116
78
|
var wildcardIgnored = {
|
|
117
79
|
public: false,
|
|
118
|
-
in: (0, import_core.
|
|
80
|
+
in: (0, import_core.createEvent)({ name: "debug noise", timestamp: 1700000101 }),
|
|
119
81
|
mapping: { ignore: true },
|
|
120
82
|
out: []
|
|
121
83
|
};
|
|
@@ -129,7 +91,8 @@ var pageViewRename = {
|
|
|
129
91
|
var siteSearch = {
|
|
130
92
|
title: "Search",
|
|
131
93
|
description: "A site search fires Pinterest search with the search_query field resolved from event data.",
|
|
132
|
-
in: (0, import_core.
|
|
94
|
+
in: (0, import_core.createEvent)({
|
|
95
|
+
name: "site search",
|
|
133
96
|
timestamp: 1700000103,
|
|
134
97
|
id: "ev-1700000103",
|
|
135
98
|
data: { query: "leather jacket" }
|
|
@@ -249,18 +212,14 @@ var orderCompleteCheckout = {
|
|
|
249
212
|
name: "checkout",
|
|
250
213
|
data: {
|
|
251
214
|
map: {
|
|
252
|
-
value: "data.
|
|
215
|
+
value: "data.value",
|
|
253
216
|
order_id: "data.id",
|
|
254
217
|
currency: { key: "data.currency", value: "EUR" },
|
|
255
218
|
line_items: {
|
|
256
219
|
loop: [
|
|
257
220
|
"nested",
|
|
258
221
|
{
|
|
259
|
-
condition: (value) =>
|
|
260
|
-
var _a;
|
|
261
|
-
const v = value;
|
|
262
|
-
return typeof ((_a = v == null ? void 0 : v.data) == null ? void 0 : _a.price) === "number";
|
|
263
|
-
},
|
|
222
|
+
condition: (value) => (0, import_core.isObject)(value) && (0, import_core.isObject)(value.data) && typeof value.data.price === "number",
|
|
264
223
|
map: {
|
|
265
224
|
product_id: "data.id",
|
|
266
225
|
product_name: "data.color",
|
|
@@ -303,7 +262,8 @@ var orderCompleteCheckout = {
|
|
|
303
262
|
var userLoginLead = {
|
|
304
263
|
title: "Lead with matching",
|
|
305
264
|
description: "A user login fires pintrk set for enhanced matching and then a lead conversion track call.",
|
|
306
|
-
in: (0, import_core.
|
|
265
|
+
in: (0, import_core.createEvent)({
|
|
266
|
+
name: "user login",
|
|
307
267
|
timestamp: 1700000107,
|
|
308
268
|
id: "ev-1700000107",
|
|
309
269
|
data: {
|
|
@@ -343,7 +303,8 @@ var userLoginLead = {
|
|
|
343
303
|
var identifyOnlySilent = {
|
|
344
304
|
title: "Identify only",
|
|
345
305
|
description: "A user update fires pintrk set for enhanced matching without a track call via mapping silent.",
|
|
346
|
-
in: (0, import_core.
|
|
306
|
+
in: (0, import_core.createEvent)({
|
|
307
|
+
name: "user update",
|
|
347
308
|
timestamp: 1700000108,
|
|
348
309
|
id: "ev-1700000108",
|
|
349
310
|
data: {
|
|
@@ -366,16 +327,32 @@ var identifyOnlySilent = {
|
|
|
366
327
|
};
|
|
367
328
|
var consentRevoke = {
|
|
368
329
|
public: false,
|
|
330
|
+
description: "For a destination with config.consent { marketing: true }, revoking marketing makes no vendor call: the destination stops sending track calls itself.",
|
|
369
331
|
command: "consent",
|
|
370
332
|
in: { marketing: false },
|
|
371
333
|
out: []
|
|
372
334
|
};
|
|
373
335
|
var consentGrant = {
|
|
374
336
|
public: false,
|
|
337
|
+
description: "A grant of the required consent lets the destination send track calls again; Pinterest has no consent call to make.",
|
|
375
338
|
command: "consent",
|
|
376
339
|
in: { marketing: true },
|
|
377
340
|
out: []
|
|
378
341
|
};
|
|
342
|
+
var silentRule = {
|
|
343
|
+
public: false,
|
|
344
|
+
description: "A rule with silent: true sends no pintrk track call.",
|
|
345
|
+
in: (0, import_core.createEvent)({ name: "page view", timestamp: 1700000109 }),
|
|
346
|
+
mapping: { silent: true },
|
|
347
|
+
out: []
|
|
348
|
+
};
|
|
349
|
+
var identifyOnlySilentWithoutData = {
|
|
350
|
+
public: false,
|
|
351
|
+
description: "A silent rule whose identify mapping finds no email or id sends nothing: an unmet mapping, not a failure, so the push returns normally.",
|
|
352
|
+
in: { name: "user update", entity: "user", action: "update" },
|
|
353
|
+
mapping: identifyOnlySilent.mapping,
|
|
354
|
+
out: []
|
|
355
|
+
};
|
|
379
356
|
// Annotate the CommonJS export names for ESM import in node:
|
|
380
357
|
0 && (module.exports = {
|
|
381
358
|
env,
|
package/dist/examples/index.mjs
CHANGED
|
@@ -20,51 +20,11 @@ var noopPintrk = Object.assign(noop, {
|
|
|
20
20
|
var init = {
|
|
21
21
|
window: {
|
|
22
22
|
pintrk: void 0
|
|
23
|
-
},
|
|
24
|
-
document: {
|
|
25
|
-
createElement: () => ({
|
|
26
|
-
src: "",
|
|
27
|
-
async: false,
|
|
28
|
-
dataset: {},
|
|
29
|
-
setAttribute: () => {
|
|
30
|
-
},
|
|
31
|
-
removeAttribute: () => {
|
|
32
|
-
}
|
|
33
|
-
}),
|
|
34
|
-
head: { appendChild: () => {
|
|
35
|
-
} },
|
|
36
|
-
getElementsByTagName: () => [
|
|
37
|
-
{
|
|
38
|
-
parentNode: { insertBefore: () => {
|
|
39
|
-
} }
|
|
40
|
-
}
|
|
41
|
-
],
|
|
42
|
-
querySelector: () => null
|
|
43
23
|
}
|
|
44
24
|
};
|
|
45
25
|
var push = {
|
|
46
26
|
window: {
|
|
47
27
|
pintrk: noopPintrk
|
|
48
|
-
},
|
|
49
|
-
document: {
|
|
50
|
-
createElement: () => ({
|
|
51
|
-
src: "",
|
|
52
|
-
async: false,
|
|
53
|
-
dataset: {},
|
|
54
|
-
setAttribute: () => {
|
|
55
|
-
},
|
|
56
|
-
removeAttribute: () => {
|
|
57
|
-
}
|
|
58
|
-
}),
|
|
59
|
-
head: { appendChild: () => {
|
|
60
|
-
} },
|
|
61
|
-
getElementsByTagName: () => [
|
|
62
|
-
{
|
|
63
|
-
parentNode: { insertBefore: () => {
|
|
64
|
-
} }
|
|
65
|
-
}
|
|
66
|
-
],
|
|
67
|
-
querySelector: () => null
|
|
68
28
|
}
|
|
69
29
|
};
|
|
70
30
|
var simulation = ["call:window.pintrk"];
|
|
@@ -76,15 +36,17 @@ __export(step_exports, {
|
|
|
76
36
|
consentRevoke: () => consentRevoke,
|
|
77
37
|
defaultForward: () => defaultForward,
|
|
78
38
|
identifyOnlySilent: () => identifyOnlySilent,
|
|
39
|
+
identifyOnlySilentWithoutData: () => identifyOnlySilentWithoutData,
|
|
79
40
|
orderCompleteCheckout: () => orderCompleteCheckout,
|
|
80
41
|
pageViewRename: () => pageViewRename,
|
|
81
42
|
productAddToCart: () => productAddToCart,
|
|
82
43
|
productViewContent: () => productViewContent,
|
|
44
|
+
silentRule: () => silentRule,
|
|
83
45
|
siteSearch: () => siteSearch,
|
|
84
46
|
userLoginLead: () => userLoginLead,
|
|
85
47
|
wildcardIgnored: () => wildcardIgnored
|
|
86
48
|
});
|
|
87
|
-
import { getEvent } from "@walkeros/core";
|
|
49
|
+
import { createEvent, getEvent, isObject } from "@walkeros/core";
|
|
88
50
|
var defaultForward = {
|
|
89
51
|
title: "Default forward",
|
|
90
52
|
description: "Without a mapping the walker event name is forwarded as-is to pintrk track with an event_id for dedup.",
|
|
@@ -94,7 +56,7 @@ var defaultForward = {
|
|
|
94
56
|
};
|
|
95
57
|
var wildcardIgnored = {
|
|
96
58
|
public: false,
|
|
97
|
-
in:
|
|
59
|
+
in: createEvent({ name: "debug noise", timestamp: 1700000101 }),
|
|
98
60
|
mapping: { ignore: true },
|
|
99
61
|
out: []
|
|
100
62
|
};
|
|
@@ -108,7 +70,8 @@ var pageViewRename = {
|
|
|
108
70
|
var siteSearch = {
|
|
109
71
|
title: "Search",
|
|
110
72
|
description: "A site search fires Pinterest search with the search_query field resolved from event data.",
|
|
111
|
-
in:
|
|
73
|
+
in: createEvent({
|
|
74
|
+
name: "site search",
|
|
112
75
|
timestamp: 1700000103,
|
|
113
76
|
id: "ev-1700000103",
|
|
114
77
|
data: { query: "leather jacket" }
|
|
@@ -228,18 +191,14 @@ var orderCompleteCheckout = {
|
|
|
228
191
|
name: "checkout",
|
|
229
192
|
data: {
|
|
230
193
|
map: {
|
|
231
|
-
value: "data.
|
|
194
|
+
value: "data.value",
|
|
232
195
|
order_id: "data.id",
|
|
233
196
|
currency: { key: "data.currency", value: "EUR" },
|
|
234
197
|
line_items: {
|
|
235
198
|
loop: [
|
|
236
199
|
"nested",
|
|
237
200
|
{
|
|
238
|
-
condition: (value) =>
|
|
239
|
-
var _a;
|
|
240
|
-
const v = value;
|
|
241
|
-
return typeof ((_a = v == null ? void 0 : v.data) == null ? void 0 : _a.price) === "number";
|
|
242
|
-
},
|
|
201
|
+
condition: (value) => isObject(value) && isObject(value.data) && typeof value.data.price === "number",
|
|
243
202
|
map: {
|
|
244
203
|
product_id: "data.id",
|
|
245
204
|
product_name: "data.color",
|
|
@@ -282,7 +241,8 @@ var orderCompleteCheckout = {
|
|
|
282
241
|
var userLoginLead = {
|
|
283
242
|
title: "Lead with matching",
|
|
284
243
|
description: "A user login fires pintrk set for enhanced matching and then a lead conversion track call.",
|
|
285
|
-
in:
|
|
244
|
+
in: createEvent({
|
|
245
|
+
name: "user login",
|
|
286
246
|
timestamp: 1700000107,
|
|
287
247
|
id: "ev-1700000107",
|
|
288
248
|
data: {
|
|
@@ -322,7 +282,8 @@ var userLoginLead = {
|
|
|
322
282
|
var identifyOnlySilent = {
|
|
323
283
|
title: "Identify only",
|
|
324
284
|
description: "A user update fires pintrk set for enhanced matching without a track call via mapping silent.",
|
|
325
|
-
in:
|
|
285
|
+
in: createEvent({
|
|
286
|
+
name: "user update",
|
|
326
287
|
timestamp: 1700000108,
|
|
327
288
|
id: "ev-1700000108",
|
|
328
289
|
data: {
|
|
@@ -345,16 +306,32 @@ var identifyOnlySilent = {
|
|
|
345
306
|
};
|
|
346
307
|
var consentRevoke = {
|
|
347
308
|
public: false,
|
|
309
|
+
description: "For a destination with config.consent { marketing: true }, revoking marketing makes no vendor call: the destination stops sending track calls itself.",
|
|
348
310
|
command: "consent",
|
|
349
311
|
in: { marketing: false },
|
|
350
312
|
out: []
|
|
351
313
|
};
|
|
352
314
|
var consentGrant = {
|
|
353
315
|
public: false,
|
|
316
|
+
description: "A grant of the required consent lets the destination send track calls again; Pinterest has no consent call to make.",
|
|
354
317
|
command: "consent",
|
|
355
318
|
in: { marketing: true },
|
|
356
319
|
out: []
|
|
357
320
|
};
|
|
321
|
+
var silentRule = {
|
|
322
|
+
public: false,
|
|
323
|
+
description: "A rule with silent: true sends no pintrk track call.",
|
|
324
|
+
in: createEvent({ name: "page view", timestamp: 1700000109 }),
|
|
325
|
+
mapping: { silent: true },
|
|
326
|
+
out: []
|
|
327
|
+
};
|
|
328
|
+
var identifyOnlySilentWithoutData = {
|
|
329
|
+
public: false,
|
|
330
|
+
description: "A silent rule whose identify mapping finds no email or id sends nothing: an unmet mapping, not a failure, so the push returns normally.",
|
|
331
|
+
in: { name: "user update", entity: "user", action: "update" },
|
|
332
|
+
mapping: identifyOnlySilent.mapping,
|
|
333
|
+
out: []
|
|
334
|
+
};
|
|
358
335
|
export {
|
|
359
336
|
env_exports as env,
|
|
360
337
|
step_exports as step
|
package/dist/index.browser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Destination=(()=>{var t=Object.defineProperty,e=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o={};((e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})})(o,{DestinationPinterest:()=>W,default:()=>B,destinationPinterest:()=>q});var i=Object.defineProperty,c=(t,e)=>{for(var n in e)i(t,n,{get:e[n],enumerable:!0})};function s(t,e){if("collector"===t)return"collector";if(!e)throw new Error(`stepId(${t}) requires an id`);return`${t}.${e}`}c({},{stepId:()=>s});function u(t,e){const n=t.destinations[e];if(!n)throw new Error(`Destination not found: ${e}`);return n}c({},{getDestination:()=>u});c({},{Level:()=>a});var f,a=((f=a||{})[f.ERROR=0]="ERROR",f[f.WARN=1]="WARN",f[f.INFO=2]="INFO",f[f.DEBUG=3]="DEBUG",f);function l(t,e){const n=t.transformers[e];if(!n)throw new Error(`Transformer not found: ${e}`);return n}c({},{getTransformer:()=>l});function p(t,e){const n=t.sources[e];if(!n)throw new Error(`Source not found: ${e}`);return n}c({},{getSource:()=>p});function d(t,e){const n=t.stores[e];if(!n)throw new Error(`Store not found: ${e}`);return n}async function g(t,e){return await t.get(e)}function y(t){return Array.isArray(t)}function v(t){return void 0!==t}function w(t){return"object"==typeof t&&null!==t&&"then"in t&&"function"==typeof t.then}function h(t){return"object"==typeof t&&null!==t&&!y(t)&&"[object Object]"===Object.prototype.toString.call(t)}function m(t){return"string"==typeof t}function b(t,e="",n){const r=e.split(".");let o=t;for(let t=0;t<r.length;t++){const e=r[t];if("*"===e&&y(o)){const e=r.slice(t+1).join("."),i=[];for(const t of o){const r=b(t,e,n);i.push(r)}return i}if(o=h(o)||y(o)?o[e]:void 0,void 0===o)break}return v(o)?o:n}function O(t){return function(t){return"boolean"==typeof t}(t)||m(t)||function(t){return"number"==typeof t&&!Number.isNaN(t)}(t)||!v(t)||y(t)&&t.every(O)||h(t)&&Object.values(t).every(O)}function j(t){return O(t)?t:void 0}function P(t,e,n){return async function(...r){try{return await t(...r)}catch(t){if(!e)return;return await e(t)}finally{await(null==n?void 0:n())}}}c({},{getStore:()=>d,getStoreValue:()=>g});var R=class t extends Error{constructor(e,n){super(e,n),this.name="FatalError",Object.setPrototypeOf(this,t.prototype)}};async function _(t,e={},n){var r;if(!n.collector)throw new Error("getMappingValue: context.collector is required");const o=n.consent||n.collector.consent,i=null!=(r=n.event)?r:{},c={event:i,mapping:e,collector:n.collector,logger:n.collector.logger,consent:o},s=y(e)?e:[e];for(const e of s){const r=await P(E,t=>{if(t instanceof R)throw t;n.collector.status.failed++,c.logger.error("mapping processing failed",{event:i,error:t})})(t,e,{...c,mapping:e});if(v(r))return r}}async function E(t,e,n){return(y(e)?e:[e]).reduce(async(e,r)=>{const o=await e;if(o)return o;const i=m(r)?{key:r}:r;if(!Object.keys(i).length)return;const{condition:c,consent:s,fn:u,key:f,loop:a,map:l,set:p,validate:d,value:g}=i,w={...n,mapping:r};if(c&&!await P(c,t=>{if(t instanceof R)throw t;return w.logger.error("mapping condition failed",{event:w.event,error:t}),!1})(t,w))return;if(s&&!function(t,e={},n={}){const r={...e,...n},o={};let i=!t||0===Object.keys(t).length;return Object.keys(r).forEach(e=>{r[e]&&(o[e]=!0,t&&t[e]&&(i=!0))}),!!i&&o}(s,w.consent))return g;let h=v(g)?g:t;if(a){const[e,n]=a,r="this"===e?[t]:await _(t,e,w);h=y(r)?(await Promise.all(r.map(t=>v(t)?_(t,n,w):void 0))).filter(v):void 0}else l?h=await Object.entries(l).reduce(async(e,[n,r])=>{const o=await e,i=await _(t,r,w);return v(i)&&(o[n]=i),o},Promise.resolve({})):p?h=await Promise.all(p.map(e=>E(t,e,w))):f?h=b(t,f,g):u&&(h=await P(u,t=>{if(t instanceof R)throw t;w.logger.error("mapping fn failed",{event:w.event,error:t})})(t,w));d&&!await P(d,t=>{if(t instanceof R)throw t;return w.logger.error("mapping validate failed",{event:w.event,error:t}),!1})(h,w)&&(h=void 0);const O=j(h);return v(O)?O:j(g)},Promise.resolve(void 0))}var k="observe";function x(t){const e=(t.startsWith("call:")?t.slice(5):t).split(".");return e.some(t=>""===t)?[]:e}function S(t){return"function"==typeof t}function A(t){return"object"==typeof t&&null!==t}var D=["name","length","prototype","arguments","caller"];function $(t,e){if(-1!==D.indexOf(e))return!1;let n=t;for(;S(n);){if(Object.prototype.hasOwnProperty.call(n,e))return!0;const t=Object.getPrototypeOf(n);if(!S(t)||!S(Object.getPrototypeOf(t)))return!1;n=t}return!1}function G(t,e){const n=Reflect.getOwnPropertyDescriptor(t,e);return!(n&&!n.configurable)||"value"in n&&!0===n.writable}function N(t,e){let n=t;for(const t of e){if(S(n)){if(!$(n,t))return!0;if(!G(n,t))return!1}else if(w(n)){if(!(t in n))return!0}else if(!A(n)||!(t in n))return!1;n=Reflect.get(n,t)}return S(n)}function I(t){const e={window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document,...t},n=t&&t[k];if(("undefined"==typeof __WALKEROS_OBSERVE__||__WALKEROS_OBSERVE__)&&function(t){if("object"!=typeof t||null===t)return!1;if(!("paths"in t)||!("record"in t))return!1;const{paths:e,record:n}=t;return Array.isArray(e)&&e.every(t=>"string"==typeof t)&&"function"==typeof n}(n)){delete e[k];const t=function(t,e,n){const r=[],o=[],i=[];for(const n of e){const e=x(n);if(0===e.length)continue;const r=e.join(".");i.push({rest:e,fn:r}),N(t,e)||o.push(r)}const c=new WeakMap,s=new WeakSet;function u(t,e){for(const o of t)if(n)try{n(o,e)}catch(t){}else r.push({fn:o,args:e,ts:Date.now()})}function f(t,e){return 0===e.length||a(t)?t:w(t)&&!e.some(e=>e.rest[0]in t)?Promise.resolve(t).then(t=>f(t,e)):S(t)?v(t,[],e):A(t)?p(t,e):t}function a(t){return(A(t)||S(t))&&s.has(t)}function l(t,e){const n=[],r=[];for(const o of t)o.rest[0]===e&&(1===o.rest.length?n.includes(o.fn)||n.push(o.fn):r.push({rest:o.rest.slice(1),fn:o.fn}));return{leafs:n,deeper:r}}function p(t,e){var n;const r=e.map(t=>`${t.fn}:${t.rest.join(".")}`).join("|"),o=null!=(n=c.get(t))?n:new Map;c.set(t,o);const i=o.get(r);if(i)return i;const s=d(t,e);return o.set(r,s),s}function d(t,e){return S(t)?g(t,e):e.some(e=>!G(t,e.rest[0]))?function(t,e){const n=Object.create(Object.getPrototypeOf(t)),r=y(t,e,()=>o),o=new Proxy(n,{get:(t,e)=>r.get(e),set:(e,n,r)=>Reflect.set(t,n,r,t),has:(e,n)=>Reflect.has(t,n),ownKeys:()=>Reflect.ownKeys(t),getOwnPropertyDescriptor(e,n){const r=Reflect.getOwnPropertyDescriptor(t,n);return r&&{...r,configurable:!0}},defineProperty:(e,n,r)=>Reflect.defineProperty(t,n,r),deleteProperty:(e,n)=>Reflect.deleteProperty(t,n)});return s.add(o),o}(t,e):g(t,e)}function g(t,e){const n=y(t,e,()=>r),r=new Proxy(t,{get:(t,e)=>"string"!=typeof e||G(t,e)?n.get(e):Reflect.get(t,e,t),set:(t,e,n)=>Reflect.set(t,e,n,t)});return s.add(r),r}function y(t,e,n){const r=new Map;return{get(o){const i=Reflect.get(t,o,t);if("string"!=typeof o)return i;if(!S(i)&&!A(i))return i;if(a(i))return i;const c=r.get(o);if(c&&c.value===i)return c.out;const{leafs:s,deeper:u}=l(e,o);if(!(s.length>0||u.length>0)&&(!S(i)||function(t){if(Array.isArray(t))return!0;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}(t)))return i;let f=i;return S(i)?f=v(i,s,u,{proxy:n(),target:t}):u.length>0&&(f=p(i,u)),r.set(o,{value:i,out:f}),f}}}function v(t,e,n,r){const o=()=>n.filter(e=>!$(t,e.rest[0])),i=new Map,c=new Proxy(t,{get(t,e){const r=Reflect.get(t,e,t);if("string"!=typeof e||!G(t,e))return r;if(!$(t,e))return r;const{leafs:o,deeper:s}=l(n,e);if(0===o.length&&0===s.length)return r;if(a(r))return r;const u=i.get(e);if(u&&u.value===r)return u.out;let f=r;return S(r)?f=v(r,o,s,{proxy:c,target:t}):A(r)&&s.length>0&&(f=p(r,s)),i.set(e,{value:r,out:f}),f},set:(t,e,n)=>Reflect.set(t,e,n,t),apply(t,n,i){u(e,i);const c=!r||n!==r.proxy&&void 0!==n?n:r.target;return f(Reflect.apply(t,c,i),o())},construct(t,n,r){u(e,n);const i=Reflect.construct(t,n,r===c?t:r),s=f(i,o());return A(s)||S(s)?s:i}});return s.add(c),c}return{env:d(t,i),calls:r,unresolved:o}}(e,n.paths,n.record).env,r=new Set;for(const t of n.paths){const n=x(t)[0];if(void 0===n)continue;const o=e[n];null!==o&&"object"==typeof o&&r.add(n)}const o=Array.from(r,e=>[e,t[e]]);for(const[t,n]of o)e[t]=n}return e}var W={};async function K(t,e,n){if(null==e)return;const r=await async function(t,e={},n){var r,o;if(!v(t))return;const i=h(t)&&t.consent||(null==n?void 0:n.consent)||(null==(r=null==n?void 0:n.collector)?void 0:r.consent),c=null!=(o=null==n?void 0:n.event)?o:h(t)?t:{};return _(t,e,{...n,consent:i,event:c})}(t,e,{collector:n});if(!h(r))return;const o={},i=r.em,c=r.external_id;return m(i)&&i&&(o.em=i),m(c)&&c&&(o.external_id=c),Object.keys(o).length>0?o:void 0}var M,q={type:"pinterest",config:{},init({config:t,env:e}){const n=t.settings;if(!(null==n?void 0:n.apiKey))return!1;const r=!1!==n.pageview;!function(t){const{window:e}=I(t),n=e;if(n.pintrk)return;const r=(...t)=>{n.pintrk.queue.push(t)};r.queue=[],r.version="3.0",n.pintrk=r}(e),!1!==t.loadScript&&function(t){const{document:e}=I(t),n=e,r=n.createElement("script");r.src="https://s.pinimg.com/ct/core.js",r.async=!0,n.head.appendChild(r)}(e);const{window:o}=I(e),i=o.pintrk;return i("load",n.apiKey),r&&i("page"),n._state={lastIdentify:void 0,consentGranted:!0},t},async push(t,{config:e,rule:n,data:r,env:o,collector:i}){var c,s;const u=e.settings||{},f=u._state||(u._state={consentGranted:!0});if(!1===f.consentGranted)return;const{window:a}=I(o),l=a.pintrk;if(!l)return;const p=null!=(s=null==(c=null==n?void 0:n.settings)?void 0:c.identify)?s:u.identify,d=await K(t,p,i);var g,y;if(!d||(g=d,y=f.lastIdentify,!g&&!y||g&&y&&g.em===y.em&&g.external_id===y.external_id)||(l("set",d),f.lastIdentify=d),!0===(null==n?void 0:n.silent))return;const v=m(null==n?void 0:n.name)?n.name:t.name,w=h(r)?r:{};l("track",v,{...t.id?{event_id:t.id}:{},...w})},on(t,e){var n,r;if("consent"!==t||!e.data)return;const o=null==(n=e.config)?void 0:n.settings;if(!o)return;const i=e.data,c=null==(r=e.config)?void 0:r.consent;if(!c)return;const s=Object.keys(c);if(0===s.length)return;let u=!1,f=!0;for(const t of s)!0!==i[t]&&(!1===i[t]?(u=!0,f=!1):f=!1);const a=o._state||(o._state={consentGranted:!0});u?a.consentGranted=!1:f&&(a.consentGranted=!0)}},B=q;return M=o,((o,i,c,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let u of n(i))r.call(o,u)||u===c||t(o,u,{get:()=>i[u],enumerable:!(s=e(i,u))||s.enumerable});return o})(t({},"__esModule",{value:!0}),M)})();
|
|
1
|
+
"use strict";var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=(t,n,r)=>((t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r)(t,"symbol"!=typeof n?n+"":n,r),i={};((t,n)=>{for(var r in n)e(t,r,{get:n[r],enumerable:!0})})(i,{DestinationPinterest:()=>ee,default:()=>ie,destinationPinterest:()=>oe});var s=Object.defineProperty,c=(e,t)=>{for(var n in t)s(e,n,{get:t[n],enumerable:!0})};function a(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}c({},{stepId:()=>a});function u(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}c({},{getDestination:()=>u});c({},{Level:()=>l});var f,l=((f=l||{})[f.ERROR=0]="ERROR",f[f.WARN=1]="WARN",f[f.INFO=2]="INFO",f[f.DEBUG=3]="DEBUG",f);function d(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}c({},{getTransformer:()=>d});function p(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}c({},{getSource:()=>p});function y(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function g(e,t){return await e.get(t)}c({},{getStore:()=>y,getStoreValue:()=>g});var v="\\$flow\\.([a-zA-Z_][a-zA-Z0-9_-]*)(?:\\.([a-zA-Z0-9_.]+))?";new RegExp(`^${v}$`),new RegExp(v,"g");function w(e){return Array.isArray(e)}function m(e){return void 0!==e}function h(e){return"object"==typeof e&&null!==e&&"then"in e&&"function"==typeof e.then}function b(e){return"object"==typeof e&&null!==e&&!w(e)&&"[object Object]"===Object.prototype.toString.call(e)}function O(e){return"string"==typeof e}function j(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&w(o)){const t=r.slice(e+1).join("."),i=[];for(const e of o){const r=j(e,t,n);i.push(r)}return i}if(o=b(o)||w(o)?o[t]:void 0,void 0===o)break}return m(o)?o:n}function P(e,t={},n={}){const r={...t,...n},o={};let i=!e||0===Object.keys(e).length;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(i=!0))}),!!i&&o}function R(e){return function(e){return"boolean"==typeof e}(e)||O(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!m(e)||w(e)&&e.every(R)||b(e)&&Object.values(e).every(R)}function E(e){return R(e)?e:void 0}function k(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}function _(e,t){Object.defineProperty(e,"cause",{value:t,writable:!0,configurable:!0})}var x=class e extends Error{constructor(t,n){super(t),this.name="FatalError",n&&"cause"in n&&_(this,n.cause),Object.setPrototypeOf(this,e.prototype)}},A=["transport","timeout","breaker-open","blocked","queue-full","vendor-not-ready","vendor-timeout"],$=class extends Error{constructor(e,t){super(e),o(this,"code"),o(this,"status"),o(this,"retryable"),o(this,"body"),void 0!==t.cause&&_(this,t.cause),this.name="StepError",this.code=t.code,void 0!==t.status&&(this.status=t.status),this.retryable=function(e){if(void 0!==e.retryable)return e.retryable;const{status:t}=e;if(void 0!==t){if(429===t||t>=500&&t<600)return!0;if(t>=400&&t<500)return!1}return A.includes(e.code)}(t),void 0!==t.body&&(this.body=t.body),Object.setPrototypeOf(this,new.target.prototype)}};async function S(e,t,n){try{return await e()}catch(e){if(e instanceof $)throw e;throw new $(n,{code:t,cause:e})}}function K(e){return e.length>300?e.slice(0,300):e}var D=["type","mappingKey"],N=["count","suppressed"];function T(e,t,n,r,o,i="error"){if(null==e?void 0:e.causeLog)return void e.causeLog.report(n,r,o,i);const s=function(e,t){const n={step:e.step,code:e.code};void 0!==e.status&&(n.status=e.status);for(const e of D)"string"==typeof t[e]&&(n[e]=t[e]);for(const e of N)"number"==typeof t[e]&&(n[e]=t[e]);"boolean"==typeof t.retryable&&(n.retryable=t.retryable);const r="string"==typeof(o=t.event)?o:b(o)&&"string"==typeof o.name?o.name:void 0;var o;void 0!==r&&(n.event=r);const i=function(e){if(void 0!==e)return"string"==typeof e?K(e):e instanceof Error||b(e)&&"string"==typeof e.message?K(e.message):K(String(e))}(t.error);return void 0!==i&&(n.error=i),n}(n,o);"warn"===i?t.warn(r,s):t.error(r,s)}var V=["condition","consent","fn","key","loop","map","set","validate","value"];function W(e,t,n,r){const o=e.event.name,i=(null==t?void 0:t.mappingKey)?`mapping.${t.mappingKey}`:"mapping";T(e.collector,e.logger,{step:i,code:"mapping"},n,{..."string"==typeof o?{event:o}:{},...(null==t?void 0:t.mappingKey)?{mappingKey:t.mappingKey}:{},...void 0!==r?{error:r}:{}})}async function G(e,t={},n,r){var o;if(!n.collector)throw new Error("getMappingValue: context.collector is required");const i=n.consent||n.collector.consent,s={event:null!=(o=n.event)?o:{},mapping:t,collector:n.collector,logger:n.collector.logger,consent:i},c=w(t)?t:[t];for(const t of c){const n=await k(I,e=>{if(e instanceof x)throw e;W(s,r,"mapping value failed",e)})(e,t,{...s,mapping:t},r);if(m(n))return n}}async function I(e,t,n,r){return(w(t)?t:[t]).reduce(async(t,o)=>{const i=await t;if(i)return i;const s=O(o)?{key:o}:o;if(!Object.keys(s).length)return;if(!V.some(e=>e in s))return void W({...n,mapping:o},r,`mapping value has no operator (${Object.keys(s).join(", ")}): wrap the fields in map, or use key, value, fn, loop or set`);const{condition:c,consent:a,fn:u,key:f,loop:l,map:d,set:p,validate:y,value:g}=s,v={...n,mapping:o};if(c&&!await k(c,e=>{if(e instanceof x)throw e;return W(v,r,"mapping condition failed",e),!1})(e,v))return;if(a&&!P(a,v.consent))return g;let h=m(g)?g:e;if(l){const[t,n]=l,o="this"===t?[e]:await G(e,t,v,r);h=w(o)?(await Promise.all(o.map(e=>m(e)?G(e,n,v,r):void 0))).filter(m):void 0}else d?h=await Object.entries(d).reduce(async(t,[n,o])=>{const i=await t,s=await G(e,o,v,r);return m(s)&&(i[n]=s),i},Promise.resolve({})):p?h=await Promise.all(p.map(t=>I(e,t,v,r))):f?h=j(e,f,g):u&&(h=await k(u,e=>{if(e instanceof x)throw e;W(v,r,"mapping fn failed",e)})(e,v));y&&!await k(y,e=>{if(e instanceof x)throw e;return W(v,r,"mapping validate failed",e),!1})(h,v)&&(h=void 0);const b=E(h);return m(b)?b:E(g)},Promise.resolve(void 0))}async function L(e,t={},n){return async function(e,t,n,r){var o,i;if(!m(e))return;const s=b(e)&&e.consent||(null==n?void 0:n.consent)||(null==(o=null==n?void 0:n.collector)?void 0:o.consent),c=null!=(i=null==n?void 0:n.event)?i:b(e)?e:{};return G(e,t,{...n,consent:s,event:c},r)}(e,t,n)}var M="observe";function q(e){const t=(e.startsWith("call:")?e.slice(5):e).split(".");return t.some(e=>""===e)?[]:t}function B(e){return"function"==typeof e}function z(e){return"object"==typeof e&&null!==e}var F=["name","length","prototype","arguments","caller"];function Z(e,t){if(-1!==F.indexOf(t))return!1;let n=e;for(;B(n);){if(Object.prototype.hasOwnProperty.call(n,t))return!0;const e=Object.getPrototypeOf(n);if(!B(e)||!B(Object.getPrototypeOf(e)))return!1;n=e}return!1}function U(e,t){const n=Reflect.getOwnPropertyDescriptor(e,t);return!(n&&!n.configurable)||"value"in n&&!0===n.writable}function C(e,t){let n=e;for(const e of t){if(B(n)){if(!Z(n,e))return!0;if(!U(n,e))return!1}else if(h(n)){if(!(e in n))return!0}else if(!z(n)||!(e in n))return!1;n=Reflect.get(n,e)}return B(n)}function H(e){const t={window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document,...e},n=e&&e[M];if(("undefined"==typeof __WALKEROS_OBSERVE__||__WALKEROS_OBSERVE__)&&function(e){if("object"!=typeof e||null===e)return!1;if(!("paths"in e)||!("record"in e))return!1;const{paths:t,record:n}=e;return Array.isArray(t)&&t.every(e=>"string"==typeof e)&&"function"==typeof n}(n)){delete t[M];const e=function(e,t,n){const r=[],o=[],i=[];for(const n of t){const t=q(n);if(0===t.length)continue;const r=t.join(".");i.push({rest:t,fn:r}),C(e,t)||o.push(r)}const s=new WeakMap,c=new WeakSet;function a(e,t){for(const o of e)if(n)try{n(o,t)}catch(e){}else r.push({fn:o,args:t,ts:Date.now()})}function u(e,t){return 0===t.length||f(e)?e:h(e)&&!t.some(t=>t.rest[0]in e)?Promise.resolve(e).then(e=>u(e,t)):B(e)?v(e,[],t):z(e)?d(e,t):e}function f(e){return(z(e)||B(e))&&c.has(e)}function l(e,t){const n=[],r=[];for(const o of e)o.rest[0]===t&&(1===o.rest.length?n.includes(o.fn)||n.push(o.fn):r.push({rest:o.rest.slice(1),fn:o.fn}));return{leafs:n,deeper:r}}function d(e,t){var n;const r=t.map(e=>`${e.fn}:${e.rest.join(".")}`).join("|"),o=null!=(n=s.get(e))?n:new Map;s.set(e,o);const i=o.get(r);if(i)return i;const c=p(e,t);return o.set(r,c),c}function p(e,t){return B(e)?y(e,t):t.some(t=>!U(e,t.rest[0]))?function(e,t){const n=Object.create(Object.getPrototypeOf(e)),r=g(e,t,()=>o),o=new Proxy(n,{get:(e,t)=>r.get(t),set:(t,n,r)=>Reflect.set(e,n,r,e),has:(t,n)=>Reflect.has(e,n),ownKeys:()=>Reflect.ownKeys(e),getOwnPropertyDescriptor(t,n){const r=Reflect.getOwnPropertyDescriptor(e,n);return r&&{...r,configurable:!0}},defineProperty:(t,n,r)=>Reflect.defineProperty(e,n,r),deleteProperty:(t,n)=>Reflect.deleteProperty(e,n)});return c.add(o),o}(e,t):y(e,t)}function y(e,t){const n=g(e,t,()=>r),r=new Proxy(e,{get:(e,t)=>"string"!=typeof t||U(e,t)?n.get(t):Reflect.get(e,t,e),set:(e,t,n)=>Reflect.set(e,t,n,e)});return c.add(r),r}function g(e,t,n){const r=new Map;return{get(o){const i=Reflect.get(e,o,e);if("string"!=typeof o)return i;if(!B(i)&&!z(i))return i;if(f(i))return i;const s=r.get(o);if(s&&s.value===i)return s.out;const{leafs:c,deeper:a}=l(t,o);if(!(c.length>0||a.length>0)&&(!B(i)||function(e){if(Array.isArray(e))return!0;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}(e)))return i;let u=i;return B(i)?u=v(i,c,a,{proxy:n(),target:e}):a.length>0&&(u=d(i,a)),r.set(o,{value:i,out:u}),u}}}function v(e,t,n,r){const o=()=>n.filter(t=>!Z(e,t.rest[0])),i=new Map,s=new Proxy(e,{get(e,t){const r=Reflect.get(e,t,e);if("string"!=typeof t||!U(e,t))return r;if(!Z(e,t))return r;const{leafs:o,deeper:c}=l(n,t);if(0===o.length&&0===c.length)return r;if(f(r))return r;const a=i.get(t);if(a&&a.value===r)return a.out;let u=r;return B(r)?u=v(r,o,c,{proxy:s,target:e}):z(r)&&c.length>0&&(u=d(r,c)),i.set(t,{value:r,out:u}),u},set:(e,t,n)=>Reflect.set(e,t,n,e),apply(e,n,i){a(t,i);const s=!r||n!==r.proxy&&void 0!==n?n:r.target;return u(Reflect.apply(e,s,i),o())},construct(e,n,r){a(t,n);const i=Reflect.construct(e,n,r===s?e:r),c=u(i,o());return z(c)||B(c)?c:i}});return c.add(s),s}return{env:p(e,i),calls:r,unresolved:o}}(t,n.paths,n.record).env,r=new Set;for(const e of n.paths){const n=q(e)[0];if(void 0===n)continue;const o=t[n];null!==o&&"object"==typeof o&&r.add(n)}const o=Array.from(r,t=>[t,e[t]]);for(const[e,n]of o)t[e]=n}return t}var J="data-walkeros-vendor",Q=new WeakMap;var X=()=>new $("Vendor script failed to load",{code:"vendor-not-loaded"});function Y(e,t,n={}){var r,o;const i=()=>null!=t();let s;if(e){const t=null!=(r=n.document)?r:"undefined"!=typeof document?document:void 0;if(!t)throw new $(`Vendor script ${e} has no document to go into`,{code:"vendor-not-ready"});s=function(e,t,n,r,o){const i=function(e,t){const n=e.querySelectorAll(`script[${J}]`);return Array.from(n).find(e=>e.getAttribute("src")===t)}(e,t),s=i&&Q.get(i);if(s)return s;const c={state:"loading",expired:!1,timeout:n,waiting:[]};if(i&&o())return c.state="loaded",Q.set(i,c),c;const a=null!=i?i:e.createElement("script"),u=e=>{const t=c.waiting;c.waiting=[],t.forEach(t=>t(e))},f=setTimeout(()=>{c.expired=!0,u("expired")},n);if(Q.set(a,c),a.addEventListener("load",()=>{clearTimeout(f),c.state="loaded",u("loaded")}),a.addEventListener("error",()=>{clearTimeout(f),c.state="failed",u("failed")}),!i){for(const[e,t]of Object.entries(r))a.setAttribute(e,t);a.src=t,a.async=!0,a.setAttribute(J,""),e.head.appendChild(a)}return c}(t,e,function(e){return"number"==typeof e&&e>0?e:1e4}(n.timeout),null!=(o=n.attributes)?o:{},i)}const c=()=>{const e=t();return null==e?Promise.reject(new $("Vendor not ready: its global is missing",{code:"vendor-not-ready"})):Promise.resolve(e)};return{ready:()=>s?"failed"===s.state?Promise.reject(X()):"loaded"===s.state||s.expired?c():new Promise((e,t)=>{s.waiting.push(n=>{var r;"failed"===n?t(X()):"expired"===n?t((r=s.timeout,new $(`Vendor script did not load within ${r}ms`,{code:"vendor-timeout"}))):c().then(e,t)})}):c(),check(){if("failed"===(null==s?void 0:s.state))throw X()}}}var ee={};function te(e){const{pintrk:t}=H(e).window;if(!t)throw new $("Pinterest Tag not ready: pintrk is missing",{code:"vendor-not-ready"});return t}function ne(e,t){return Y(!1!==e.loadScript?"https://s.pinimg.com/ct/core.js":void 0,()=>H(t).window.pintrk,{timeout:e.timeout,document:H(t).document})}var re,oe={type:"pinterest",config:{},async init({config:e,env:t}){const n={...e.settings};if(!n.apiKey)throw new $("Pinterest needs settings.apiKey",{code:"config"});const{apiKey:r}=n,o=!1!==n.pageview;!function(e){const{window:t}=H(e);if(t.pintrk)return;const n=Object.assign((...e)=>{var t;null==(t=n.queue)||t.push(e)},{queue:[],version:"3.0"});t.pintrk=n}(t),ne(e,t);const i=te(t);return await S(()=>i("load",r),"vendor-not-ready","Pinterest load call failed"),o&&await S(()=>i("page"),"vendor-not-ready","Pinterest page call failed"),{...e,settings:{...n,_state:{lastIdentify:void 0,consentGranted:!0}}}},async push(e,{config:t,rule:n,data:r,env:o,collector:i,logger:s}){var c,a;ne(t,o).check();const u=t.settings||{},f=u._state||(u._state={consentGranted:!0}),l=te(o);if(!1!==f.consentGranted){const t=null!=(a=null==(c=null==n?void 0:n.settings)?void 0:c.identify)?a:u.identify,o=await async function(e,t,n){if(null==t)return;const r=await L(e,t,{collector:n});if(!b(r))return;const o={},{em:i,external_id:s}=r;return O(i)&&i&&(o.em=i),O(s)&&s&&(o.external_id=s),Object.keys(o).length>0?o:void 0}(e,t,i);if(o?(d=o,p=f.lastIdentify,!d&&!p||d&&p&&d.em===p.em&&d.external_id===p.external_id||(await S(()=>l("set",o),"transport","Pinterest set call failed"),f.lastIdentify=o)):void 0!==t&&function(e,t,n,r){e.debug(`Pinterest skipped ${n}: ${r} resolved to nothing`,{event:t.name})}(s,e,"set","identify"),!0!==(null==n?void 0:n.silent)){const t=O(null==n?void 0:n.name)?n.name:e.name,o=b(r)?r:{},i={...e.id?{event_id:e.id}:{},...o};await S(()=>l("track",t,i),"transport","Pinterest track call failed")}}var d,p},on(e,{config:t,data:n,collector:r}){const o=t.consent;if("consent"!==e||!o||!b(n))return;if(!Object.keys(o).some(e=>e in n))return;const i=t.settings;if(!b(i))return;(b(i._state)?i._state:i._state={consentGranted:!0}).consentGranted=!1!==P(o,r.consent)}},ie=oe;return re=i,((o,i,s,c)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let a of n(i))r.call(o,a)||a===s||e(o,a,{get:()=>i[a],enumerable:!(c=t(i,a))||c.enumerable});return o})(e({},"__esModule",{value:!0}),re)})();
|
package/dist/index.es5.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function _assert_this_initialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function asyncGeneratorStep(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function _async_to_generator(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){asyncGeneratorStep(i,n,o,a,u,"next",e)}function u(e){asyncGeneratorStep(i,n,o,a,u,"throw",e)}a(void 0)})}}function _call_super(e,t,r){return t=_get_prototype_of(t),_possible_constructor_return(e,_is_native_reflect_construct()?Reflect.construct(t,r||[],_get_prototype_of(e).constructor):t.apply(e,r))}function _class_call_check(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _construct(e,t,r){return _construct=_is_native_reflect_construct()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&_set_prototype_of(o,r.prototype),o},_construct.apply(null,arguments)}function _define_property(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _get_prototype_of(e){return _get_prototype_of=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},_get_prototype_of(e)}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_set_prototype_of(e,t)}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function _is_native_function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i=[],a=!0,u=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){u=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(u)throw o}}return i}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){_define_property(e,t,r[t])})}return e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function _possible_constructor_return(e,t){return!t||"object"!==_type_of(t)&&"function"!=typeof t?_assert_this_initialized(e):t}function _set_prototype_of(e,t){return _set_prototype_of=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},_set_prototype_of(e,t)}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,t){if(e){if("string"==typeof e)return _array_like_to_array(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_array_like_to_array(e,t):void 0}}function _wrap_native_super(e){var t="function"==typeof Map?new Map:void 0;return _wrap_native_super=function(e){if(null===e||!_is_native_function(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return _construct(e,arguments,_get_prototype_of(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),_set_prototype_of(r,e)},_wrap_native_super(e)}function _is_native_reflect_construct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_is_native_reflect_construct=function(){return!!e})()}function _ts_generator(e,t){var r,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:c(0)}),u(a,"throw",{value:c(1)}),u(a,"return",{value:c(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function c(u){return function(c){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(i=0)),i;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,n=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=t.call(e,i)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var Destination=function(){var e=function(e,t){if("collector"===e)return"collector";if(!t)throw new Error("stepId(".concat(e,") requires an id"));return"".concat(e,".").concat(t)},t=function(e,t){var r=e.destinations[t];if(!r)throw new Error("Destination not found: ".concat(t));return r},r=function(e,t){var r=e.transformers[t];if(!r)throw new Error("Transformer not found: ".concat(t));return r},n=function(e,t){var r=e.sources[t];if(!r)throw new Error("Source not found: ".concat(t));return r},o=function(e,t){var r=e.stores[t];if(!r)throw new Error("Store not found: ".concat(t));return r},i=function(e,t){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,e.get(t)];case 1:return[2,r.sent()]}})})()},a=function(e){return Array.isArray(e)},u=function(e){return void 0!==e},c=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&"then"in e&&"function"==typeof e.then},l=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!a(e)&&"[object Object]"===Object.prototype.toString.call(e)},f=function(e){return"string"==typeof e},s=function(e){return G(e)?e:void 0},_=function(e,t,r){return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return _async_to_generator(function(){var n;return _ts_generator(this,function(i){switch(i.label){case 0:return i.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,i.sent()];case 2:return n=i.sent(),t?[4,t(n)]:[2];case 4:return[4,null==r?void 0:r()];case 5:return i.sent(),[7];case 6:return[2]}})})()}},p=function(e,t){return _async_to_generator(function(e){var t,r,n,o,i,c,l,f,s,p,y,v,d,b,h,g=arguments;return _ts_generator(this,function(w){switch(w.label){case 0:if(t=g.length>1&&void 0!==g[1]?g[1]:{},!(r=g.length>2?g[2]:void 0).collector)throw new Error("getMappingValue: context.collector is required");o=r.consent||r.collector.consent,i=null!==(n=r.event)&&void 0!==n?n:{},c={event:i,mapping:t,collector:r.collector,logger:r.collector.logger,consent:o},l=a(t)?t:[t],f=!0,s=!1,p=void 0,w.label=1;case 1:w.trys.push([1,6,7,8]),y=l[Symbol.iterator](),w.label=2;case 2:return(f=(v=y.next()).done)?[3,5]:(d=v.value,[4,_(M,function(e){if(_instanceof(e,T))throw e;r.collector.status.failed++,c.logger.error("mapping processing failed",{event:i,error:e})})(e,d,_object_spread_props(_object_spread({},c),{mapping:d}))]);case 3:if(b=w.sent(),u(b))return[2,b];w.label=4;case 4:return f=!0,[3,2];case 5:return[3,8];case 6:return h=w.sent(),s=!0,p=h,[3,8];case 7:try{f||null==y.return||y.return()}finally{if(s)throw p}return[7];case 8:return[2]}})}).apply(this,arguments)},y=function(e,t){return _async_to_generator(function(e){var t,r,n,o,i,a,c=arguments;return _ts_generator(this,function(f){return t=c.length>1&&void 0!==c[1]?c[1]:{},r=c.length>2?c[2]:void 0,u(e)?(i=l(e)&&e.consent||(null==r?void 0:r.consent)||(null==r||null===(o=r.collector)||void 0===o?void 0:o.consent),a=null!==(n=null==r?void 0:r.event)&&void 0!==n?n:l(e)?e:{},[2,p(e,t,_object_spread_props(_object_spread({},r),{consent:i,event:a}))]):[2]})}).apply(this,arguments)},v=function(e){var t=(e.startsWith(W)?e.slice(5):e).split(".");return t.some(function(e){return""===e})?[]:t},d=function(e){return"function"==typeof e},b=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e},h=function(e,t){if(-1!==B.indexOf(t))return!1;for(var r=e;d(r);){if(Object.prototype.hasOwnProperty.call(r,t))return!0;var n=Object.getPrototypeOf(r);if(!d(n)||!d(Object.getPrototypeOf(n)))return!1;r=n}return!1},g=function(e,t){var r=Reflect.getOwnPropertyDescriptor(e,t);return!(r&&!r.configurable)||"value"in r&&!0===r.writable},w=function(e,t){var r=e,n=!0,o=!1,i=void 0;try{for(var a,u=t[Symbol.iterator]();!(n=(a=u.next()).done);n=!0){var l=a.value;if(d(r)){if(!h(r,l))return!0;if(!g(r,l))return!1}else if(c(r)){if(!(l in r))return!0}else if(!b(r)||!(l in r))return!1;r=Reflect.get(r,l)}}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return d(r)},m=function(e){var t=_object_spread({window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document},e),r=e&&e[N];if(("undefined"==typeof __WALKEROS_OBSERVE__||__WALKEROS_OBSERVE__)&&function(e){if("object"!=(void 0===e?"undefined":_type_of(e))||null===e)return!1;if(!("paths"in e)||!("record"in e))return!1;var t=e.paths,r=e.record;return Array.isArray(t)&&t.every(function(e){return"string"==typeof e})&&"function"==typeof r}(r)){delete t[N];var n=function(e,t,r){var n=[],o=[],i=[],a=!0,u=!1,l=void 0;try{for(var f,s=t[Symbol.iterator]();!(a=(f=s.next()).done);a=!0){var _=f.value,p=v(_);if(0!==p.length){var y=p.join(".");i.push({rest:p,fn:y}),w(e,p)||o.push(y)}}}catch(e){u=!0,l=e}finally{try{a||null==s.return||s.return()}finally{if(u)throw l}}var m=new WeakMap,O=new WeakSet;function j(e,t){var o=!0,i=!1,a=void 0;try{for(var u,c=e[Symbol.iterator]();!(o=(u=c.next()).done);o=!0){var l=u.value;if(r)try{r(l,t)}catch(e){}else n.push({fn:l,args:t,ts:Date.now()})}}catch(e){i=!0,a=e}finally{try{o||null==c.return||c.return()}finally{if(i)throw a}}}function S(e,t){return 0===t.length||P(e)?e:c(e)&&!t.some(function(t){return t.rest[0]in e})?Promise.resolve(e).then(function(e){return S(e,t)}):d(e)?D(e,[],t):b(e)?x(e,t):e}function P(e){return(b(e)||d(e))&&O.has(e)}function R(e,t){var r=[],n=[],o=!0,i=!1,a=void 0;try{for(var u,c=e[Symbol.iterator]();!(o=(u=c.next()).done);o=!0){var l=u.value;l.rest[0]===t&&(1===l.rest.length?r.includes(l.fn)||r.push(l.fn):n.push({rest:l.rest.slice(1),fn:l.fn}))}}catch(e){i=!0,a=e}finally{try{o||null==c.return||c.return()}finally{if(i)throw a}}return{leafs:r,deeper:n}}function x(e,t){var r,n=t.map(function(e){return"".concat(e.fn,":").concat(e.rest.join("."))}).join("|"),o=null!==(r=m.get(e))&&void 0!==r?r:new Map;m.set(e,o);var i=o.get(n);if(i)return i;var a=E(e,t);return o.set(n,a),a}function E(e,t){return d(e)?k(e,t):t.some(function(t){return!g(e,t.rest[0])})?function(e,t){var r=Object.create(Object.getPrototypeOf(e)),n=A(e,t,function(){return o}),o=new Proxy(r,{get:function(e,t){return n.get(t)},set:function(t,r,n){return Reflect.set(e,r,n,e)},has:function(t,r){return Reflect.has(e,r)},ownKeys:function(){return Reflect.ownKeys(e)},getOwnPropertyDescriptor:function(t,r){var n=Reflect.getOwnPropertyDescriptor(e,r);return n&&_object_spread_props(_object_spread({},n),{configurable:!0})},defineProperty:function(t,r,n){return Reflect.defineProperty(e,r,n)},deleteProperty:function(t,r){return Reflect.deleteProperty(e,r)}});return O.add(o),o}(e,t):k(e,t)}function k(e,t){var r=A(e,t,function(){return n}),n=new Proxy(e,{get:function(e,t){return"string"!=typeof t||g(e,t)?r.get(t):Reflect.get(e,t,e)},set:function(e,t,r){return Reflect.set(e,t,r,e)}});return O.add(n),n}function A(e,t,r){var n=new Map;return{get:function(o){var i=Reflect.get(e,o,e);if("string"!=typeof o)return i;if(!d(i)&&!b(i))return i;if(P(i))return i;var a=n.get(o);if(a&&a.value===i)return a.out;var u=R(t,o),c=u.leafs,l=u.deeper;if(!(c.length>0||l.length>0)&&(!d(i)||function(e){if(Array.isArray(e))return!0;var t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}(e)))return i;var f=i;return d(i)?f=D(i,c,l,{proxy:r(),target:e}):l.length>0&&(f=x(i,l)),n.set(o,{value:i,out:f}),f}}}function D(e,t,r,n){var o=function(){return r.filter(function(t){return!h(e,t.rest[0])})},i=new Map,a=new Proxy(e,{get:function(e,t){var n=Reflect.get(e,t,e);if("string"!=typeof t||!g(e,t))return n;if(!h(e,t))return n;var o=R(r,t),u=o.leafs,c=o.deeper;if(0===u.length&&0===c.length)return n;if(P(n))return n;var l=i.get(t);if(l&&l.value===n)return l.out;var f=n;return d(n)?f=D(n,u,c,{proxy:a,target:e}):b(n)&&c.length>0&&(f=x(n,c)),i.set(t,{value:n,out:f}),f},set:function(e,t,r){return Reflect.set(e,t,r,e)},apply:function(e,r,i){j(t,i);var a=!n||r!==n.proxy&&void 0!==r?r:n.target;return S(Reflect.apply(e,a,i),o())},construct:function(e,r,n){j(t,r);var i=Reflect.construct(e,r,n===a?e:n),u=S(i,o());return b(u)||d(u)?u:i}});return O.add(a),a}return{env:E(e,i),calls:n,unresolved:o}}(t,r.paths,r.record).env,o=new Set,i=!0,a=!1,u=void 0;try{for(var l,f=r.paths[Symbol.iterator]();!(i=(l=f.next()).done);i=!0){var s=l.value,_=v(s)[0];if(void 0!==_){var p=t[_];null!==p&&"object"==(void 0===p?"undefined":_type_of(p))&&o.add(_)}}}catch(e){a=!0,u=e}finally{try{i||null==f.return||f.return()}finally{if(a)throw u}}var y=Array.from(o,function(e){return[e,n[e]]}),m=!0,O=!1,j=void 0;try{for(var S,P=y[Symbol.iterator]();!(m=(S=P.next()).done);m=!0){var R=_sliced_to_array(S.value,2),x=R[0],E=R[1];t[x]=E}}catch(e){O=!0,j=e}finally{try{m||null==P.return||P.return()}finally{if(O)throw j}}}return t},O=function(e,t,r){return _async_to_generator(function(){var n,o,i,a;return _ts_generator(this,function(u){switch(u.label){case 0:return null==t?[2,void 0]:[4,y(e,t,{collector:r})];case 1:return n=u.sent(),l(n)?(o={},i=n.em,a=n.external_id,f(i)&&i&&(o.em=i),f(a)&&a&&(o.external_id=a),[2,Object.keys(o).length>0?o:void 0]):[2,void 0]}})})()},j=Object.defineProperty,S=Object.getOwnPropertyDescriptor,P=Object.getOwnPropertyNames,R=Object.prototype.hasOwnProperty,x={};!function(e,t){for(var r in t)j(e,r,{get:t[r],enumerable:!0})}(x,{DestinationPinterest:function(){return F},default:function(){return C},destinationPinterest:function(){return V}});var E=Object.defineProperty,k=function(e,t){for(var r in t)E(e,r,{get:t[r],enumerable:!0})};k({},{stepId:function(){return e}});k({},{getDestination:function(){return t}});k({},{Level:function(){return D}});var A,D=((A=D||{})[A.ERROR=0]="ERROR",A[A.WARN=1]="WARN",A[A.INFO=2]="INFO",A[A.DEBUG=3]="DEBUG",A);k({},{getTransformer:function(){return r}});k({},{getSource:function(){return n}});function I(e){for(var t=arguments.length>2?arguments[2]:void 0,r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),n=e,o=0;o<r.length;o++){var i=r[o];if("*"===i&&a(n)){var c=r.slice(o+1).join("."),f=[],s=!0,_=!1,p=void 0;try{for(var y,v=n[Symbol.iterator]();!(s=(y=v.next()).done);s=!0){var d=I(y.value,c,t);f.push(d)}}catch(e){_=!0,p=e}finally{try{s||null==v.return||v.return()}finally{if(_)throw p}}return f}if(void 0===(n=l(n)||a(n)?n[i]:void 0))break}return u(n)?n:t}function G(e){return function(e){return"boolean"==typeof e}(e)||f(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!u(e)||a(e)&&e.every(G)||l(e)&&Object.values(e).every(G)}k({},{getStore:function(){return o},getStoreValue:function(){return i}});var T=function(){function e(t,r){var n;return _class_call_check(this,e),(n=_call_super(this,e,[t,r])).name="FatalError",Object.setPrototypeOf(n,e.prototype),n}return _inherits(e,_wrap_native_super(Error)),e}();function M(e,t,r){return _async_to_generator(function(){return _ts_generator(this,function(n){return[2,(a(t)?t:[t]).reduce(function(t,n){return _async_to_generator(function(){var o,i,c,l,y,v,d,b,h,g,w,m,O,j,S,P,R,x,E,k,A,D,G,K,N;return _ts_generator(this,function(W){switch(W.label){case 0:return[4,t];case 1:return(o=W.sent())?[2,o]:(i=f(n)?{key:n}:n,Object.keys(i).length?(c=i.condition,l=i.consent,y=i.fn,v=i.key,d=i.loop,b=i.map,h=i.set,g=i.validate,w=i.value,m=_object_spread_props(_object_spread({},r),{mapping:n}),(O=c)?[4,_(c,function(e){if(_instanceof(e,T))throw e;return m.logger.error("mapping condition failed",{event:m.event,error:e}),!1})(e,m)]:[3,3]):[2]);case 2:O=!W.sent(),W.label=3;case 3:return O?[2]:l&&!function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),r={},n=!e||0===Object.keys(e).length;return Object.keys(t).forEach(function(o){t[o]&&(r[o]=!0,e&&e[o]&&(n=!0))}),!!n&&r}(l,m.consent)?[2,w]:(j=u(w)?w:e,d?(S=_sliced_to_array(d,2),P=S[0],R=S[1],"this"!==P?[3,4]:(E=[e],[3,6])):[3,10]);case 4:return[4,p(e,P,m)];case 5:E=W.sent(),W.label=6;case 6:return a(x=E)?[4,Promise.all(x.map(function(e){return u(e)?p(e,R,m):void 0}))]:[3,8];case 7:return k=W.sent().filter(u),[3,9];case 8:k=void 0,W.label=9;case 9:return j=k,[3,21];case 10:return b?[4,Object.entries(b).reduce(function(t,r){var n=_sliced_to_array(r,2),o=n[0],i=n[1];return _async_to_generator(function(){var r,n;return _ts_generator(this,function(a){switch(a.label){case 0:return[4,t];case 1:return r=a.sent(),[4,p(e,i,m)];case 2:return n=a.sent(),[2,(u(n)&&(r[o]=n),r)]}})})()},Promise.resolve({}))]:[3,12];case 11:return j=W.sent(),[3,20];case 12:return h?[4,Promise.all(h.map(function(t){return M(e,t,m)}))]:[3,14];case 13:return A=j=W.sent(),[3,19];case 14:return v?(D=j=I(e,v,w),[3,18]):[3,15];case 15:return(G=y)?[4,_(y,function(e){if(_instanceof(e,T))throw e;m.logger.error("mapping fn failed",{event:m.event,error:e})})(e,m)]:[3,17];case 16:G=j=W.sent(),W.label=17;case 17:D=G,W.label=18;case 18:A=D,W.label=19;case 19:W.label=20;case 20:W.label=21;case 21:return(K=g)?[4,_(g,function(e){if(_instanceof(e,T))throw e;return m.logger.error("mapping validate failed",{event:m.event,error:e}),!1})(j,m)]:[3,23];case 22:K=!W.sent(),W.label=23;case 23:return K&&(j=void 0),N=s(j),[2,u(N)?N:s(w)]}})})()},Promise.resolve(void 0))]})})()}var K,N="observe",W="call:",B=["name","length","prototype","arguments","caller"],F={},q="https://s.pinimg.com/ct/core.js",V={type:"pinterest",config:{},init:function(e){var t=e.config,r=e.env,n=t.settings;if(!(null==n?void 0:n.apiKey))return!1;var o=!1!==n.pageview;!function(e){var t=m(e).window;if(!t.pintrk){var r=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];t.pintrk.queue.push(r)};r.queue=[],r.version="3.0",t.pintrk=r}}(r),!1!==t.loadScript&&function(e){var t=m(e).document,r=t.createElement("script");r.src=q,r.async=!0,t.head.appendChild(r)}(r);var i=m(r).window.pintrk;return i("load",n.apiKey),o&&i("page"),n._state={lastIdentify:void 0,consentGranted:!0},t},push:function(e,t){return _async_to_generator(function(e,t){var r,n,o,i,a,u,c,s,_,p,y,v,d,b,h,g,w;return _ts_generator(this,function(j){switch(j.label){case 0:return r=t.config,n=t.rule,o=t.data,i=t.env,a=t.collector,s=r.settings||{},!1===(_=s._state||(s._state={consentGranted:!0})).consentGranted?[2]:(p=m(i),y=p.window,(v=y.pintrk)?(d=null!==(u=null==n||null===(c=n.settings)||void 0===c?void 0:c.identify)&&void 0!==u?u:s.identify,[4,O(e,d,a)]):[2]);case 1:return!(b=j.sent())||(S=b,P=_.lastIdentify,!S&&!P||S&&P&&S.em===P.em&&S.external_id===P.external_id)||(v("set",b),_.lastIdentify=b),!0===(null==n?void 0:n.silent)?[2]:(h=f(null==n?void 0:n.name)?n.name:e.name,g=l(o)?o:{},w=_object_spread({},e.id?{event_id:e.id}:{},g),v("track",h,w),[2])}var S,P})}).apply(this,arguments)},on:function(e,t){var r,n;if("consent"===e&&t.data){var o=null===(r=t.config)||void 0===r?void 0:r.settings;if(o){var i=t.data,a=null===(n=t.config)||void 0===n?void 0:n.consent;if(a){var u=Object.keys(a);if(0!==u.length){var c=!1,l=!0,f=!0,s=!1,_=void 0;try{for(var p,y=u[Symbol.iterator]();!(f=(p=y.next()).done);f=!0){var v=p.value;!0!==i[v]&&(!1===i[v]?(c=!0,l=!1):l=!1)}}catch(e){s=!0,_=e}finally{try{f||null==y.return||y.return()}finally{if(s)throw _}}var d=o._state||(o._state={consentGranted:!0});c?d.consentGranted=!1:l&&(d.consentGranted=!0)}}}}}},C=V;return K=x,function(e,t,r,n){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,i=!1,a=void 0;try{for(var u,c=function(){var o=u.value;R.call(e,o)||o===r||j(e,o,{get:function(){return t[o]},enumerable:!(n=S(t,o))||n.enumerable})},l=P(t)[Symbol.iterator]();!(o=(u=l.next()).done);o=!0)c()}catch(e){i=!0,a=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw a}}}return e}(j({},"__esModule",{value:!0}),K)}();
|
|
1
|
+
"use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function _assert_this_initialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function asyncGeneratorStep(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function _async_to_generator(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){asyncGeneratorStep(i,n,o,a,u,"next",e)}function u(e){asyncGeneratorStep(i,n,o,a,u,"throw",e)}a(void 0)})}}function _call_super(e,t,r){return t=_get_prototype_of(t),_possible_constructor_return(e,_is_native_reflect_construct()?Reflect.construct(t,r||[],_get_prototype_of(e).constructor):t.apply(e,r))}function _class_call_check(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _construct(e,t,r){return _construct=_is_native_reflect_construct()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&_set_prototype_of(o,r.prototype),o},_construct.apply(null,arguments)}function _define_property(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _get_prototype_of(e){return _get_prototype_of=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},_get_prototype_of(e)}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_set_prototype_of(e,t)}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function _is_native_function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i=[],a=!0,u=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){u=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(u)throw o}}return i}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){_define_property(e,t,r[t])})}return e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function _possible_constructor_return(e,t){return!t||"object"!==_type_of(t)&&"function"!=typeof t?_assert_this_initialized(e):t}function _set_prototype_of(e,t){return _set_prototype_of=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},_set_prototype_of(e,t)}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,t){if(e){if("string"==typeof e)return _array_like_to_array(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_array_like_to_array(e,t):void 0}}function _wrap_native_super(e){var t="function"==typeof Map?new Map:void 0;return _wrap_native_super=function(e){if(null===e||!_is_native_function(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return _construct(e,arguments,_get_prototype_of(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),_set_prototype_of(r,e)},_wrap_native_super(e)}function _is_native_reflect_construct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_is_native_reflect_construct=function(){return!!e})()}function _ts_generator(e,t){var r,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:c(0)}),u(a,"throw",{value:c(1)}),u(a,"return",{value:c(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function c(u){return function(c){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(i=0)),i;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,n=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=t.call(e,i)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var Destination=function(){var e=function(e,t){if("collector"===e)return"collector";if(!t)throw new Error("stepId(".concat(e,") requires an id"));return"".concat(e,".").concat(t)},t=function(e,t){var r=e.destinations[t];if(!r)throw new Error("Destination not found: ".concat(t));return r},r=function(e,t){var r=e.transformers[t];if(!r)throw new Error("Transformer not found: ".concat(t));return r},n=function(e,t){var r=e.sources[t];if(!r)throw new Error("Source not found: ".concat(t));return r},o=function(e,t){var r=e.stores[t];if(!r)throw new Error("Store not found: ".concat(t));return r},i=function(e,t){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,e.get(t)];case 1:return[2,r.sent()]}})})()},a=function(e){return Array.isArray(e)},u=function(e){return void 0!==e},c=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&"then"in e&&"function"==typeof e.then},l=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!a(e)&&"[object Object]"===Object.prototype.toString.call(e)},s=function(e){return"string"==typeof e},f=function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),r={},n=!e||0===Object.keys(e).length;return Object.keys(t).forEach(function(o){t[o]&&(r[o]=!0,e&&e[o]&&(n=!0))}),!!n&&r},p=function(e){return C(e)?e:void 0},_=function(e,t,r){return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return _async_to_generator(function(){var n;return _ts_generator(this,function(i){switch(i.label){case 0:return i.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,i.sent()];case 2:return n=i.sent(),t?[4,t(n)]:[2];case 4:return[4,null==r?void 0:r()];case 5:return i.sent(),[7];case 6:return[2]}})})()}},d=function(e,t){Object.defineProperty(e,"cause",{value:t,writable:!0,configurable:!0})},y=function(e,t,r){return _async_to_generator(function(){var n;return _ts_generator(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,e()];case 1:return[2,o.sent()];case 2:if(_instanceof(n=o.sent(),$))throw n;throw new $(r,{code:t,cause:n});case 3:return[2]}})})()},v=function(e){return e.length>300?e.slice(0,300):e},b=function(e,t,r,n,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"error";if(null==e?void 0:e.causeLog)e.causeLog.report(r,n,o,i);else{var a=function(e,t){var r={step:e.step,code:e.code};void 0!==e.status&&(r.status=e.status);var n=!0,o=!1,i=void 0;try{for(var a,u=H[Symbol.iterator]();!(n=(a=u.next()).done);n=!0){var c=a.value;"string"==typeof t[c]&&(r[c]=t[c])}}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}var s=!0,f=!1,p=void 0;try{for(var _,d=J[Symbol.iterator]();!(s=(_=d.next()).done);s=!0){var y=_.value;"number"==typeof t[y]&&(r[y]=t[y])}}catch(e){f=!0,p=e}finally{try{s||null==d.return||d.return()}finally{if(f)throw p}}"boolean"==typeof t.retryable&&(r.retryable=t.retryable);var b,g="string"==typeof(b=t.event)?b:l(b)&&"string"==typeof b.name?b.name:void 0;void 0!==g&&(r.event=g);var h=function(e){if(void 0!==e)return"string"==typeof e?v(e):_instanceof(e,Error)||l(e)&&"string"==typeof e.message?v(e.message):v(String(e))}(t.error);return void 0!==h&&(r.error=h),r}(r,o);"warn"===i?t.warn(n,a):t.error(n,a)}},g=function(e,t,r,n){var o=e.event.name,i=(null==t?void 0:t.mappingKey)?"mapping.".concat(t.mappingKey):"mapping";b(e.collector,e.logger,{step:i,code:"mapping"},r,_object_spread({},"string"==typeof o?{event:o}:{},(null==t?void 0:t.mappingKey)?{mappingKey:t.mappingKey}:{},void 0!==n?{error:n}:{}))},h=function(e,t,r){return _async_to_generator(function(e){var t,r,n,o,i,c,l,s,f,p,d,y,v,b,h,m=arguments;return _ts_generator(this,function(w){switch(w.label){case 0:if(t=m.length>1&&void 0!==m[1]?m[1]:{},n=m.length>3?m[3]:void 0,!(r=m.length>2?m[2]:void 0).collector)throw new Error("getMappingValue: context.collector is required");i=r.consent||r.collector.consent,c={event:null!==(o=r.event)&&void 0!==o?o:{},mapping:t,collector:r.collector,logger:r.collector.logger,consent:i},l=a(t)?t:[t],s=!0,f=!1,p=void 0,w.label=1;case 1:w.trys.push([1,6,7,8]),d=l[Symbol.iterator](),w.label=2;case 2:return(s=(y=d.next()).done)?[3,5]:(v=y.value,[4,_(X,function(e){if(_instanceof(e,U))throw e;g(c,n,"mapping value failed",e)})(e,v,_object_spread_props(_object_spread({},c),{mapping:v}),n)]);case 3:if(b=w.sent(),u(b))return[2,b];w.label=4;case 4:return s=!0,[3,2];case 5:return[3,8];case 6:return h=w.sent(),f=!0,p=h,[3,8];case 7:try{s||null==d.return||d.return()}finally{if(f)throw p}return[7];case 8:return[2]}})}).apply(this,arguments)},m=function(e,t){return _async_to_generator(function(e){var t=arguments;return _ts_generator(this,function(r){return[2,w(e,t.length>1&&void 0!==t[1]?t[1]:{},t.length>2?t[2]:void 0)]})}).apply(this,arguments)},w=function(e,t,r,n){return _async_to_generator(function(){var o,i,a,c;return _ts_generator(this,function(s){return u(e)?(a=l(e)&&e.consent||(null==r?void 0:r.consent)||(null==r||null===(i=r.collector)||void 0===i?void 0:i.consent),c=null!==(o=null==r?void 0:r.event)&&void 0!==o?o:l(e)?e:{},[2,h(e,t,_object_spread_props(_object_spread({},r),{consent:a,event:c}),n)]):[2]})})()},j=function(e){var t=(e.startsWith(te)?e.slice(5):e).split(".");return t.some(function(e){return""===e})?[]:t},O=function(e){return"function"==typeof e},P=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e},S=function(e,t){if(-1!==re.indexOf(t))return!1;for(var r=e;O(r);){if(Object.prototype.hasOwnProperty.call(r,t))return!0;var n=Object.getPrototypeOf(r);if(!O(n)||!O(Object.getPrototypeOf(n)))return!1;r=n}return!1},k=function(e,t){var r=Reflect.getOwnPropertyDescriptor(e,t);return!(r&&!r.configurable)||"value"in r&&!0===r.writable},x=function(e,t){var r=e,n=!0,o=!1,i=void 0;try{for(var a,u=t[Symbol.iterator]();!(n=(a=u.next()).done);n=!0){var l=a.value;if(O(r)){if(!S(r,l))return!0;if(!k(r,l))return!1}else if(c(r)){if(!(l in r))return!0}else if(!P(r)||!(l in r))return!1;r=Reflect.get(r,l)}}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return O(r)},E=function(e){var t=_object_spread({window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document},e),r=e&&e[ee];if(("undefined"==typeof __WALKEROS_OBSERVE__||__WALKEROS_OBSERVE__)&&function(e){if("object"!=(void 0===e?"undefined":_type_of(e))||null===e)return!1;if(!("paths"in e)||!("record"in e))return!1;var t=e.paths,r=e.record;return Array.isArray(t)&&t.every(function(e){return"string"==typeof e})&&"function"==typeof r}(r)){delete t[ee];var n=function(e,t,r){var n=[],o=[],i=[],a=!0,u=!1,l=void 0;try{for(var s,f=t[Symbol.iterator]();!(a=(s=f.next()).done);a=!0){var p=s.value,_=j(p);if(0!==_.length){var d=_.join(".");i.push({rest:_,fn:d}),x(e,_)||o.push(d)}}}catch(e){u=!0,l=e}finally{try{a||null==f.return||f.return()}finally{if(u)throw l}}var y=new WeakMap,v=new WeakSet;function b(e,t){var o=!0,i=!1,a=void 0;try{for(var u,c=e[Symbol.iterator]();!(o=(u=c.next()).done);o=!0){var l=u.value;if(r)try{r(l,t)}catch(e){}else n.push({fn:l,args:t,ts:Date.now()})}}catch(e){i=!0,a=e}finally{try{o||null==c.return||c.return()}finally{if(i)throw a}}}function g(e,t){return 0===t.length||h(e)?e:c(e)&&!t.some(function(t){return t.rest[0]in e})?Promise.resolve(e).then(function(e){return g(e,t)}):O(e)?D(e,[],t):P(e)?w(e,t):e}function h(e){return(P(e)||O(e))&&v.has(e)}function m(e,t){var r=[],n=[],o=!0,i=!1,a=void 0;try{for(var u,c=e[Symbol.iterator]();!(o=(u=c.next()).done);o=!0){var l=u.value;l.rest[0]===t&&(1===l.rest.length?r.includes(l.fn)||r.push(l.fn):n.push({rest:l.rest.slice(1),fn:l.fn}))}}catch(e){i=!0,a=e}finally{try{o||null==c.return||c.return()}finally{if(i)throw a}}return{leafs:r,deeper:n}}function w(e,t){var r,n=t.map(function(e){return"".concat(e.fn,":").concat(e.rest.join("."))}).join("|"),o=null!==(r=y.get(e))&&void 0!==r?r:new Map;y.set(e,o);var i=o.get(n);if(i)return i;var a=E(e,t);return o.set(n,a),a}function E(e,t){return O(e)?R(e,t):t.some(function(t){return!k(e,t.rest[0])})?function(e,t){var r=Object.create(Object.getPrototypeOf(e)),n=A(e,t,function(){return o}),o=new Proxy(r,{get:function(e,t){return n.get(t)},set:function(t,r,n){return Reflect.set(e,r,n,e)},has:function(t,r){return Reflect.has(e,r)},ownKeys:function(){return Reflect.ownKeys(e)},getOwnPropertyDescriptor:function(t,r){var n=Reflect.getOwnPropertyDescriptor(e,r);return n&&_object_spread_props(_object_spread({},n),{configurable:!0})},defineProperty:function(t,r,n){return Reflect.defineProperty(e,r,n)},deleteProperty:function(t,r){return Reflect.deleteProperty(e,r)}});return v.add(o),o}(e,t):R(e,t)}function R(e,t){var r=A(e,t,function(){return n}),n=new Proxy(e,{get:function(e,t){return"string"!=typeof t||k(e,t)?r.get(t):Reflect.get(e,t,e)},set:function(e,t,r){return Reflect.set(e,t,r,e)}});return v.add(n),n}function A(e,t,r){var n=new Map;return{get:function(o){var i=Reflect.get(e,o,e);if("string"!=typeof o)return i;if(!O(i)&&!P(i))return i;if(h(i))return i;var a=n.get(o);if(a&&a.value===i)return a.out;var u=m(t,o),c=u.leafs,l=u.deeper;if(!(c.length>0||l.length>0)&&(!O(i)||function(e){if(Array.isArray(e))return!0;var t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}(e)))return i;var s=i;return O(i)?s=D(i,c,l,{proxy:r(),target:e}):l.length>0&&(s=w(i,l)),n.set(o,{value:i,out:s}),s}}}function D(e,t,r,n){var o=function(){return r.filter(function(t){return!S(e,t.rest[0])})},i=new Map,a=new Proxy(e,{get:function(e,t){var n=Reflect.get(e,t,e);if("string"!=typeof t||!k(e,t))return n;if(!S(e,t))return n;var o=m(r,t),u=o.leafs,c=o.deeper;if(0===u.length&&0===c.length)return n;if(h(n))return n;var l=i.get(t);if(l&&l.value===n)return l.out;var s=n;return O(n)?s=D(n,u,c,{proxy:a,target:e}):P(n)&&c.length>0&&(s=w(n,c)),i.set(t,{value:n,out:s}),s},set:function(e,t,r){return Reflect.set(e,t,r,e)},apply:function(e,r,i){b(t,i);var a=!n||r!==n.proxy&&void 0!==r?r:n.target;return g(Reflect.apply(e,a,i),o())},construct:function(e,r,n){b(t,r);var i=Reflect.construct(e,r,n===a?e:n),u=g(i,o());return P(u)||O(u)?u:i}});return v.add(a),a}return{env:E(e,i),calls:n,unresolved:o}}(t,r.paths,r.record).env,o=new Set,i=!0,a=!1,u=void 0;try{for(var l,s=r.paths[Symbol.iterator]();!(i=(l=s.next()).done);i=!0){var f=l.value,p=j(f)[0];if(void 0!==p){var _=t[p];null!==_&&"object"==(void 0===_?"undefined":_type_of(_))&&o.add(p)}}}catch(e){a=!0,u=e}finally{try{i||null==s.return||s.return()}finally{if(a)throw u}}var d=Array.from(o,function(e){return[e,n[e]]}),y=!0,v=!1,b=void 0;try{for(var g,h=d[Symbol.iterator]();!(y=(g=h.next()).done);y=!0){var m=_sliced_to_array(g.value,2),w=m[0],E=m[1];t[w]=E}}catch(e){v=!0,b=e}finally{try{y||null==h.return||h.return()}finally{if(v)throw b}}}return t},R=function(e,t){var r,n,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var a=null!=(r=i.document)?r:"undefined"!=typeof document?document:void 0;if(!a)throw new $("Vendor script ".concat(e," has no document to go into"),{code:"vendor-not-ready"});o=function(e,t,r,n,o){var i=function(e,t){var r=e.querySelectorAll("script[".concat(ne,"]"));return Array.from(r).find(function(e){return e.getAttribute("src")===t})}(e,t),a=i&&oe.get(i);if(a)return a;var u={state:"loading",expired:!1,timeout:r,waiting:[]};if(i&&o())return u.state="loaded",oe.set(i,u),u;var c=null!=i?i:e.createElement("script"),l=function(e){var t=u.waiting;u.waiting=[],t.forEach(function(t){return t(e)})},s=setTimeout(function(){u.expired=!0,l("expired")},r);if(oe.set(c,u),c.addEventListener("load",function(){clearTimeout(s),u.state="loaded",l("loaded")}),c.addEventListener("error",function(){clearTimeout(s),u.state="failed",l("failed")}),!i){var f=!0,p=!1,_=void 0;try{for(var d,y=Object.entries(n)[Symbol.iterator]();!(f=(d=y.next()).done);f=!0){var v=_sliced_to_array(d.value,2),b=v[0],g=v[1];c.setAttribute(b,g)}}catch(e){p=!0,_=e}finally{try{f||null==y.return||y.return()}finally{if(p)throw _}}c.src=t,c.async=!0,c.setAttribute(ne,""),e.head.appendChild(c)}return u}(a,e,function(e){return"number"==typeof e&&e>0?e:1e4}(i.timeout),null!=(n=i.attributes)?n:{},function(){return null!=t()})}var u=function(){var e=t();return null==e?Promise.reject(new $("Vendor not ready: its global is missing",{code:"vendor-not-ready"})):Promise.resolve(e)};return{ready:function(){return o?"failed"===o.state?Promise.reject(ie()):"loaded"===o.state||o.expired?u():new Promise(function(e,t){o.waiting.push(function(r){var n;"failed"===r?t(ie()):"expired"===r?t((n=o.timeout,new $("Vendor script did not load within ".concat(n,"ms"),{code:"vendor-timeout"}))):u().then(e,t)})}):u()},check:function(){if("failed"===(null==o?void 0:o.state))throw ie()}}},A=function(e){var t=E(e).window.pintrk;if(!t)throw new $("Pinterest Tag not ready: pintrk is missing",{code:"vendor-not-ready"});return t},D=function(e,t){return R(!1!==e.loadScript?ue:void 0,function(){return E(t).window.pintrk},{timeout:e.timeout,document:E(t).document})},I=function(e,t,r){return _async_to_generator(function(){var n,o,i,a;return _ts_generator(this,function(u){switch(u.label){case 0:return null==t?[2,void 0]:[4,m(e,t,{collector:r})];case 1:return n=u.sent(),l(n)?(o={},i=n.em,a=n.external_id,s(i)&&i&&(o.em=i),s(a)&&a&&(o.external_id=a),[2,Object.keys(o).length>0?o:void 0]):[2,void 0]}})})()},K=Object.defineProperty,T=Object.getOwnPropertyDescriptor,G=Object.getOwnPropertyNames,M=Object.prototype.hasOwnProperty,N=function(e,t,r){return function(e,t,r){return t in e?K(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r}(e,"symbol"!==(void 0===t?"undefined":_type_of(t))?t+"":t,r)},V={};!function(e,t){for(var r in t)K(e,r,{get:t[r],enumerable:!0})}(V,{DestinationPinterest:function(){return ae},default:function(){return le},destinationPinterest:function(){return ce}});var W=Object.defineProperty,L=function(e,t){for(var r in t)W(e,r,{get:t[r],enumerable:!0})};L({},{stepId:function(){return e}});L({},{getDestination:function(){return t}});L({},{Level:function(){return B}});var q,B=((q=B||{})[q.ERROR=0]="ERROR",q[q.WARN=1]="WARN",q[q.INFO=2]="INFO",q[q.DEBUG=3]="DEBUG",q);L({},{getTransformer:function(){return r}});L({},{getSource:function(){return n}});L({},{getStore:function(){return o},getStoreValue:function(){return i}});var z="\\$flow\\.(".concat("[a-zA-Z_][a-zA-Z0-9_-]*",")(?:\\.([a-zA-Z0-9_.]+))?");new RegExp("^".concat(z,"$")),new RegExp(z,"g");function F(e){for(var t=arguments.length>2?arguments[2]:void 0,r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),n=e,o=0;o<r.length;o++){var i=r[o];if("*"===i&&a(n)){var c=r.slice(o+1).join("."),s=[],f=!0,p=!1,_=void 0;try{for(var d,y=n[Symbol.iterator]();!(f=(d=y.next()).done);f=!0){var v=F(d.value,c,t);s.push(v)}}catch(e){p=!0,_=e}finally{try{f||null==y.return||y.return()}finally{if(p)throw _}}return s}if(void 0===(n=l(n)||a(n)?n[i]:void 0))break}return u(n)?n:t}function C(e){return function(e){return"boolean"==typeof e}(e)||s(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!u(e)||a(e)&&e.every(C)||l(e)&&Object.values(e).every(C)}var U=function(){function e(t,r){var n;return _class_call_check(this,e),(n=_call_super(this,e,[t])).name="FatalError",r&&"cause"in r&&d(n,r.cause),Object.setPrototypeOf(n,e.prototype),n}return _inherits(e,_wrap_native_super(Error)),e}(),Z=["transport","timeout","breaker-open","blocked","queue-full","vendor-not-ready","vendor-timeout"],$=function(e){function t(e,r){var n;return _class_call_check(this,t),n=_call_super(this,t,[e]),N(n,"code"),N(n,"status"),N(n,"retryable"),N(n,"body"),void 0!==r.cause&&d(n,r.cause),n.name="StepError",n.code=r.code,void 0!==r.status&&(n.status=r.status),n.retryable=function(e){if(void 0!==e.retryable)return e.retryable;var t=e.status;if(void 0!==t){if(429===t||t>=500&&t<600)return!0;if(t>=400&&t<500)return!1}return Z.includes(e.code)}(r),void 0!==r.body&&(n.body=r.body),Object.setPrototypeOf(n,(_instanceof(this,t)?this.constructor:void 0).prototype),n}return _inherits(t,e),t}(_wrap_native_super(Error)),H=["type","mappingKey"],J=["count","suppressed"],Q=["condition","consent","fn","key","loop","map","set","validate","value"];function X(e,t,r,n){return _async_to_generator(function(){return _ts_generator(this,function(o){return[2,(a(t)?t:[t]).reduce(function(t,o){return _async_to_generator(function(){var i,c,l,d,y,v,b,m,w,j,O,P,S,k,x,E,R,A,D,I,K,T,G,M,N;return _ts_generator(this,function(V){switch(V.label){case 0:return[4,t];case 1:return(i=V.sent())?[2,i]:(c=s(o)?{key:o}:o,Object.keys(c).length?Q.some(function(e){return e in c})?(l=c.condition,d=c.consent,y=c.fn,v=c.key,b=c.loop,m=c.map,w=c.set,j=c.validate,O=c.value,P=_object_spread_props(_object_spread({},r),{mapping:o}),(S=l)?[4,_(l,function(e){if(_instanceof(e,U))throw e;return g(P,n,"mapping condition failed",e),!1})(e,P)]:[3,3]):[2,void g(_object_spread_props(_object_spread({},r),{mapping:o}),n,"mapping value has no operator (".concat(Object.keys(c).join(", "),"): wrap the fields in map, or use key, value, fn, loop or set"))]:[2]);case 2:S=!V.sent(),V.label=3;case 3:return S?[2]:d&&!f(d,P.consent)?[2,O]:(k=u(O)?O:e,b?(x=_sliced_to_array(b,2),E=x[0],R=x[1],"this"!==E?[3,4]:(D=[e],[3,6])):[3,10]);case 4:return[4,h(e,E,P,n)];case 5:D=V.sent(),V.label=6;case 6:return a(A=D)?[4,Promise.all(A.map(function(e){return u(e)?h(e,R,P,n):void 0}))]:[3,8];case 7:return I=V.sent().filter(u),[3,9];case 8:I=void 0,V.label=9;case 9:return k=I,[3,21];case 10:return m?[4,Object.entries(m).reduce(function(t,r){var o=_sliced_to_array(r,2),i=o[0],a=o[1];return _async_to_generator(function(){var r,o;return _ts_generator(this,function(c){switch(c.label){case 0:return[4,t];case 1:return r=c.sent(),[4,h(e,a,P,n)];case 2:return o=c.sent(),[2,(u(o)&&(r[i]=o),r)]}})})()},Promise.resolve({}))]:[3,12];case 11:return k=V.sent(),[3,20];case 12:return w?[4,Promise.all(w.map(function(t){return X(e,t,P,n)}))]:[3,14];case 13:return K=k=V.sent(),[3,19];case 14:return v?(T=k=F(e,v,O),[3,18]):[3,15];case 15:return(G=y)?[4,_(y,function(e){if(_instanceof(e,U))throw e;g(P,n,"mapping fn failed",e)})(e,P)]:[3,17];case 16:G=k=V.sent(),V.label=17;case 17:T=G,V.label=18;case 18:K=T,V.label=19;case 19:V.label=20;case 20:V.label=21;case 21:return(M=j)?[4,_(j,function(e){if(_instanceof(e,U))throw e;return g(P,n,"mapping validate failed",e),!1})(k,P)]:[3,23];case 22:M=!V.sent(),V.label=23;case 23:return M&&(k=void 0),N=p(k),[2,u(N)?N:p(O)]}})})()},Promise.resolve(void 0))]})})()}var Y,ee="observe",te="call:",re=["name","length","prototype","arguments","caller"],ne="data-walkeros-vendor",oe=new WeakMap,ie=function(){return new $("Vendor script failed to load",{code:"vendor-not-loaded"})},ae={},ue="https://s.pinimg.com/ct/core.js",ce={type:"pinterest",config:{},init:function(e){return _async_to_generator(function(e){var t,r,n,o,i,a;return _ts_generator(this,function(u){switch(u.label){case 0:if(t=e.config,r=e.env,!(n=_object_spread({},t.settings)).apiKey)throw new $("Pinterest needs settings.apiKey",{code:"config"});return o=n.apiKey,i=!1!==n.pageview,function(e){var t=E(e).window;if(!t.pintrk){var r=Object.assign(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o;null===(o=r.queue)||void 0===o||o.push(t)},{queue:[],version:"3.0"});t.pintrk=r}}(r),D(t,r),a=A(r),[4,y(function(){return a("load",o)},"vendor-not-ready","Pinterest load call failed")];case 1:return u.sent(),i?[4,y(function(){return a("page")},"vendor-not-ready","Pinterest page call failed")]:[3,3];case 2:u.sent(),u.label=3;case 3:return[2,_object_spread_props(_object_spread({},t),{settings:_object_spread_props(_object_spread({},n),{_state:{lastIdentify:void 0,consentGranted:!0}})})]}})}).apply(this,arguments)},push:function(e,t){return _async_to_generator(function(e,t){var r,n,o,i,a,u,c,f,p,_,d,v,b,g,h,m;return _ts_generator(this,function(w){switch(w.label){case 0:return r=t.config,n=t.rule,o=t.data,i=t.env,a=t.collector,u=t.logger,D(r,i).check(),c=r.settings||{},f=c._state||(c._state={consentGranted:!0}),p=A(i),!1===f.consentGranted?[3,6]:(v=null!==(_=null==n||null===(d=n.settings)||void 0===d?void 0:d.identify)&&void 0!==_?_:c.identify,[4,I(e,v,a)]);case 1:return(b=w.sent())?[3,2]:(void 0!==v&&function(e,t,r,n){e.debug("Pinterest skipped ".concat(r,": ").concat(n," resolved to nothing"),{event:t.name})}(u,e,"set","identify"),[3,4]);case 2:return j=b,O=f.lastIdentify,!j&&!O||j&&O&&j.em===O.em&&j.external_id===O.external_id?[3,4]:[4,y(function(){return p("set",b)},"transport","Pinterest set call failed")];case 3:w.sent(),f.lastIdentify=b,w.label=4;case 4:return!0===(null==n?void 0:n.silent)?[3,6]:(g=s(null==n?void 0:n.name)?n.name:e.name,h=l(o)?o:{},m=_object_spread({},e.id?{event_id:e.id}:{},h),[4,y(function(){return p("track",g,m)},"transport","Pinterest track call failed")]);case 5:w.sent(),w.label=6;case 6:return[2]}var j,O})}).apply(this,arguments)},on:function(e,t){var r=t.config,n=t.data,o=t.collector,i=r.consent;if("consent"===e&&i&&l(n)&&Object.keys(i).some(function(e){return e in n})){var a=r.settings;if(l(a))(l(a._state)?a._state:a._state={consentGranted:!0}).consentGranted=!1!==f(i,o.consent)}}},le=ce;return Y=V,function(e,t,r,n){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,i=!1,a=void 0;try{for(var u,c=function(){var o=u.value;M.call(e,o)||o===r||K(e,o,{get:function(){return t[o]},enumerable:!(n=T(t,o))||n.enumerable})},l=G(t)[Symbol.iterator]();!(o=(u=l.next()).done);o=!0)c()}catch(e){i=!0,a=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw a}}}return e}(K({},"__esModule",{value:!0}),Y)}();
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,
|
|
1
|
+
"use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o={};((e,n)=>{for(var i in n)t(e,i,{get:n[i],enumerable:!0})})(o,{DestinationPinterest:()=>c,default:()=>p,destinationPinterest:()=>u}),module.exports=(e=o,((e,o,s,a)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let c of i(o))r.call(e,c)||c===s||t(e,c,{get:()=>o[c],enumerable:!(a=n(o,c))||a.enumerable});return e})(t({},"__esModule",{value:!0}),e));var s=require("@walkeros/web-core"),a=require("@walkeros/core"),c={};function l(e){const{pintrk:t}=(0,s.getEnv)(e).window;if(!t)throw new a.StepError("Pinterest Tag not ready: pintrk is missing",{code:"vendor-not-ready"});return t}function d(e,t){return(0,s.loadVendor)(!1!==e.loadScript?"https://s.pinimg.com/ct/core.js":void 0,()=>(0,s.getEnv)(t).window.pintrk,{timeout:e.timeout,document:(0,s.getEnv)(t).document})}var u={type:"pinterest",config:{},async init({config:e,env:t}){const n={...e.settings};if(!n.apiKey)throw new a.StepError("Pinterest needs settings.apiKey",{code:"config"});const{apiKey:i}=n,r=!1!==n.pageview;!function(e){const{window:t}=(0,s.getEnv)(e);if(t.pintrk)return;const n=Object.assign((...e)=>{var t;null==(t=n.queue)||t.push(e)},{queue:[],version:"3.0"});t.pintrk=n}(t),d(e,t);const o=l(t);return await(0,a.stepCall)(()=>o("load",i),"vendor-not-ready","Pinterest load call failed"),r&&await(0,a.stepCall)(()=>o("page"),"vendor-not-ready","Pinterest page call failed"),{...e,settings:{...n,_state:{lastIdentify:void 0,consentGranted:!0}}}},async push(e,{config:t,rule:n,data:i,env:r,collector:o,logger:s}){var c,u;d(t,r).check();const p=t.settings||{},f=p._state||(p._state={consentGranted:!0}),g=l(r);if(!1!==f.consentGranted){const t=null!=(u=null==(c=null==n?void 0:n.settings)?void 0:c.identify)?u:p.identify,r=await async function(e,t,n){if(null==t)return;const i=await(0,a.getMappingValue)(e,t,{collector:n});if(!(0,a.isObject)(i))return;const r={},{em:o,external_id:s}=i;return(0,a.isString)(o)&&o&&(r.em=o),(0,a.isString)(s)&&s&&(r.external_id=s),Object.keys(r).length>0?r:void 0}(e,t,o);if(r?(v=r,y=f.lastIdentify,!v&&!y||v&&y&&v.em===y.em&&v.external_id===y.external_id||(await(0,a.stepCall)(()=>g("set",r),"transport","Pinterest set call failed"),f.lastIdentify=r)):void 0!==t&&function(e,t,n,i){e.debug(`Pinterest skipped ${n}: ${i} resolved to nothing`,{event:t.name})}(s,e,"set","identify"),!0!==(null==n?void 0:n.silent)){const t=(0,a.isString)(null==n?void 0:n.name)?n.name:e.name,r=(0,a.isObject)(i)?i:{},o={...e.id?{event_id:e.id}:{},...r};await(0,a.stepCall)(()=>g("track",t,o),"transport","Pinterest track call failed")}}var v,y},on(e,{config:t,data:n,collector:i}){const r=t.consent;if("consent"!==e||!r||!(0,a.isObject)(n))return;if(!Object.keys(r).some(e=>e in n))return;const o=t.settings;if(!(0,a.isObject)(o))return;((0,a.isObject)(o._state)?o._state:o._state={consentGranted:!0}).consentGranted=!1!==(0,a.getGrantedConsent)(r,i.consent)}},p=u;//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/types/index.ts"],"sourcesContent":["import type { DestinationWeb } from '@walkeros/web-core';\nimport { getEnv } from '@walkeros/web-core';\nimport { getMappingValue, isObject, isString } from '@walkeros/core';\nimport type { Collector, WalkerOS } from '@walkeros/core';\nimport type {\n Destination,\n EventData,\n IdentifyFields,\n Pintrk,\n Settings,\n} from './types';\n\n// Types export\nexport * as DestinationPinterest from './types';\n\nconst PINTEREST_SCRIPT_SRC = 'https://s.pinimg.com/ct/core.js';\n\n/**\n * Install the Pinterest `window.pintrk` queue shim. Mirrors the official\n * snippet - any call made before core.js loads is pushed onto `pintrk.queue`,\n * which the real script processes once it initializes. Idempotent.\n */\nfunction installPintrkQueue(env?: DestinationWeb.Env): void {\n const { window } = getEnv(env);\n const w = window as Window & { pintrk?: Pintrk };\n if (w.pintrk) return;\n const queue: unknown[][] = [];\n const fn = ((...args: unknown[]) => {\n (w.pintrk!.queue as unknown[][]).push(args);\n }) as unknown as Pintrk;\n fn.queue = queue;\n fn.version = '3.0';\n w.pintrk = fn;\n}\n\n/**\n * Insert the Pinterest core.js script tag. Async, non-blocking. Matches the\n * plausible/meta precedent.\n */\nfunction addScript(env?: DestinationWeb.Env): void {\n const { document } = getEnv(env);\n const doc = document as Document;\n const script = doc.createElement('script');\n script.src = PINTEREST_SCRIPT_SRC;\n script.async = true;\n doc.head.appendChild(script);\n}\n\n/**\n * Resolve an identify mapping value into IdentifyFields. Strict allow-list:\n * only `em` and `external_id` pass through.\n */\nasync function resolveIdentify(\n event: WalkerOS.Event,\n mappingValue: unknown,\n collector: Collector.Instance,\n): Promise<IdentifyFields | undefined> {\n if (mappingValue === undefined || mappingValue === null) return undefined;\n const resolved = await getMappingValue(\n event,\n mappingValue as Parameters<typeof getMappingValue>[1],\n { collector },\n );\n if (!isObject(resolved)) return undefined;\n const fields: IdentifyFields = {};\n const em = (resolved as Record<string, unknown>).em;\n const external_id = (resolved as Record<string, unknown>).external_id;\n if (isString(em) && em) fields.em = em;\n if (isString(external_id) && external_id) fields.external_id = external_id;\n return Object.keys(fields).length > 0 ? fields : undefined;\n}\n\n/**\n * Shallow-equal compare two IdentifyFields - used to suppress redundant\n * pintrk('set', ...) calls when the resolved identity has not changed.\n */\nfunction identifyEqual(a?: IdentifyFields, b?: IdentifyFields): boolean {\n if (!a && !b) return true;\n if (!a || !b) return false;\n return a.em === b.em && a.external_id === b.external_id;\n}\n\nexport const destinationPinterest: Destination = {\n type: 'pinterest',\n\n config: {},\n\n init({ config, env }) {\n const settings = config.settings;\n if (!settings?.apiKey) return false;\n\n const pageview = settings.pageview !== false;\n\n installPintrkQueue(env);\n if (config.loadScript !== false) addScript(env);\n\n const { window } = getEnv(env);\n const pintrk = (window as Window).pintrk as Pintrk;\n\n pintrk('load', settings.apiKey);\n if (pageview) pintrk('page');\n\n // Seed runtime state (mutation is allowed on Settings._state).\n settings._state = {\n lastIdentify: undefined,\n consentGranted: true,\n };\n\n return config;\n },\n\n async push(event, { config, rule, data, env, collector }) {\n const settings = (config.settings || {}) as Settings;\n const state = (settings._state ||= { consentGranted: true });\n if (state.consentGranted === false) return; // Consent revoked - suppress\n\n const { window } = getEnv(env);\n const pintrk = (window as Window).pintrk as Pintrk;\n if (!pintrk) return;\n\n // 1. Identity - per-event override falls back to destination-level.\n const identifyMapping =\n (rule?.settings?.identify as unknown) ?? settings.identify;\n const identify = await resolveIdentify(event, identifyMapping, collector);\n if (identify && !identifyEqual(identify, state.lastIdentify)) {\n pintrk('set', identify);\n state.lastIdentify = identify;\n }\n\n // 2. Silent - process identity (above) but suppress the default track.\n if (rule?.silent === true) return;\n\n // 3. Track\n const eventName = isString(rule?.name)\n ? (rule!.name as string)\n : event.name;\n\n // context.data contains both include-flattened and mapping.data-resolved\n // properties. Include is the bottom layer, mapping.data wins on conflict.\n const contextData: Record<string, unknown> = isObject(data)\n ? (data as Record<string, unknown>)\n : {};\n\n const eventData: EventData = {\n ...(event.id ? { event_id: event.id } : {}),\n ...contextData,\n };\n\n pintrk('track', eventName, eventData);\n },\n\n on(type, context) {\n if (type !== 'consent' || !context.data) return;\n const settings = context.config?.settings as Settings | undefined;\n if (!settings) return;\n\n const consent = context.data as WalkerOS.Consent;\n const required = context.config?.consent;\n if (!required) return;\n\n const keys = Object.keys(required);\n if (keys.length === 0) return;\n\n // Deny as soon as any required key is explicitly false. Grant only if\n // every required key is explicitly true.\n let anyDenied = false;\n let allGranted = true;\n for (const key of keys) {\n if (consent[key] === true) continue;\n if (consent[key] === false) {\n anyDenied = true;\n allGranted = false;\n } else {\n // undefined / unknown - don't flip\n allGranted = false;\n }\n }\n\n const state = (settings._state ||= { consentGranted: true });\n if (anyDenied) {\n state.consentGranted = false;\n } else if (allGranted) {\n state.consentGranted = true;\n }\n },\n};\n\nexport default destinationPinterest;\n","import type {\n Mapping as WalkerOSMapping,\n Destination as CoreDestination,\n} from '@walkeros/core';\nimport type { DestinationWeb } from '@walkeros/web-core';\n\n/**\n * Pinterest Tag global. The queue-based function created by the Pinterest\n * snippet. Before core.js loads, calls are queued on `pintrk.queue`.\n * After core.js resolves the queue, `pintrk` is replaced with the real\n * implementation. Both shapes accept the same argument signatures.\n */\nexport interface Pintrk {\n (command: 'load', tagId: string, identify?: IdentifyFields): void;\n (command: 'page'): void;\n (\n command: 'track',\n eventName: string,\n eventData?: EventData,\n callback?: (didInit: boolean, error?: unknown) => void,\n ): void;\n (command: 'set', userData: IdentifyFields): void;\n queue?: unknown[][];\n version?: string;\n}\n\ndeclare global {\n interface Window {\n pintrk?: Pintrk;\n }\n}\n\n/**\n * Pinterest standard event taxonomy. See Pinterest Tag documentation.\n * Client-side names are lowercase concatenated strings (addtocart,\n * not add_to_cart). Sending the wrong name means the event will not\n * appear correctly in Pinterest's conversion reports.\n */\nexport type StandardEventName =\n | 'pagevisit'\n | 'viewcategory'\n | 'search'\n | 'addtocart'\n | 'checkout'\n | 'watchvideo'\n | 'signup'\n | 'lead'\n | 'addpaymentinfo'\n | 'addtowishlist'\n | 'initiatecheckout'\n | 'subscribe'\n | 'viewcontent'\n | 'contact'\n | 'customizeproduct'\n | 'findlocation'\n | 'schedule'\n | 'starttrial'\n | 'submitapplication'\n | 'custom';\n\n/** Open union — any string is still passed through to pintrk. */\nexport type EventName = StandardEventName | (string & {});\n\n/**\n * Enhanced matching fields. Web destination strictly limits to the two\n * documented client-side Pinterest Tag fields. CAPI-only fields (ph, fn,\n * ln, address, country, ip, ua) belong to a future server destination\n * and are intentionally not accepted here.\n *\n * The Pinterest JS tag auto-hashes `em` with SHA-256 before transmission —\n * the destination does NOT hash.\n */\nexport interface IdentifyFields {\n em?: string;\n external_id?: string;\n}\n\n/**\n * Event data payload for pintrk('track', ...). Pinterest has a prescribed\n * set of parameter names. Common parameters across events plus an open\n * `[key: string]: unknown` for event-specific fields (search_query,\n * video_title, lead_type, opt_out_type, custom properties, etc.).\n */\nexport interface EventData {\n value?: number;\n order_quantity?: number;\n currency?: string;\n event_id?: string;\n order_id?: string;\n promo_code?: string;\n property?: string;\n product_name?: string;\n product_id?: string;\n product_category?: string;\n product_brand?: string;\n product_price?: number;\n product_quantity?: number;\n product_variant_id?: string;\n product_variant?: string;\n line_items?: LineItem[];\n search_query?: string;\n video_title?: string;\n lead_type?: string;\n opt_out_type?: 'LDP';\n [key: string]: unknown;\n}\n\nexport interface LineItem {\n product_name?: string;\n product_id?: string;\n product_category?: string;\n product_brand?: string;\n product_price?: number;\n product_quantity?: number;\n product_variant_id?: string;\n product_variant?: string;\n [key: string]: unknown;\n}\n\n/**\n * Destination-level settings.\n *\n * @property apiKey — Pinterest Tag ID (numeric string). Required. Passed\n * to pintrk('load', tagId) on init.\n * @property pageview — Fire pintrk('page') once in init after core.js\n * loads. Default true (matches Pinterest's base code convention).\n * Set false when walkerOS sources already emit page view events and\n * you would otherwise get a duplicate initial fire.\n * @property identify — walkerOS mapping value resolving to IdentifyFields.\n * Enhanced matching data for pintrk('load', tagId, data) and subsequent\n * pintrk('set', data) calls when the resolved identity changes.\n * @property include — walkerOS event sections forwarded as prefixed\n * properties in the track event data. Pinterest strongly prefers\n * explicit mapping.data over include — include is a fallback for\n * forwarding auxiliary context.\n */\nexport interface Settings {\n apiKey: string;\n pageview?: boolean;\n identify?: WalkerOSMapping.Value;\n /**\n * Runtime-only state. Not serialized to schema, not configurable by users.\n * The destination uses this to diff enhanced matching across pushes and\n * to suppress track() calls after consent revocation.\n */\n _state?: {\n lastIdentify?: IdentifyFields;\n consentGranted?: boolean;\n };\n}\n\nexport type InitSettings = Partial<Settings>;\n\n/**\n * Per-event mapping settings (on rule.settings).\n *\n * @property identify — Per-event identity override. Resolves to\n * IdentifyFields passed to pintrk('set', data).\n * @property include — Overrides destination-level include for this rule.\n */\nexport interface Mapping {\n identify?: WalkerOSMapping.Value;\n}\n\n/**\n * Env — mock surface for tests. Pinterest Tag uses window.pintrk, so\n * the env extends DestinationWeb.Env (which already provides window\n * and document).\n */\nexport interface Env extends DestinationWeb.Env {\n window: {\n pintrk?: Pintrk;\n };\n}\n\nexport type Types = CoreDestination.Types<Settings, Mapping, Env, InitSettings>;\n\nexport type Destination = DestinationWeb.Destination<Types>;\nexport type Config = DestinationWeb.Config<Types>;\n\nexport interface PinterestDestination extends Destination {\n env?: Env;\n}\n\nexport type Rule = WalkerOSMapping.Rule<Mapping>;\nexport type Rules = WalkerOSMapping.Rules<Rule>;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/types/index.ts"],"sourcesContent":["import type { DestinationWeb } from '@walkeros/web-core';\nimport { getEnv, loadVendor } from '@walkeros/web-core';\nimport {\n getGrantedConsent,\n getMappingValue,\n isObject,\n isString,\n StepError,\n stepCall,\n} from '@walkeros/core';\nimport type { Collector, Logger, Mapping, WalkerOS } from '@walkeros/core';\nimport type {\n Destination,\n EventData,\n IdentifyFields,\n Pintrk,\n Settings,\n} from './types';\n\n// Types export\nexport * as DestinationPinterest from './types';\n\nconst PINTEREST_SCRIPT_SRC = 'https://s.pinimg.com/ct/core.js';\n\n/**\n * Install the Pinterest `window.pintrk` queue shim. Mirrors the official\n * snippet - any call made before core.js loads is pushed onto `pintrk.queue`,\n * which the real script processes once it initializes. Idempotent.\n */\nfunction installPintrkQueue(env?: DestinationWeb.Env): void {\n const { window } = getEnv(env);\n if (window.pintrk) return;\n const pintrk: Pintrk = Object.assign(\n (...args: unknown[]) => {\n pintrk.queue?.push(args);\n },\n { queue: [], version: '3.0' },\n );\n window.pintrk = pintrk;\n}\n\n/** The pintrk queue or tag, or a StepError when it is not there. */\nfunction getPintrk(env?: DestinationWeb.Env): Pintrk {\n const { pintrk } = getEnv(env).window;\n if (!pintrk)\n throw new StepError('Pinterest Tag not ready: pintrk is missing', {\n code: 'vendor-not-ready',\n });\n return pintrk;\n}\n\n/**\n * The core.js script `loadVendor` injects unless `loadScript` is false.\n * pintrk replays its own queue, so it is called synchronously and only a\n * failed script is reported.\n */\nfunction vendor(\n config: { loadScript?: boolean; timeout?: number },\n env?: DestinationWeb.Env,\n) {\n return loadVendor(\n config.loadScript !== false ? PINTEREST_SCRIPT_SRC : undefined,\n () => getEnv(env).window.pintrk,\n { timeout: config.timeout, document: getEnv(env).document },\n );\n}\n\n/**\n * Resolve an identify mapping value into IdentifyFields. Strict allow-list:\n * only `em` and `external_id` pass through.\n */\nasync function resolveIdentify(\n event: WalkerOS.Event,\n mappingValue: Mapping.Value | undefined,\n collector: Collector.Instance,\n): Promise<IdentifyFields | undefined> {\n if (mappingValue === undefined || mappingValue === null) return undefined;\n const resolved = await getMappingValue(event, mappingValue, { collector });\n if (!isObject(resolved)) return undefined;\n const fields: IdentifyFields = {};\n const { em, external_id } = resolved;\n if (isString(em) && em) fields.em = em;\n if (isString(external_id) && external_id) fields.external_id = external_id;\n return Object.keys(fields).length > 0 ? fields : undefined;\n}\n\n/**\n * Shallow-equal compare two IdentifyFields - used to suppress redundant\n * pintrk('set', ...) calls when the resolved identity has not changed.\n */\nfunction identifyEqual(a?: IdentifyFields, b?: IdentifyFields): boolean {\n if (!a && !b) return true;\n if (!a || !b) return false;\n return a.em === b.em && a.external_id === b.external_id;\n}\n\n/**\n * A configured mapping that resolved to nothing skips its call: a declared\n * skip, said once at DEBUG with the event and the mapping key, never the\n * value, so a wrong mapping path does not look like an event without data.\n */\nfunction skipped(\n logger: Logger.Instance,\n event: WalkerOS.Event,\n call: string,\n key: string,\n): void {\n logger.debug(`Pinterest skipped ${call}: ${key} resolved to nothing`, {\n event: event.name,\n });\n}\n\nexport const destinationPinterest: Destination = {\n type: 'pinterest',\n\n config: {},\n\n async init({ config, env }) {\n // A copy, so adding the runtime state below does not write onto the live settings\n const settings = { ...config.settings };\n if (!settings.apiKey)\n throw new StepError('Pinterest needs settings.apiKey', {\n code: 'config',\n });\n const { apiKey } = settings;\n\n const pageview = settings.pageview !== false;\n\n installPintrkQueue(env);\n vendor(config, env);\n\n const pintrk = getPintrk(env);\n\n await stepCall(\n () => pintrk('load', apiKey),\n 'vendor-not-ready',\n 'Pinterest load call failed',\n );\n if (pageview)\n await stepCall(\n () => pintrk('page'),\n 'vendor-not-ready',\n 'Pinterest page call failed',\n );\n\n // Seed runtime state (mutation is allowed on Settings._state).\n return {\n ...config,\n settings: {\n ...settings,\n _state: { lastIdentify: undefined, consentGranted: true },\n },\n };\n },\n\n async push(event, { config, rule, data, env, collector, logger }) {\n vendor(config, env).check();\n\n const settings: Partial<Settings> = config.settings || {};\n const state = (settings._state ||= { consentGranted: true });\n\n const pintrk = getPintrk(env);\n\n // Consent revoked: suppress. This is the consent state, not a failure.\n if (state.consentGranted !== false) {\n // 1. Identity - per-event override falls back to destination-level.\n // A silent rule whose identify resolves nothing (or an identity that\n // is already current) sends nothing: a declared skip, not a failure.\n const identifyMapping = rule?.settings?.identify ?? settings.identify;\n const identify = await resolveIdentify(event, identifyMapping, collector);\n if (!identify) {\n if (identifyMapping !== undefined)\n skipped(logger, event, 'set', 'identify');\n } else if (!identifyEqual(identify, state.lastIdentify)) {\n await stepCall(\n () => pintrk('set', identify),\n 'transport',\n 'Pinterest set call failed',\n );\n state.lastIdentify = identify;\n }\n\n // 2. Silent - process identity (above) but suppress the default track.\n if (rule?.silent !== true) {\n // 3. Track\n const eventName = isString(rule?.name) ? rule.name : event.name;\n\n // context.data contains both include-flattened and mapping.data-resolved\n // properties. Include is the bottom layer, mapping.data wins on conflict.\n const contextData: Record<string, unknown> = isObject(data) ? data : {};\n\n const eventData: EventData = {\n ...(event.id ? { event_id: event.id } : {}),\n ...contextData,\n };\n\n await stepCall(\n () => pintrk('track', eventName, eventData),\n 'transport',\n 'Pinterest track call failed',\n );\n }\n }\n },\n\n // Pinterest has no consent API: the destination stops its own sends. The\n // destination's required consent decides on the whole consent state, as\n // it gates the pushes, and only a change that names a required key counts.\n on(type, { config, data, collector }) {\n const required = config.consent;\n if (type !== 'consent' || !required || !isObject(data)) return;\n if (!Object.keys(required).some((key) => key in data)) return;\n const settings = config.settings;\n if (!isObject(settings)) return;\n\n const state = isObject(settings._state)\n ? settings._state\n : (settings._state = { consentGranted: true });\n state.consentGranted =\n getGrantedConsent(required, collector.consent) !== false;\n },\n};\n\nexport default destinationPinterest;\n","import type {\n Mapping as WalkerOSMapping,\n Destination as CoreDestination,\n} from '@walkeros/core';\nimport type { DestinationWeb } from '@walkeros/web-core';\n\n/**\n * Pinterest Tag global. The queue-based function created by the Pinterest\n * snippet. Before core.js loads, calls are queued on `pintrk.queue`.\n * After core.js resolves the queue, `pintrk` is replaced with the real\n * implementation. Both shapes accept the same argument signatures.\n */\nexport interface Pintrk {\n (command: 'load', tagId: string, identify?: IdentifyFields): void;\n (command: 'page'): void;\n (\n command: 'track',\n eventName: string,\n eventData?: EventData,\n callback?: (didInit: boolean, error?: unknown) => void,\n ): void;\n (command: 'set', userData: IdentifyFields): void;\n queue?: unknown[][];\n version?: string;\n}\n\ndeclare global {\n interface Window {\n pintrk?: Pintrk;\n }\n}\n\n/**\n * Pinterest standard event taxonomy. See Pinterest Tag documentation.\n * Client-side names are lowercase concatenated strings (addtocart,\n * not add_to_cart). Sending the wrong name means the event will not\n * appear correctly in Pinterest's conversion reports.\n */\nexport type StandardEventName =\n | 'pagevisit'\n | 'viewcategory'\n | 'search'\n | 'addtocart'\n | 'checkout'\n | 'watchvideo'\n | 'signup'\n | 'lead'\n | 'addpaymentinfo'\n | 'addtowishlist'\n | 'initiatecheckout'\n | 'subscribe'\n | 'viewcontent'\n | 'contact'\n | 'customizeproduct'\n | 'findlocation'\n | 'schedule'\n | 'starttrial'\n | 'submitapplication'\n | 'custom';\n\n/** Open union — any string is still passed through to pintrk. */\nexport type EventName = StandardEventName | (string & {});\n\n/**\n * Enhanced matching fields. Web destination strictly limits to the two\n * documented client-side Pinterest Tag fields. CAPI-only fields (ph, fn,\n * ln, address, country, ip, ua) belong to a future server destination\n * and are intentionally not accepted here.\n *\n * The Pinterest JS tag auto-hashes `em` with SHA-256 before transmission —\n * the destination does NOT hash.\n */\nexport interface IdentifyFields {\n em?: string;\n external_id?: string;\n}\n\n/**\n * Event data payload for pintrk('track', ...). Pinterest has a prescribed\n * set of parameter names. Common parameters across events plus an open\n * `[key: string]: unknown` for event-specific fields (search_query,\n * video_title, lead_type, opt_out_type, custom properties, etc.).\n */\nexport interface EventData {\n value?: number;\n order_quantity?: number;\n currency?: string;\n event_id?: string;\n order_id?: string;\n promo_code?: string;\n property?: string;\n product_name?: string;\n product_id?: string;\n product_category?: string;\n product_brand?: string;\n product_price?: number;\n product_quantity?: number;\n product_variant_id?: string;\n product_variant?: string;\n line_items?: LineItem[];\n search_query?: string;\n video_title?: string;\n lead_type?: string;\n opt_out_type?: 'LDP';\n [key: string]: unknown;\n}\n\nexport interface LineItem {\n product_name?: string;\n product_id?: string;\n product_category?: string;\n product_brand?: string;\n product_price?: number;\n product_quantity?: number;\n product_variant_id?: string;\n product_variant?: string;\n [key: string]: unknown;\n}\n\n/**\n * Destination-level settings.\n *\n * @property apiKey — Pinterest Tag ID (numeric string). Required. Passed\n * to pintrk('load', tagId) on init.\n * @property pageview — Fire pintrk('page') once in init after core.js\n * loads. Default true (matches Pinterest's base code convention).\n * Set false when walkerOS sources already emit page view events and\n * you would otherwise get a duplicate initial fire.\n * @property identify — walkerOS mapping value resolving to IdentifyFields.\n * Enhanced matching data for pintrk('load', tagId, data) and subsequent\n * pintrk('set', data) calls when the resolved identity changes.\n * @property include — walkerOS event sections forwarded as prefixed\n * properties in the track event data. Pinterest strongly prefers\n * explicit mapping.data over include — include is a fallback for\n * forwarding auxiliary context.\n */\nexport interface Settings {\n apiKey: string;\n pageview?: boolean;\n identify?: WalkerOSMapping.Value;\n /**\n * Runtime-only state. Not serialized to schema, not configurable by users.\n * The destination uses this to diff enhanced matching across pushes and\n * to suppress track() calls after consent revocation.\n */\n _state?: {\n lastIdentify?: IdentifyFields;\n consentGranted?: boolean;\n };\n}\n\nexport type InitSettings = Partial<Settings>;\n\n/**\n * Per-event mapping settings (on rule.settings).\n *\n * @property identify — Per-event identity override. Resolves to\n * IdentifyFields passed to pintrk('set', data).\n * @property include — Overrides destination-level include for this rule.\n */\nexport interface Mapping {\n identify?: WalkerOSMapping.Value;\n}\n\n/**\n * Env — mock surface for tests. Pinterest Tag uses window.pintrk, so\n * the env extends DestinationWeb.Env (which already provides window\n * and document).\n */\nexport interface Env extends DestinationWeb.Env {\n window: {\n pintrk?: Pintrk;\n };\n}\n\nexport type Types = CoreDestination.Types<Settings, Mapping, Env, InitSettings>;\n\nexport type Destination = DestinationWeb.Destination<Types>;\nexport type Config = DestinationWeb.Config<Types>;\n\nexport interface PinterestDestination extends Destination {\n env?: Env;\n}\n\nexport type Rule = WalkerOSMapping.Rule<Mapping>;\nexport type Rules = WalkerOSMapping.Rules<Rule>;\n"],"mappings":"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","names":[]}
|