@walkeros/web-destination-meta 0.4.0 → 0.4.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.
@@ -96,38 +96,44 @@ __export(events_exports, {
96
96
  });
97
97
 
98
98
  // ../../../core/dist/index.mjs
99
- var m = { merge: true, shallow: true, extend: true };
100
- function y(e, t = {}, n = {}) {
101
- n = { ...m, ...n };
102
- const o = Object.entries(t).reduce((t2, [o2, r]) => {
103
- const i = e[o2];
104
- return n.merge && Array.isArray(i) && Array.isArray(r) ? t2[o2] = r.reduce((e2, t3) => e2.includes(t3) ? e2 : [...e2, t3], [...i]) : (n.extend || o2 in e) && (t2[o2] = r), t2;
99
+ var e = Object.defineProperty;
100
+ var c = {};
101
+ ((t, n) => {
102
+ for (var r in n) e(t, r, { get: n[r], enumerable: true });
103
+ })(c, { Level: () => a });
104
+ var a = ((e2) => (e2[e2.ERROR = 0] = "ERROR", e2[e2.INFO = 1] = "INFO", e2[e2.DEBUG = 2] = "DEBUG", e2))(a || {});
105
+ var k = { merge: true, shallow: true, extend: true };
106
+ function E(e2, t = {}, n = {}) {
107
+ n = { ...k, ...n };
108
+ const r = Object.entries(t).reduce((t2, [r2, o]) => {
109
+ const i = e2[r2];
110
+ return n.merge && Array.isArray(i) && Array.isArray(o) ? t2[r2] = o.reduce((e3, t3) => e3.includes(t3) ? e3 : [...e3, t3], [...i]) : (n.extend || r2 in e2) && (t2[r2] = o), t2;
105
111
  }, {});
106
- return n.shallow ? { ...e, ...o } : (Object.assign(e, o), e);
112
+ return n.shallow ? { ...e2, ...r } : (Object.assign(e2, r), e2);
107
113
  }
108
- function b(e) {
109
- return Array.isArray(e);
114
+ function $(e2) {
115
+ return Array.isArray(e2);
110
116
  }
111
- function S(e) {
112
- return "object" == typeof e && null !== e && !b(e) && "[object Object]" === Object.prototype.toString.call(e);
117
+ function T(e2) {
118
+ return "object" == typeof e2 && null !== e2 && !$(e2) && "[object Object]" === Object.prototype.toString.call(e2);
113
119
  }
114
- function C(e = {}) {
120
+ function z(e2 = {}) {
115
121
  var _a;
116
- const t = e.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e.group || "gr0up", o = e.count || 1, r = y({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t}-${n}-${o}`, trigger: "test", entity: "entity", action: "action", timestamp: t, timing: 3.14, group: n, count: o, version: { source: "0.3.1", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e, { merge: false });
117
- if (e.name) {
118
- const [t2, n2] = (_a = e.name.split(" ")) != null ? _a : [];
119
- t2 && n2 && (r.entity = t2, r.action = n2);
122
+ const t = e2.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e2.group || "gr0up", r = e2.count || 1, o = E({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t}-${n}-${r}`, trigger: "test", entity: "entity", action: "action", timestamp: t, timing: 3.14, group: n, count: r, version: { source: "0.4.2", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e2, { merge: false });
123
+ if (e2.name) {
124
+ const [t2, n2] = (_a = e2.name.split(" ")) != null ? _a : [];
125
+ t2 && n2 && (o.entity = t2, o.action = n2);
120
126
  }
121
- return r;
127
+ return o;
122
128
  }
123
- function _(e = "entity action", t = {}) {
124
- const n = t.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), o = { data: { id: "ers", name: "Everyday Ruck Snack", color: "black", size: "l", price: 420 } }, r = { data: { id: "cc", name: "Cool Cap", size: "one size", price: 42 } };
125
- return C({ ...{ "cart view": { data: { currency: "EUR", value: 2 * o.data.price }, context: { shopping: ["cart", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", data: { ...o.data, quantity: 2 }, context: { shopping: ["cart", 0] }, nested: [] }], trigger: "load" }, "checkout view": { data: { step: "payment", currency: "EUR", value: o.data.price + r.data.price }, context: { shopping: ["checkout", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...o, context: { shopping: ["checkout", 0] }, nested: [] }, { entity: "product", ...r, context: { shopping: ["checkout", 0] }, nested: [] }], trigger: "load" }, "order complete": { data: { id: "0rd3r1d", currency: "EUR", shipping: 5.22, taxes: 73.76, total: 555 }, context: { shopping: ["complete", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...o, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "product", ...r, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "gift", data: { name: "Surprise" }, context: { shopping: ["complete", 0] }, nested: [] }], trigger: "load" }, "page view": { data: { domain: "www.example.com", title: "walkerOS documentation", referrer: "https://www.elbwalker.com/", search: "?foo=bar", hash: "#hash", id: "/docs/" }, globals: { pagegroup: "docs" }, trigger: "load" }, "product add": { ...o, context: { shopping: ["intent", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "click" }, "product view": { ...o, context: { shopping: ["detail", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "product visible": { data: { ...o.data, position: 3, promo: true }, context: { shopping: ["discover", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "promotion visible": { data: { name: "Setting up tracking easily", position: "hero" }, context: { ab_test: ["engagement", 0] }, globals: { pagegroup: "homepage" }, trigger: "visible" }, "session start": { data: { id: "s3ss10n", start: n, isNew: true, count: 1, runs: 1, isStart: true, storage: true, referrer: "", device: "c00k13" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n", hash: "h4sh", address: "street number", email: "user@example.com", phone: "+49 123 456 789", userAgent: "Mozilla...", browser: "Chrome", browserVersion: "90", deviceType: "desktop", language: "de-DE", country: "DE", region: "HH", city: "Hamburg", zip: "20354", timezone: "Berlin", os: "walkerOS", osVersion: "1.0", screenSize: "1337x420", ip: "127.0.0.0", internal: true, custom: "value" } } }[e], ...t, name: e });
129
+ function B(e2 = "entity action", t = {}) {
130
+ const n = t.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), r = { data: { id: "ers", name: "Everyday Ruck Snack", color: "black", size: "l", price: 420 } }, o = { data: { id: "cc", name: "Cool Cap", size: "one size", price: 42 } };
131
+ return z({ ...{ "cart view": { data: { currency: "EUR", value: 2 * r.data.price }, context: { shopping: ["cart", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", data: { ...r.data, quantity: 2 }, context: { shopping: ["cart", 0] }, nested: [] }], trigger: "load" }, "checkout view": { data: { step: "payment", currency: "EUR", value: r.data.price + o.data.price }, context: { shopping: ["checkout", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...r, context: { shopping: ["checkout", 0] }, nested: [] }, { entity: "product", ...o, context: { shopping: ["checkout", 0] }, nested: [] }], trigger: "load" }, "order complete": { data: { id: "0rd3r1d", currency: "EUR", shipping: 5.22, taxes: 73.76, total: 555 }, context: { shopping: ["complete", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...r, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "product", ...o, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "gift", data: { name: "Surprise" }, context: { shopping: ["complete", 0] }, nested: [] }], trigger: "load" }, "page view": { data: { domain: "www.example.com", title: "walkerOS documentation", referrer: "https://www.elbwalker.com/", search: "?foo=bar", hash: "#hash", id: "/docs/" }, globals: { pagegroup: "docs" }, trigger: "load" }, "product add": { ...r, context: { shopping: ["intent", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "click" }, "product view": { ...r, context: { shopping: ["detail", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "product visible": { data: { ...r.data, position: 3, promo: true }, context: { shopping: ["discover", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "promotion visible": { data: { name: "Setting up tracking easily", position: "hero" }, context: { ab_test: ["engagement", 0] }, globals: { pagegroup: "homepage" }, trigger: "visible" }, "session start": { data: { id: "s3ss10n", start: n, isNew: true, count: 1, runs: 1, isStart: true, storage: true, referrer: "", device: "c00k13" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n", hash: "h4sh", address: "street number", email: "user@example.com", phone: "+49 123 456 789", userAgent: "Mozilla...", browser: "Chrome", browserVersion: "90", deviceType: "desktop", language: "de-DE", country: "DE", region: "HH", city: "Hamburg", zip: "20354", timezone: "Berlin", os: "walkerOS", osVersion: "1.0", screenSize: "1337x420", ip: "127.0.0.0", internal: true, custom: "value" } } }[e2], ...t, name: e2 });
126
132
  }
127
133
 
128
134
  // src/examples/events.ts
129
135
  function Purchase() {
130
- const event = _("order complete");
136
+ const event = B("order complete");
131
137
  return [
132
138
  "track",
133
139
  "Purchase",
@@ -142,7 +148,7 @@ function Purchase() {
142
148
  ];
143
149
  }
144
150
  function AddToCart() {
145
- const event = _("product add");
151
+ const event = B("product add");
146
152
  return [
147
153
  "track",
148
154
  "AddToCart",
@@ -156,7 +162,7 @@ function AddToCart() {
156
162
  ];
157
163
  }
158
164
  function InitiateCheckout() {
159
- const event = _("cart view");
165
+ const event = B("cart view");
160
166
  return [
161
167
  "track",
162
168
  "InitiateCheckout",
@@ -173,7 +179,7 @@ function InitiateCheckout() {
173
179
  ];
174
180
  }
175
181
  function ViewContent() {
176
- const event = _("product view");
182
+ const event = B("product view");
177
183
  return [
178
184
  "track",
179
185
  "ViewContent",
@@ -206,7 +212,7 @@ var Purchase2 = {
206
212
  loop: [
207
213
  "nested",
208
214
  {
209
- condition: (entity) => S(entity) && entity.entity === "product",
215
+ condition: (entity) => T(entity) && entity.entity === "product",
210
216
  map: {
211
217
  id: "data.id",
212
218
  quantity: { key: "data.quantity", value: 1 }
@@ -253,7 +259,7 @@ var InitiateCheckout2 = {
253
259
  loop: [
254
260
  "nested",
255
261
  {
256
- condition: (entity) => S(entity) && entity.entity === "product",
262
+ condition: (entity) => T(entity) && entity.entity === "product",
257
263
  map: {
258
264
  id: "data.id",
259
265
  quantity: { key: "data.quantity", value: 1 }
@@ -74,38 +74,44 @@ __export(events_exports, {
74
74
  });
75
75
 
76
76
  // ../../../core/dist/index.mjs
77
- var m = { merge: true, shallow: true, extend: true };
78
- function y(e, t = {}, n = {}) {
79
- n = { ...m, ...n };
80
- const o = Object.entries(t).reduce((t2, [o2, r]) => {
81
- const i = e[o2];
82
- return n.merge && Array.isArray(i) && Array.isArray(r) ? t2[o2] = r.reduce((e2, t3) => e2.includes(t3) ? e2 : [...e2, t3], [...i]) : (n.extend || o2 in e) && (t2[o2] = r), t2;
77
+ var e = Object.defineProperty;
78
+ var c = {};
79
+ ((t, n) => {
80
+ for (var r in n) e(t, r, { get: n[r], enumerable: true });
81
+ })(c, { Level: () => a });
82
+ var a = ((e2) => (e2[e2.ERROR = 0] = "ERROR", e2[e2.INFO = 1] = "INFO", e2[e2.DEBUG = 2] = "DEBUG", e2))(a || {});
83
+ var k = { merge: true, shallow: true, extend: true };
84
+ function E(e2, t = {}, n = {}) {
85
+ n = { ...k, ...n };
86
+ const r = Object.entries(t).reduce((t2, [r2, o]) => {
87
+ const i = e2[r2];
88
+ return n.merge && Array.isArray(i) && Array.isArray(o) ? t2[r2] = o.reduce((e3, t3) => e3.includes(t3) ? e3 : [...e3, t3], [...i]) : (n.extend || r2 in e2) && (t2[r2] = o), t2;
83
89
  }, {});
84
- return n.shallow ? { ...e, ...o } : (Object.assign(e, o), e);
90
+ return n.shallow ? { ...e2, ...r } : (Object.assign(e2, r), e2);
85
91
  }
86
- function b(e) {
87
- return Array.isArray(e);
92
+ function $(e2) {
93
+ return Array.isArray(e2);
88
94
  }
89
- function S(e) {
90
- return "object" == typeof e && null !== e && !b(e) && "[object Object]" === Object.prototype.toString.call(e);
95
+ function T(e2) {
96
+ return "object" == typeof e2 && null !== e2 && !$(e2) && "[object Object]" === Object.prototype.toString.call(e2);
91
97
  }
92
- function C(e = {}) {
98
+ function z(e2 = {}) {
93
99
  var _a;
94
- const t = e.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e.group || "gr0up", o = e.count || 1, r = y({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t}-${n}-${o}`, trigger: "test", entity: "entity", action: "action", timestamp: t, timing: 3.14, group: n, count: o, version: { source: "0.3.1", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e, { merge: false });
95
- if (e.name) {
96
- const [t2, n2] = (_a = e.name.split(" ")) != null ? _a : [];
97
- t2 && n2 && (r.entity = t2, r.action = n2);
100
+ const t = e2.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e2.group || "gr0up", r = e2.count || 1, o = E({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t}-${n}-${r}`, trigger: "test", entity: "entity", action: "action", timestamp: t, timing: 3.14, group: n, count: r, version: { source: "0.4.2", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e2, { merge: false });
101
+ if (e2.name) {
102
+ const [t2, n2] = (_a = e2.name.split(" ")) != null ? _a : [];
103
+ t2 && n2 && (o.entity = t2, o.action = n2);
98
104
  }
99
- return r;
105
+ return o;
100
106
  }
101
- function _(e = "entity action", t = {}) {
102
- const n = t.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), o = { data: { id: "ers", name: "Everyday Ruck Snack", color: "black", size: "l", price: 420 } }, r = { data: { id: "cc", name: "Cool Cap", size: "one size", price: 42 } };
103
- return C({ ...{ "cart view": { data: { currency: "EUR", value: 2 * o.data.price }, context: { shopping: ["cart", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", data: { ...o.data, quantity: 2 }, context: { shopping: ["cart", 0] }, nested: [] }], trigger: "load" }, "checkout view": { data: { step: "payment", currency: "EUR", value: o.data.price + r.data.price }, context: { shopping: ["checkout", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...o, context: { shopping: ["checkout", 0] }, nested: [] }, { entity: "product", ...r, context: { shopping: ["checkout", 0] }, nested: [] }], trigger: "load" }, "order complete": { data: { id: "0rd3r1d", currency: "EUR", shipping: 5.22, taxes: 73.76, total: 555 }, context: { shopping: ["complete", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...o, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "product", ...r, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "gift", data: { name: "Surprise" }, context: { shopping: ["complete", 0] }, nested: [] }], trigger: "load" }, "page view": { data: { domain: "www.example.com", title: "walkerOS documentation", referrer: "https://www.elbwalker.com/", search: "?foo=bar", hash: "#hash", id: "/docs/" }, globals: { pagegroup: "docs" }, trigger: "load" }, "product add": { ...o, context: { shopping: ["intent", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "click" }, "product view": { ...o, context: { shopping: ["detail", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "product visible": { data: { ...o.data, position: 3, promo: true }, context: { shopping: ["discover", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "promotion visible": { data: { name: "Setting up tracking easily", position: "hero" }, context: { ab_test: ["engagement", 0] }, globals: { pagegroup: "homepage" }, trigger: "visible" }, "session start": { data: { id: "s3ss10n", start: n, isNew: true, count: 1, runs: 1, isStart: true, storage: true, referrer: "", device: "c00k13" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n", hash: "h4sh", address: "street number", email: "user@example.com", phone: "+49 123 456 789", userAgent: "Mozilla...", browser: "Chrome", browserVersion: "90", deviceType: "desktop", language: "de-DE", country: "DE", region: "HH", city: "Hamburg", zip: "20354", timezone: "Berlin", os: "walkerOS", osVersion: "1.0", screenSize: "1337x420", ip: "127.0.0.0", internal: true, custom: "value" } } }[e], ...t, name: e });
107
+ function B(e2 = "entity action", t = {}) {
108
+ const n = t.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), r = { data: { id: "ers", name: "Everyday Ruck Snack", color: "black", size: "l", price: 420 } }, o = { data: { id: "cc", name: "Cool Cap", size: "one size", price: 42 } };
109
+ return z({ ...{ "cart view": { data: { currency: "EUR", value: 2 * r.data.price }, context: { shopping: ["cart", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", data: { ...r.data, quantity: 2 }, context: { shopping: ["cart", 0] }, nested: [] }], trigger: "load" }, "checkout view": { data: { step: "payment", currency: "EUR", value: r.data.price + o.data.price }, context: { shopping: ["checkout", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...r, context: { shopping: ["checkout", 0] }, nested: [] }, { entity: "product", ...o, context: { shopping: ["checkout", 0] }, nested: [] }], trigger: "load" }, "order complete": { data: { id: "0rd3r1d", currency: "EUR", shipping: 5.22, taxes: 73.76, total: 555 }, context: { shopping: ["complete", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...r, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "product", ...o, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "gift", data: { name: "Surprise" }, context: { shopping: ["complete", 0] }, nested: [] }], trigger: "load" }, "page view": { data: { domain: "www.example.com", title: "walkerOS documentation", referrer: "https://www.elbwalker.com/", search: "?foo=bar", hash: "#hash", id: "/docs/" }, globals: { pagegroup: "docs" }, trigger: "load" }, "product add": { ...r, context: { shopping: ["intent", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "click" }, "product view": { ...r, context: { shopping: ["detail", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "product visible": { data: { ...r.data, position: 3, promo: true }, context: { shopping: ["discover", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "promotion visible": { data: { name: "Setting up tracking easily", position: "hero" }, context: { ab_test: ["engagement", 0] }, globals: { pagegroup: "homepage" }, trigger: "visible" }, "session start": { data: { id: "s3ss10n", start: n, isNew: true, count: 1, runs: 1, isStart: true, storage: true, referrer: "", device: "c00k13" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n", hash: "h4sh", address: "street number", email: "user@example.com", phone: "+49 123 456 789", userAgent: "Mozilla...", browser: "Chrome", browserVersion: "90", deviceType: "desktop", language: "de-DE", country: "DE", region: "HH", city: "Hamburg", zip: "20354", timezone: "Berlin", os: "walkerOS", osVersion: "1.0", screenSize: "1337x420", ip: "127.0.0.0", internal: true, custom: "value" } } }[e2], ...t, name: e2 });
104
110
  }
105
111
 
106
112
  // src/examples/events.ts
107
113
  function Purchase() {
108
- const event = _("order complete");
114
+ const event = B("order complete");
109
115
  return [
110
116
  "track",
111
117
  "Purchase",
@@ -120,7 +126,7 @@ function Purchase() {
120
126
  ];
121
127
  }
122
128
  function AddToCart() {
123
- const event = _("product add");
129
+ const event = B("product add");
124
130
  return [
125
131
  "track",
126
132
  "AddToCart",
@@ -134,7 +140,7 @@ function AddToCart() {
134
140
  ];
135
141
  }
136
142
  function InitiateCheckout() {
137
- const event = _("cart view");
143
+ const event = B("cart view");
138
144
  return [
139
145
  "track",
140
146
  "InitiateCheckout",
@@ -151,7 +157,7 @@ function InitiateCheckout() {
151
157
  ];
152
158
  }
153
159
  function ViewContent() {
154
- const event = _("product view");
160
+ const event = B("product view");
155
161
  return [
156
162
  "track",
157
163
  "ViewContent",
@@ -184,7 +190,7 @@ var Purchase2 = {
184
190
  loop: [
185
191
  "nested",
186
192
  {
187
- condition: (entity) => S(entity) && entity.entity === "product",
193
+ condition: (entity) => T(entity) && entity.entity === "product",
188
194
  map: {
189
195
  id: "data.id",
190
196
  quantity: { key: "data.quantity", value: 1 }
@@ -231,7 +237,7 @@ var InitiateCheckout2 = {
231
237
  loop: [
232
238
  "nested",
233
239
  {
234
- condition: (entity) => S(entity) && entity.entity === "product",
240
+ condition: (entity) => T(entity) && entity.entity === "product",
235
241
  map: {
236
242
  id: "data.id",
237
243
  quantity: { key: "data.quantity", value: 1 }
@@ -1 +1 @@
1
- "use strict";var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={};function r(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}function c(e){return{window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document,...e}}((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})(i,{DestinationMeta:()=>u,default:()=>f,destinationMeta:()=>s});var a,u={},s={type:"meta-pixel",config:{},init({config:e,env:t}){const{settings:n,loadScript:o}=e,{pixelId:i}=n||{};if(o&&function(e,t="https://connect.facebook.net/en_US/fbevents.js"){const{document:n}=c(e),o=n.createElement("script");o.src=t,o.async=!0,n.head.appendChild(o)}(t),!i)return!1;!function(e){const{window:t}=c(e),n=t;if(n.fbq)return;const o=function(...e){o.callMethod?o.callMethod.apply(o,e):o.queue.push(e)};n.fbq=o,n._fbq||(n._fbq=o),o.push=o,o.loaded=!0,o.version="2.0",o.queue=[]}(t);const{window:r}=c(t);(0,r.fbq)("init",i)},push(e,{config:t,mapping:n={},data:o,env:i}){const{track:a,trackCustom:u}=n.settings||{},{window:s}=c(i),f=s.fbq;"page view"!==e.name||n.settings||(e.name="PageView");const d=a||u||e.name;f(u?"trackCustom":"track",String(d),r(o)?o:{},{eventID:e.id})}},f=s;return a=i,((i,r,c,a)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let u of n(r))o.call(i,u)||u===c||e(i,u,{get:()=>r[u],enumerable:!(a=t(r,u))||a.enumerable});return i})(e({},"__esModule",{value:!0}),a)})();
1
+ "use strict";var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={};((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})(i,{DestinationMeta:()=>d,default:()=>p,destinationMeta:()=>l});var r=Object.defineProperty;((e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})})({},{Level:()=>a});var c,a=((c=a||{})[c.ERROR=0]="ERROR",c[c.INFO=1]="INFO",c[c.DEBUG=2]="DEBUG",c);function s(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}function u(e){return{window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document,...e}}var f,d={},l={type:"meta-pixel",config:{},init({config:e,env:t,logger:n}){const{settings:o,loadScript:i}=e,{pixelId:r}=o||{};i&&function(e,t="https://connect.facebook.net/en_US/fbevents.js"){const{document:n}=u(e),o=n.createElement("script");o.src=t,o.async=!0,n.head.appendChild(o)}(t),r||n.throw("Config settings pixelId missing"),function(e){const{window:t}=u(e),n=t;if(n.fbq)return;const o=function(...e){o.callMethod?o.callMethod.apply(o,e):o.queue.push(e)};n.fbq=o,n._fbq||(n._fbq=o),o.push=o,o.loaded=!0,o.version="2.0",o.queue=[]}(t);const{window:c}=u(t);(0,c.fbq)("init",r)},push(e,{config:t,mapping:n={},data:o,env:i}){const{track:r,trackCustom:c}=n.settings||{},{window:a}=u(i),f=a.fbq;"page view"!==e.name||n.settings||(e.name="PageView");const d=r||c||e.name;f(c?"trackCustom":"track",String(d),s(o)?o:{},{eventID:e.id})}},p=l;return f=i,((i,r,c,a)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let s of n(r))o.call(i,s)||s===c||e(i,s,{get:()=>r[s],enumerable:!(a=t(r,s))||a.enumerable});return i})(e({},"__esModule",{value:!0}),f)})();
package/dist/index.d.mts CHANGED
@@ -10,6 +10,7 @@ declare global {
10
10
  interface Settings {
11
11
  pixelId: string;
12
12
  }
13
+ type InitSettings = Partial<Settings>;
13
14
  interface Mapping {
14
15
  track?: StandardEventNames;
15
16
  trackCustom?: string;
@@ -26,7 +27,7 @@ interface Env extends DestinationWeb.Env {
26
27
  };
27
28
  };
28
29
  }
29
- type Types = Destination$1.Types<Settings, Mapping, Env>;
30
+ type Types = Destination$1.Types<Settings, Mapping, Env, InitSettings>;
30
31
  type Destination = DestinationWeb.Destination<Types>;
31
32
  type Config = DestinationWeb.Config<Types>;
32
33
  type Rule = Mapping$1.Rule<Mapping>;
@@ -36,6 +37,7 @@ type StandardEventNames = 'PageView' | 'AddPaymentInfo' | 'AddToCart' | 'AddToWi
36
37
  type index_Config = Config;
37
38
  type index_Destination = Destination;
38
39
  type index_Env = Env;
40
+ type index_InitSettings = InitSettings;
39
41
  type index_Mapping = Mapping;
40
42
  type index_Rule = Rule;
41
43
  type index_Rules = Rules;
@@ -43,7 +45,7 @@ type index_Settings = Settings;
43
45
  type index_StandardEventNames = StandardEventNames;
44
46
  type index_Types = Types;
45
47
  declare namespace index {
46
- export type { index_Config as Config, index_Destination as Destination, index_Env as Env, index_Mapping as Mapping, index_Rule as Rule, index_Rules as Rules, index_Settings as Settings, index_StandardEventNames as StandardEventNames, index_Types as Types };
48
+ export type { index_Config as Config, index_Destination as Destination, index_Env as Env, index_InitSettings as InitSettings, index_Mapping as Mapping, index_Rule as Rule, index_Rules as Rules, index_Settings as Settings, index_StandardEventNames as StandardEventNames, index_Types as Types };
47
49
  }
48
50
 
49
51
  declare const destinationMeta: Destination;
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ declare global {
10
10
  interface Settings {
11
11
  pixelId: string;
12
12
  }
13
+ type InitSettings = Partial<Settings>;
13
14
  interface Mapping {
14
15
  track?: StandardEventNames;
15
16
  trackCustom?: string;
@@ -26,7 +27,7 @@ interface Env extends DestinationWeb.Env {
26
27
  };
27
28
  };
28
29
  }
29
- type Types = Destination$1.Types<Settings, Mapping, Env>;
30
+ type Types = Destination$1.Types<Settings, Mapping, Env, InitSettings>;
30
31
  type Destination = DestinationWeb.Destination<Types>;
31
32
  type Config = DestinationWeb.Config<Types>;
32
33
  type Rule = Mapping$1.Rule<Mapping>;
@@ -36,6 +37,7 @@ type StandardEventNames = 'PageView' | 'AddPaymentInfo' | 'AddToCart' | 'AddToWi
36
37
  type index_Config = Config;
37
38
  type index_Destination = Destination;
38
39
  type index_Env = Env;
40
+ type index_InitSettings = InitSettings;
39
41
  type index_Mapping = Mapping;
40
42
  type index_Rule = Rule;
41
43
  type index_Rules = Rules;
@@ -43,7 +45,7 @@ type index_Settings = Settings;
43
45
  type index_StandardEventNames = StandardEventNames;
44
46
  type index_Types = Types;
45
47
  declare namespace index {
46
- export type { index_Config as Config, index_Destination as Destination, index_Env as Env, index_Mapping as Mapping, index_Rule as Rule, index_Rules as Rules, index_Settings as Settings, index_StandardEventNames as StandardEventNames, index_Types as Types };
48
+ export type { index_Config as Config, index_Destination as Destination, index_Env as Env, index_InitSettings as InitSettings, index_Mapping as Mapping, index_Rule as Rule, index_Rules as Rules, index_Settings as Settings, index_StandardEventNames as StandardEventNames, index_Types as Types };
47
49
  }
48
50
 
49
51
  declare const destinationMeta: Destination;
package/dist/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _define_property(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _object_spread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){_define_property(e,t,n[t])})}return e}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}var Destination=function(){var e=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)},t=function(e){return _object_spread({window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document},e)},n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,c={};!function(e,t){for(var r in t)n(e,r,{get:t[r],enumerable:!0})}(c,{DestinationMeta:function(){return a},default:function(){return l},destinationMeta:function(){return f}});var u,a={},f={type:"meta-pixel",config:{},init:function(e){var n=e.config,r=e.env,o=n.settings,i=n.loadScript,c=(o||{}).pixelId;if(i&&function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"https://connect.facebook.net/en_US/fbevents.js",r=t(e).document,o=r.createElement("script");o.src=n,o.async=!0,r.head.appendChild(o)}(r),!c)return!1;!function(e){var n=t(e).window;if(!n.fbq){var r=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.callMethod?r.callMethod.apply(r,t):r.queue.push(t)};n.fbq=r,n._fbq||(n._fbq=r),r.push=r,r.loaded=!0,r.version="2.0",r.queue=[]}}(r),(0,t(r).window.fbq)("init",c)},push:function(n,r){r.config;var o=r.mapping,i=void 0===o?{}:o,c=r.data,u=r.env,a=i.settings||{},f=a.track,l=a.trackCustom,d=t(u).window.fbq;"page view"!==n.name||i.settings||(n.name="PageView");var p=f||l||n.name;d(l?"trackCustom":"track",String(p),e(c)?c:{},{eventID:n.id})}},l=f;return u=c,function(e,t,c,u){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var a=!0,f=!1,l=void 0;try{for(var d,p=function(){var o=d.value;i.call(e,o)||o===c||n(e,o,{get:function(){return t[o]},enumerable:!(u=r(t,o))||u.enumerable})},b=o(t)[Symbol.iterator]();!(a=(d=b.next()).done);a=!0)p()}catch(e){f=!0,l=e}finally{try{a||null==b.return||b.return()}finally{if(f)throw l}}}return e}(n({},"__esModule",{value:!0}),u)}();
1
+ "use strict";function _define_property(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _object_spread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){_define_property(e,t,n[t])})}return e}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}var Destination=function(){var e=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)},t=function(e){return _object_spread({window:"undefined"!=typeof window?window:globalThis.window,document:"undefined"!=typeof document?document:globalThis.document},e)},n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,c={};!function(e,t){for(var r in t)n(e,r,{get:t[r],enumerable:!0})}(c,{DestinationMeta:function(){return d},default:function(){return s},destinationMeta:function(){return p}});var u=Object.defineProperty;!function(e,t){for(var n in t)u(e,n,{get:t[n],enumerable:!0})}({},{Level:function(){return l}});var a,f,l=((a=l||{})[a.ERROR=0]="ERROR",a[a.INFO=1]="INFO",a[a.DEBUG=2]="DEBUG",a),d={},p={type:"meta-pixel",config:{},init:function(e){var n=e.config,r=e.env,o=e.logger,i=n.settings,c=n.loadScript,u=(i||{}).pixelId;c&&function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"https://connect.facebook.net/en_US/fbevents.js",r=t(e).document,o=r.createElement("script");o.src=n,o.async=!0,r.head.appendChild(o)}(r),u||o.throw("Config settings pixelId missing"),function(e){var n=t(e).window;if(!n.fbq){var r=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.callMethod?r.callMethod.apply(r,t):r.queue.push(t)};n.fbq=r,n._fbq||(n._fbq=r),r.push=r,r.loaded=!0,r.version="2.0",r.queue=[]}}(r),(0,t(r).window.fbq)("init",u)},push:function(n,r){r.config;var o=r.mapping,i=void 0===o?{}:o,c=r.data,u=r.env,a=i.settings||{},f=a.track,l=a.trackCustom,d=t(u).window.fbq;"page view"!==n.name||i.settings||(n.name="PageView");var p=f||l||n.name;d(l?"trackCustom":"track",String(p),e(c)?c:{},{eventID:n.id})}},s=p;return f=c,function(e,t,c,u){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var a=!0,f=!1,l=void 0;try{for(var d,p=function(){var o=d.value;i.call(e,o)||o===c||n(e,o,{get:function(){return t[o]},enumerable:!(u=r(t,o))||u.enumerable})},s=o(t)[Symbol.iterator]();!(a=(d=s.next()).done);a=!0)p()}catch(e){f=!0,l=e}finally{try{a||null==s.return||s.return()}finally{if(f)throw l}}}return e}(n({},"__esModule",{value:!0}),f)}();
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,c={};((e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:!0})})(c,{DestinationMeta:()=>u,default:()=>f,destinationMeta:()=>p}),module.exports=(e=c,((e,c,i,a)=>{if(c&&"object"==typeof c||"function"==typeof c)for(let s of o(c))r.call(e,s)||s===i||t(e,s,{get:()=>c[s],enumerable:!(a=n(c,s))||a.enumerable});return e})(t({},"__esModule",{value:!0}),e));var i=require("@walkeros/web-core");function a(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}var s=require("@walkeros/web-core"),u={},p={type:"meta-pixel",config:{},init({config:e,env:t}){const{settings:n,loadScript:o}=e,{pixelId:r}=n||{};if(o&&function(e,t="https://connect.facebook.net/en_US/fbevents.js"){const{document:n}=(0,i.getEnv)(e),o=n.createElement("script");o.src=t,o.async=!0,n.head.appendChild(o)}(t),!r)return!1;!function(e){const{window:t}=(0,i.getEnv)(e),n=t;if(n.fbq)return;const o=function(...e){o.callMethod?o.callMethod.apply(o,e):o.queue.push(e)};n.fbq=o,n._fbq||(n._fbq=o),o.push=o,o.loaded=!0,o.version="2.0",o.queue=[]}(t);const{window:c}=(0,s.getEnv)(t);(0,c.fbq)("init",r)},push(e,{config:t,mapping:n={},data:o,env:r}){const{track:c,trackCustom:i}=n.settings||{},{window:u}=(0,s.getEnv)(r),p=u.fbq;"page view"!==e.name||n.settings||(e.name="PageView");const f=c||i||e.name;p(i?"trackCustom":"track",String(f),a(o)?o:{},{eventID:e.id})}},f=p;//# sourceMappingURL=index.js.map
1
+ "use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,i={};((e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:!0})})(i,{DestinationMeta:()=>f,default:()=>b,destinationMeta:()=>g}),module.exports=(e=i,((e,i,a,c)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let s of o(i))r.call(e,s)||s===a||t(e,s,{get:()=>i[s],enumerable:!(c=n(i,s))||c.enumerable});return e})(t({},"__esModule",{value:!0}),e));var a=require("@walkeros/web-core");var c=Object.defineProperty;((e,t)=>{for(var n in t)c(e,n,{get:t[n],enumerable:!0})})({},{Level:()=>u});var s,u=((s=u||{})[s.ERROR=0]="ERROR",s[s.INFO=1]="INFO",s[s.DEBUG=2]="DEBUG",s);function l(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}var p=require("@walkeros/web-core"),f={},g={type:"meta-pixel",config:{},init({config:e,env:t,logger:n}){const{settings:o,loadScript:r}=e,{pixelId:i}=o||{};r&&function(e,t="https://connect.facebook.net/en_US/fbevents.js"){const{document:n}=(0,a.getEnv)(e),o=n.createElement("script");o.src=t,o.async=!0,n.head.appendChild(o)}(t),i||n.throw("Config settings pixelId missing"),function(e){const{window:t}=(0,a.getEnv)(e),n=t;if(n.fbq)return;const o=function(...e){o.callMethod?o.callMethod.apply(o,e):o.queue.push(e)};n.fbq=o,n._fbq||(n._fbq=o),o.push=o,o.loaded=!0,o.version="2.0",o.queue=[]}(t);const{window:c}=(0,p.getEnv)(t);(0,c.fbq)("init",i)},push(e,{config:t,mapping:n={},data:o,env:r}){const{track:i,trackCustom:a}=n.settings||{},{window:c}=(0,p.getEnv)(r),s=c.fbq;"page view"!==e.name||n.settings||(e.name="PageView");const u=i||a||e.name;s(a?"trackCustom":"track",String(u),l(o)?o:{},{eventID:e.id})}},b=g;//# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/setup.ts","../src/types/index.ts"],"sourcesContent":["import type { Settings, Destination } from './types';\nimport { addScript, setup } from './setup';\nimport { isObject } from '@walkeros/core';\nimport { getEnv } from '@walkeros/web-core';\n\n// Types\nexport * as DestinationMeta from './types';\n\nexport const destinationMeta: Destination = {\n type: 'meta-pixel',\n\n config: {},\n\n init({ config, env }) {\n const { settings, loadScript } = config;\n const { pixelId } = settings || {};\n\n // Load Meta Pixel script if required (fbevents.js)\n if (loadScript) addScript(env);\n\n // Required pixel id\n if (!pixelId) return false;\n\n // fbq function setup\n setup(env);\n\n const { window } = getEnv(env);\n const fbq = window.fbq as facebook.Pixel.Event;\n fbq('init', pixelId);\n },\n\n push(event, { config, mapping = {}, data, env }) {\n const { track, trackCustom } = mapping.settings || {};\n const { window } = getEnv(env);\n const fbq = window.fbq as facebook.Pixel.Event;\n\n // page view\n if (event.name === 'page view' && !mapping.settings) {\n // Define a custom mapping\n event.name = 'PageView';\n }\n\n const eventName = track || trackCustom || event.name;\n\n fbq(\n trackCustom ? 'trackCustom' : 'track',\n String(eventName),\n isObject(data) ? data : {},\n { eventID: event.id },\n );\n },\n};\n\nexport default destinationMeta;\n","import type { DestinationWeb } from '@walkeros/web-core';\nimport { getEnv } from '@walkeros/web-core';\n\nexport function addScript(\n env?: DestinationWeb.Env,\n src = 'https://connect.facebook.net/en_US/fbevents.js',\n) {\n const { document } = getEnv(env);\n const script = (document as Document).createElement('script');\n script.src = src;\n script.async = true;\n (document as Document).head.appendChild(script);\n}\n\ninterface FBQFunction {\n (...args: unknown[]): void;\n callMethod?: (this: FBQFunction, ...args: unknown[]) => void;\n queue: unknown[];\n push: FBQFunction;\n loaded: boolean;\n version: string;\n}\n\nexport function setup(env?: DestinationWeb.Env) {\n const { window } = getEnv(env);\n const w = window as unknown as {\n fbq?: FBQFunction;\n _fbq?: FBQFunction;\n };\n if (w.fbq as unknown) return;\n\n const n = function (...args: unknown[]): void {\n n.callMethod ? n.callMethod.apply(n, args) : n.queue.push(args);\n } as FBQFunction;\n\n w.fbq = n;\n if (!w._fbq) w._fbq = n;\n n.push = n;\n n.loaded = true;\n n.version = '2.0';\n n.queue = [];\n}\n","import type {\n Mapping as WalkerOSMapping,\n Destination as CoreDestination,\n} from '@walkeros/core';\nimport type { DestinationWeb } from '@walkeros/web-core';\n\ndeclare global {\n interface Window {\n _fbq?: facebook.Pixel.Event;\n fbq?: facebook.Pixel.Event;\n }\n}\n\nexport interface Settings {\n pixelId: string;\n}\n\nexport interface Mapping {\n track?: StandardEventNames;\n trackCustom?: string;\n}\n\nexport interface Env extends DestinationWeb.Env {\n window: {\n fbq: facebook.Pixel.Event;\n _fbq?: facebook.Pixel.Event;\n };\n document: {\n createElement: (tagName: string) => Element;\n head: { appendChild: (node: unknown) => void };\n };\n}\n\nexport type Types = CoreDestination.Types<Settings, Mapping, Env>;\n\nexport type Destination = DestinationWeb.Destination<Types>;\nexport type Config = DestinationWeb.Config<Types>;\n\nexport type Rule = WalkerOSMapping.Rule<Mapping>;\nexport type Rules = WalkerOSMapping.Rules<Rule>;\n\nexport type StandardEventNames =\n | 'PageView'\n | 'AddPaymentInfo'\n | 'AddToCart'\n | 'AddToWishlist'\n | 'CompleteRegistration'\n | 'Contact'\n | 'CustomizeProduct'\n | 'Donate'\n | 'FindLocation'\n | 'InitiateCheckout'\n | 'Lead'\n | 'Purchase'\n | 'Schedule'\n | 'Search'\n | 'StartTrial'\n | 'SubmitApplication'\n | 'Subscribe'\n | 'ViewContent'\n | string;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,sBAAuB;AAEhB,SAAS,UACd,KACA,MAAM,kDACN;AACA,QAAM,EAAE,UAAAA,UAAS,QAAI,wBAAO,GAAG;AAC/B,QAAM,SAAUA,UAAsB,cAAc,QAAQ;AAC5D,SAAO,MAAM;AACb,SAAO,QAAQ;AACf,EAACA,UAAsB,KAAK,YAAY,MAAM;AAChD;AAWO,SAAS,MAAM,KAA0B;AAC9C,QAAM,EAAE,OAAO,QAAI,wBAAO,GAAG;AAC7B,QAAM,IAAI;AAIV,MAAI,EAAE,IAAgB;AAEtB,QAAM,IAAI,YAAa,MAAuB;AAC5C,MAAE,aAAa,EAAE,WAAW,MAAM,GAAG,IAAI,IAAI,EAAE,MAAM,KAAK,IAAI;AAAA,EAChE;AAEA,IAAE,MAAM;AACR,MAAI,CAAC,EAAE,KAAM,GAAE,OAAO;AACtB,IAAE,OAAO;AACT,IAAE,SAAS;AACX,IAAE,UAAU;AACZ,IAAE,QAAQ,CAAC;AACb;A;;;;;;;;;;ADtCA,IAAAC,mBAAuB;;;AEHvB;;;AFQO,IAAM,kBAA+B;AAAA,EAC1C,MAAM;AAAA,EAEN,QAAQ,CAAC;AAAA,EAET,KAAK,EAAE,QAAQ,IAAI,GAAG;AACpB,UAAM,EAAE,UAAU,WAAW,IAAI;AACjC,UAAM,EAAE,QAAQ,IAAI,YAAY,CAAC;AAGjC,QAAI,WAAY,WAAU,GAAG;AAG7B,QAAI,CAAC,QAAS,QAAO;AAGrB,UAAM,GAAG;AAET,UAAM,EAAE,OAAO,QAAI,yBAAO,GAAG;AAC7B,UAAM,MAAM,OAAO;AACnB,QAAI,QAAQ,OAAO;AAAA,EACrB;AAAA,EAEA,KAAK,OAAO,EAAE,QAAQ,UAAU,CAAC,GAAG,MAAM,IAAI,GAAG;AAC/C,UAAM,EAAE,OAAO,YAAY,IAAI,QAAQ,YAAY,CAAC;AACpD,UAAM,EAAE,OAAO,QAAI,yBAAO,GAAG;AAC7B,UAAM,MAAM,OAAO;AAGnB,QAAI,MAAM,SAAS,eAAe,CAAC,QAAQ,UAAU;AAEnD,YAAM,OAAO;AAAA,IACf;AAEA,UAAM,YAAY,SAAS,eAAe,MAAM;AAEhD;AAAA,MACE,cAAc,gBAAgB;AAAA,MAC9B,OAAO,SAAS;AAAA,MAChB,EAAS,IAAI,IAAI,OAAO,CAAC;AAAA,MACzB,EAAE,SAAS,MAAM,GAAG;AAAA,IACtB;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ;","names":["document","import_web_core"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/setup.ts","../src/types/index.ts"],"sourcesContent":["import type { Settings, Destination } from './types';\nimport { addScript, setup } from './setup';\nimport { isObject } from '@walkeros/core';\nimport { getEnv } from '@walkeros/web-core';\n\n// Types\nexport * as DestinationMeta from './types';\n\nexport const destinationMeta: Destination = {\n type: 'meta-pixel',\n\n config: {},\n\n init({ config, env, logger }) {\n const { settings, loadScript } = config;\n const { pixelId } = settings || {};\n\n // Load Meta Pixel script if required (fbevents.js)\n if (loadScript) addScript(env);\n\n // Required pixel id\n if (!pixelId) logger.throw('Config settings pixelId missing');\n\n // fbq function setup\n setup(env);\n\n const { window } = getEnv(env);\n const fbq = window.fbq as facebook.Pixel.Event;\n fbq('init', pixelId!);\n },\n\n push(event, { config, mapping = {}, data, env }) {\n const { track, trackCustom } = mapping.settings || {};\n const { window } = getEnv(env);\n const fbq = window.fbq as facebook.Pixel.Event;\n\n // page view\n if (event.name === 'page view' && !mapping.settings) {\n // Define a custom mapping\n event.name = 'PageView';\n }\n\n const eventName = track || trackCustom || event.name;\n\n fbq(\n trackCustom ? 'trackCustom' : 'track',\n String(eventName),\n isObject(data) ? data : {},\n { eventID: event.id },\n );\n },\n};\n\nexport default destinationMeta;\n","import type { DestinationWeb } from '@walkeros/web-core';\nimport { getEnv } from '@walkeros/web-core';\n\nexport function addScript(\n env?: DestinationWeb.Env,\n src = 'https://connect.facebook.net/en_US/fbevents.js',\n) {\n const { document } = getEnv(env);\n const script = (document as Document).createElement('script');\n script.src = src;\n script.async = true;\n (document as Document).head.appendChild(script);\n}\n\ninterface FBQFunction {\n (...args: unknown[]): void;\n callMethod?: (this: FBQFunction, ...args: unknown[]) => void;\n queue: unknown[];\n push: FBQFunction;\n loaded: boolean;\n version: string;\n}\n\nexport function setup(env?: DestinationWeb.Env) {\n const { window } = getEnv(env);\n const w = window as unknown as {\n fbq?: FBQFunction;\n _fbq?: FBQFunction;\n };\n if (w.fbq as unknown) return;\n\n const n = function (...args: unknown[]): void {\n n.callMethod ? n.callMethod.apply(n, args) : n.queue.push(args);\n } as FBQFunction;\n\n w.fbq = n;\n if (!w._fbq) w._fbq = n;\n n.push = n;\n n.loaded = true;\n n.version = '2.0';\n n.queue = [];\n}\n","import type {\n Mapping as WalkerOSMapping,\n Destination as CoreDestination,\n} from '@walkeros/core';\nimport type { DestinationWeb } from '@walkeros/web-core';\n\ndeclare global {\n interface Window {\n _fbq?: facebook.Pixel.Event;\n fbq?: facebook.Pixel.Event;\n }\n}\n\nexport interface Settings {\n pixelId: string;\n}\n\nexport type InitSettings = Partial<Settings>;\n\nexport interface Mapping {\n track?: StandardEventNames;\n trackCustom?: string;\n}\n\nexport interface Env extends DestinationWeb.Env {\n window: {\n fbq: facebook.Pixel.Event;\n _fbq?: facebook.Pixel.Event;\n };\n document: {\n createElement: (tagName: string) => Element;\n head: { appendChild: (node: unknown) => void };\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 type Rule = WalkerOSMapping.Rule<Mapping>;\nexport type Rules = WalkerOSMapping.Rules<Rule>;\n\nexport type StandardEventNames =\n | 'PageView'\n | 'AddPaymentInfo'\n | 'AddToCart'\n | 'AddToWishlist'\n | 'CompleteRegistration'\n | 'Contact'\n | 'CustomizeProduct'\n | 'Donate'\n | 'FindLocation'\n | 'InitiateCheckout'\n | 'Lead'\n | 'Purchase'\n | 'Schedule'\n | 'Search'\n | 'StartTrial'\n | 'SubmitApplication'\n | 'Subscribe'\n | 'ViewContent'\n | string;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,sBAAuB;AAEhB,SAAS,UACd,KACA,MAAM,kDACN;AACA,QAAM,EAAE,UAAAA,UAAS,QAAI,wBAAO,GAAG;AAC/B,QAAM,SAAUA,UAAsB,cAAc,QAAQ;AAC5D,SAAO,MAAM;AACb,SAAO,QAAQ;AACf,EAACA,UAAsB,KAAK,YAAY,MAAM;AAChD;AAWO,SAAS,MAAM,KAA0B;AAC9C,QAAM,EAAE,OAAO,QAAI,wBAAO,GAAG;AAC7B,QAAM,IAAI;AAIV,MAAI,EAAE,IAAgB;AAEtB,QAAM,IAAI,YAAa,MAAuB;AAC5C,MAAE,aAAa,EAAE,WAAW,MAAM,GAAG,IAAI,IAAI,EAAE,MAAM,KAAK,IAAI;AAAA,EAChE;AAEA,IAAE,MAAM;AACR,MAAI,CAAC,EAAE,KAAM,GAAE,OAAO;AACtB,IAAE,OAAO;AACT,IAAE,SAAS;AACX,IAAE,UAAU;AACZ,IAAE,QAAQ,CAAC;AACb;A;;;;;;;;;;;;;;;;ADtCA,IAAAC,mBAAuB;;;AEHvB;;;AFQO,IAAM,kBAA+B;AAAA,EAC1C,MAAM;AAAA,EAEN,QAAQ,CAAC;AAAA,EAET,KAAK,EAAE,QAAQ,KAAK,OAAO,GAAG;AAC5B,UAAM,EAAE,UAAU,WAAW,IAAI;AACjC,UAAM,EAAE,QAAQ,IAAI,YAAY,CAAC;AAGjC,QAAI,WAAY,WAAU,GAAG;AAG7B,QAAI,CAAC,QAAS,QAAO,MAAM,iCAAiC;AAG5D,UAAM,GAAG;AAET,UAAM,EAAE,OAAO,QAAI,yBAAO,GAAG;AAC7B,UAAM,MAAM,OAAO;AACnB,QAAI,QAAQ,OAAQ;AAAA,EACtB;AAAA,EAEA,KAAK,OAAO,EAAE,QAAQ,UAAU,CAAC,GAAG,MAAM,IAAI,GAAG;AAC/C,UAAM,EAAE,OAAO,YAAY,IAAI,QAAQ,YAAY,CAAC;AACpD,UAAM,EAAE,OAAO,QAAI,yBAAO,GAAG;AAC7B,UAAM,MAAM,OAAO;AAGnB,QAAI,MAAM,SAAS,eAAe,CAAC,QAAQ,UAAU;AAEnD,YAAM,OAAO;AAAA,IACf;AAEA,UAAM,YAAY,SAAS,eAAe,MAAM;AAEhD;AAAA,MACE,cAAc,gBAAgB;AAAA,MAC9B,OAAO,SAAS;AAAA,MAChB,EAAS,IAAI,IAAI,OAAO,CAAC;AAAA,MACzB,EAAE,SAAS,MAAM,GAAG;AAAA,IACtB;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ;","names":["document","import_web_core"]}
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{getEnv as t}from"@walkeros/web-core";function e(t){return"object"==typeof t&&null!==t&&!function(t){return Array.isArray(t)}(t)&&"[object Object]"===Object.prototype.toString.call(t)}import{getEnv as n}from"@walkeros/web-core";var o={},c={type:"meta-pixel",config:{},init({config:e,env:o}){const{settings:c,loadScript:i}=e,{pixelId:a}=c||{};if(i&&function(e,n="https://connect.facebook.net/en_US/fbevents.js"){const{document:o}=t(e),c=o.createElement("script");c.src=n,c.async=!0,o.head.appendChild(c)}(o),!a)return!1;!function(e){const{window:n}=t(e),o=n;if(o.fbq)return;const c=function(...t){c.callMethod?c.callMethod.apply(c,t):c.queue.push(t)};o.fbq=c,o._fbq||(o._fbq=c),c.push=c,c.loaded=!0,c.version="2.0",c.queue=[]}(o);const{window:r}=n(o);(0,r.fbq)("init",a)},push(t,{config:o,mapping:c={},data:i,env:a}){const{track:r,trackCustom:s}=c.settings||{},{window:f}=n(a),p=f.fbq;"page view"!==t.name||c.settings||(t.name="PageView");const u=r||s||t.name;p(s?"trackCustom":"track",String(u),e(i)?i:{},{eventID:t.id})}},i=c;export{o as DestinationMeta,i as default,c as destinationMeta};//# sourceMappingURL=index.mjs.map
1
+ import{getEnv as e}from"@walkeros/web-core";var t=Object.defineProperty;((e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:!0})})({},{Level:()=>o});var n,o=((n=o||{})[n.ERROR=0]="ERROR",n[n.INFO=1]="INFO",n[n.DEBUG=2]="DEBUG",n);function i(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}import{getEnv as r}from"@walkeros/web-core";var a={},c={type:"meta-pixel",config:{},init({config:t,env:n,logger:o}){const{settings:i,loadScript:a}=t,{pixelId:c}=i||{};a&&function(t,n="https://connect.facebook.net/en_US/fbevents.js"){const{document:o}=e(t),i=o.createElement("script");i.src=n,i.async=!0,o.head.appendChild(i)}(n),c||o.throw("Config settings pixelId missing"),function(t){const{window:n}=e(t),o=n;if(o.fbq)return;const i=function(...e){i.callMethod?i.callMethod.apply(i,e):i.queue.push(e)};o.fbq=i,o._fbq||(o._fbq=i),i.push=i,i.loaded=!0,i.version="2.0",i.queue=[]}(n);const{window:s}=r(n);(0,s.fbq)("init",c)},push(e,{config:t,mapping:n={},data:o,env:a}){const{track:c,trackCustom:s}=n.settings||{},{window:f}=r(a),p=f.fbq;"page view"!==e.name||n.settings||(e.name="PageView");const l=c||s||e.name;p(s?"trackCustom":"track",String(l),i(o)?o:{},{eventID:e.id})}},s=c;export{a as DestinationMeta,s as default,c as destinationMeta};//# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/setup.ts","../src/index.ts","../src/types/index.ts"],"sourcesContent":["import type { DestinationWeb } from '@walkeros/web-core';\nimport { getEnv } from '@walkeros/web-core';\n\nexport function addScript(\n env?: DestinationWeb.Env,\n src = 'https://connect.facebook.net/en_US/fbevents.js',\n) {\n const { document } = getEnv(env);\n const script = (document as Document).createElement('script');\n script.src = src;\n script.async = true;\n (document as Document).head.appendChild(script);\n}\n\ninterface FBQFunction {\n (...args: unknown[]): void;\n callMethod?: (this: FBQFunction, ...args: unknown[]) => void;\n queue: unknown[];\n push: FBQFunction;\n loaded: boolean;\n version: string;\n}\n\nexport function setup(env?: DestinationWeb.Env) {\n const { window } = getEnv(env);\n const w = window as unknown as {\n fbq?: FBQFunction;\n _fbq?: FBQFunction;\n };\n if (w.fbq as unknown) return;\n\n const n = function (...args: unknown[]): void {\n n.callMethod ? n.callMethod.apply(n, args) : n.queue.push(args);\n } as FBQFunction;\n\n w.fbq = n;\n if (!w._fbq) w._fbq = n;\n n.push = n;\n n.loaded = true;\n n.version = '2.0';\n n.queue = [];\n}\n","import type { Settings, Destination } from './types';\nimport { addScript, setup } from './setup';\nimport { isObject } from '@walkeros/core';\nimport { getEnv } from '@walkeros/web-core';\n\n// Types\nexport * as DestinationMeta from './types';\n\nexport const destinationMeta: Destination = {\n type: 'meta-pixel',\n\n config: {},\n\n init({ config, env }) {\n const { settings, loadScript } = config;\n const { pixelId } = settings || {};\n\n // Load Meta Pixel script if required (fbevents.js)\n if (loadScript) addScript(env);\n\n // Required pixel id\n if (!pixelId) return false;\n\n // fbq function setup\n setup(env);\n\n const { window } = getEnv(env);\n const fbq = window.fbq as facebook.Pixel.Event;\n fbq('init', pixelId);\n },\n\n push(event, { config, mapping = {}, data, env }) {\n const { track, trackCustom } = mapping.settings || {};\n const { window } = getEnv(env);\n const fbq = window.fbq as facebook.Pixel.Event;\n\n // page view\n if (event.name === 'page view' && !mapping.settings) {\n // Define a custom mapping\n event.name = 'PageView';\n }\n\n const eventName = track || trackCustom || event.name;\n\n fbq(\n trackCustom ? 'trackCustom' : 'track',\n String(eventName),\n isObject(data) ? data : {},\n { eventID: event.id },\n );\n },\n};\n\nexport default destinationMeta;\n","import type {\n Mapping as WalkerOSMapping,\n Destination as CoreDestination,\n} from '@walkeros/core';\nimport type { DestinationWeb } from '@walkeros/web-core';\n\ndeclare global {\n interface Window {\n _fbq?: facebook.Pixel.Event;\n fbq?: facebook.Pixel.Event;\n }\n}\n\nexport interface Settings {\n pixelId: string;\n}\n\nexport interface Mapping {\n track?: StandardEventNames;\n trackCustom?: string;\n}\n\nexport interface Env extends DestinationWeb.Env {\n window: {\n fbq: facebook.Pixel.Event;\n _fbq?: facebook.Pixel.Event;\n };\n document: {\n createElement: (tagName: string) => Element;\n head: { appendChild: (node: unknown) => void };\n };\n}\n\nexport type Types = CoreDestination.Types<Settings, Mapping, Env>;\n\nexport type Destination = DestinationWeb.Destination<Types>;\nexport type Config = DestinationWeb.Config<Types>;\n\nexport type Rule = WalkerOSMapping.Rule<Mapping>;\nexport type Rules = WalkerOSMapping.Rules<Rule>;\n\nexport type StandardEventNames =\n | 'PageView'\n | 'AddPaymentInfo'\n | 'AddToCart'\n | 'AddToWishlist'\n | 'CompleteRegistration'\n | 'Contact'\n | 'CustomizeProduct'\n | 'Donate'\n | 'FindLocation'\n | 'InitiateCheckout'\n | 'Lead'\n | 'Purchase'\n | 'Schedule'\n | 'Search'\n | 'StartTrial'\n | 'SubmitApplication'\n | 'Subscribe'\n | 'ViewContent'\n | string;\n"],"mappings":";AACA,SAAS,cAAc;AAEhB,SAAS,UACd,KACA,MAAM,kDACN;AACA,QAAM,EAAE,UAAAA,UAAS,IAAI,OAAO,GAAG;AAC/B,QAAM,SAAUA,UAAsB,cAAc,QAAQ;AAC5D,SAAO,MAAM;AACb,SAAO,QAAQ;AACf,EAACA,UAAsB,KAAK,YAAY,MAAM;AAChD;AAWO,SAAS,MAAM,KAA0B;AAC9C,QAAM,EAAE,OAAO,IAAI,OAAO,GAAG;AAC7B,QAAM,IAAI;AAIV,MAAI,EAAE,IAAgB;AAEtB,QAAM,IAAI,YAAa,MAAuB;AAC5C,MAAE,aAAa,EAAE,WAAW,MAAM,GAAG,IAAI,IAAI,EAAE,MAAM,KAAK,IAAI;AAAA,EAChE;AAEA,IAAE,MAAM;AACR,MAAI,CAAC,EAAE,KAAM,GAAE,OAAO;AACtB,IAAE,OAAO;AACT,IAAE,SAAS;AACX,IAAE,UAAU;AACZ,IAAE,QAAQ,CAAC;AACb;A;;;;;;;;;;ACtCA,SAAS,UAAAC,eAAc;;;ACHvB;;;ADQO,IAAM,kBAA+B;AAAA,EAC1C,MAAM;AAAA,EAEN,QAAQ,CAAC;AAAA,EAET,KAAK,EAAE,QAAQ,IAAI,GAAG;AACpB,UAAM,EAAE,UAAU,WAAW,IAAI;AACjC,UAAM,EAAE,QAAQ,IAAI,YAAY,CAAC;AAGjC,QAAI,WAAY,WAAU,GAAG;AAG7B,QAAI,CAAC,QAAS,QAAO;AAGrB,UAAM,GAAG;AAET,UAAM,EAAE,OAAO,IAAIC,QAAO,GAAG;AAC7B,UAAM,MAAM,OAAO;AACnB,QAAI,QAAQ,OAAO;AAAA,EACrB;AAAA,EAEA,KAAK,OAAO,EAAE,QAAQ,UAAU,CAAC,GAAG,MAAM,IAAI,GAAG;AAC/C,UAAM,EAAE,OAAO,YAAY,IAAI,QAAQ,YAAY,CAAC;AACpD,UAAM,EAAE,OAAO,IAAIA,QAAO,GAAG;AAC7B,UAAM,MAAM,OAAO;AAGnB,QAAI,MAAM,SAAS,eAAe,CAAC,QAAQ,UAAU;AAEnD,YAAM,OAAO;AAAA,IACf;AAEA,UAAM,YAAY,SAAS,eAAe,MAAM;AAEhD;AAAA,MACE,cAAc,gBAAgB;AAAA,MAC9B,OAAO,SAAS;AAAA,MAChB,EAAS,IAAI,IAAI,OAAO,CAAC;AAAA,MACzB,EAAE,SAAS,MAAM,GAAG;AAAA,IACtB;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ;","names":["document","getEnv","getEnv"]}
1
+ {"version":3,"sources":["../src/setup.ts","../src/index.ts","../src/types/index.ts"],"sourcesContent":["import type { DestinationWeb } from '@walkeros/web-core';\nimport { getEnv } from '@walkeros/web-core';\n\nexport function addScript(\n env?: DestinationWeb.Env,\n src = 'https://connect.facebook.net/en_US/fbevents.js',\n) {\n const { document } = getEnv(env);\n const script = (document as Document).createElement('script');\n script.src = src;\n script.async = true;\n (document as Document).head.appendChild(script);\n}\n\ninterface FBQFunction {\n (...args: unknown[]): void;\n callMethod?: (this: FBQFunction, ...args: unknown[]) => void;\n queue: unknown[];\n push: FBQFunction;\n loaded: boolean;\n version: string;\n}\n\nexport function setup(env?: DestinationWeb.Env) {\n const { window } = getEnv(env);\n const w = window as unknown as {\n fbq?: FBQFunction;\n _fbq?: FBQFunction;\n };\n if (w.fbq as unknown) return;\n\n const n = function (...args: unknown[]): void {\n n.callMethod ? n.callMethod.apply(n, args) : n.queue.push(args);\n } as FBQFunction;\n\n w.fbq = n;\n if (!w._fbq) w._fbq = n;\n n.push = n;\n n.loaded = true;\n n.version = '2.0';\n n.queue = [];\n}\n","import type { Settings, Destination } from './types';\nimport { addScript, setup } from './setup';\nimport { isObject } from '@walkeros/core';\nimport { getEnv } from '@walkeros/web-core';\n\n// Types\nexport * as DestinationMeta from './types';\n\nexport const destinationMeta: Destination = {\n type: 'meta-pixel',\n\n config: {},\n\n init({ config, env, logger }) {\n const { settings, loadScript } = config;\n const { pixelId } = settings || {};\n\n // Load Meta Pixel script if required (fbevents.js)\n if (loadScript) addScript(env);\n\n // Required pixel id\n if (!pixelId) logger.throw('Config settings pixelId missing');\n\n // fbq function setup\n setup(env);\n\n const { window } = getEnv(env);\n const fbq = window.fbq as facebook.Pixel.Event;\n fbq('init', pixelId!);\n },\n\n push(event, { config, mapping = {}, data, env }) {\n const { track, trackCustom } = mapping.settings || {};\n const { window } = getEnv(env);\n const fbq = window.fbq as facebook.Pixel.Event;\n\n // page view\n if (event.name === 'page view' && !mapping.settings) {\n // Define a custom mapping\n event.name = 'PageView';\n }\n\n const eventName = track || trackCustom || event.name;\n\n fbq(\n trackCustom ? 'trackCustom' : 'track',\n String(eventName),\n isObject(data) ? data : {},\n { eventID: event.id },\n );\n },\n};\n\nexport default destinationMeta;\n","import type {\n Mapping as WalkerOSMapping,\n Destination as CoreDestination,\n} from '@walkeros/core';\nimport type { DestinationWeb } from '@walkeros/web-core';\n\ndeclare global {\n interface Window {\n _fbq?: facebook.Pixel.Event;\n fbq?: facebook.Pixel.Event;\n }\n}\n\nexport interface Settings {\n pixelId: string;\n}\n\nexport type InitSettings = Partial<Settings>;\n\nexport interface Mapping {\n track?: StandardEventNames;\n trackCustom?: string;\n}\n\nexport interface Env extends DestinationWeb.Env {\n window: {\n fbq: facebook.Pixel.Event;\n _fbq?: facebook.Pixel.Event;\n };\n document: {\n createElement: (tagName: string) => Element;\n head: { appendChild: (node: unknown) => void };\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 type Rule = WalkerOSMapping.Rule<Mapping>;\nexport type Rules = WalkerOSMapping.Rules<Rule>;\n\nexport type StandardEventNames =\n | 'PageView'\n | 'AddPaymentInfo'\n | 'AddToCart'\n | 'AddToWishlist'\n | 'CompleteRegistration'\n | 'Contact'\n | 'CustomizeProduct'\n | 'Donate'\n | 'FindLocation'\n | 'InitiateCheckout'\n | 'Lead'\n | 'Purchase'\n | 'Schedule'\n | 'Search'\n | 'StartTrial'\n | 'SubmitApplication'\n | 'Subscribe'\n | 'ViewContent'\n | string;\n"],"mappings":";AACA,SAAS,cAAc;AAEhB,SAAS,UACd,KACA,MAAM,kDACN;AACA,QAAM,EAAE,UAAAA,UAAS,IAAI,OAAO,GAAG;AAC/B,QAAM,SAAUA,UAAsB,cAAc,QAAQ;AAC5D,SAAO,MAAM;AACb,SAAO,QAAQ;AACf,EAACA,UAAsB,KAAK,YAAY,MAAM;AAChD;AAWO,SAAS,MAAM,KAA0B;AAC9C,QAAM,EAAE,OAAO,IAAI,OAAO,GAAG;AAC7B,QAAM,IAAI;AAIV,MAAI,EAAE,IAAgB;AAEtB,QAAM,IAAI,YAAa,MAAuB;AAC5C,MAAE,aAAa,EAAE,WAAW,MAAM,GAAG,IAAI,IAAI,EAAE,MAAM,KAAK,IAAI;AAAA,EAChE;AAEA,IAAE,MAAM;AACR,MAAI,CAAC,EAAE,KAAM,GAAE,OAAO;AACtB,IAAE,OAAO;AACT,IAAE,SAAS;AACX,IAAE,UAAU;AACZ,IAAE,QAAQ,CAAC;AACb;A;;;;;;;;;;;;;;;;ACtCA,SAAS,UAAAC,eAAc;;;ACHvB;;;ADQO,IAAM,kBAA+B;AAAA,EAC1C,MAAM;AAAA,EAEN,QAAQ,CAAC;AAAA,EAET,KAAK,EAAE,QAAQ,KAAK,OAAO,GAAG;AAC5B,UAAM,EAAE,UAAU,WAAW,IAAI;AACjC,UAAM,EAAE,QAAQ,IAAI,YAAY,CAAC;AAGjC,QAAI,WAAY,WAAU,GAAG;AAG7B,QAAI,CAAC,QAAS,QAAO,MAAM,iCAAiC;AAG5D,UAAM,GAAG;AAET,UAAM,EAAE,OAAO,IAAIC,QAAO,GAAG;AAC7B,UAAM,MAAM,OAAO;AACnB,QAAI,QAAQ,OAAQ;AAAA,EACtB;AAAA,EAEA,KAAK,OAAO,EAAE,QAAQ,UAAU,CAAC,GAAG,MAAM,IAAI,GAAG;AAC/C,UAAM,EAAE,OAAO,YAAY,IAAI,QAAQ,YAAY,CAAC;AACpD,UAAM,EAAE,OAAO,IAAIA,QAAO,GAAG;AAC7B,UAAM,MAAM,OAAO;AAGnB,QAAI,MAAM,SAAS,eAAe,CAAC,QAAQ,UAAU;AAEnD,YAAM,OAAO;AAAA,IACf;AAEA,UAAM,YAAY,SAAS,eAAe,MAAM;AAEhD;AAAA,MACE,cAAc,gBAAgB;AAAA,MAC9B,OAAO,SAAS;AAAA,MAChB,EAAS,IAAI,IAAI,OAAO,CAAC;AAAA,MACzB,EAAE,SAAS,MAAM,GAAG;AAAA,IACtB;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ;","names":["document","getEnv","getEnv"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@walkeros/web-destination-meta",
3
3
  "description": "Meta pixel web destination for walkerOS",
4
- "version": "0.4.0",
4
+ "version": "0.4.2",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.mjs",
@@ -35,7 +35,7 @@
35
35
  "update": "npx npm-check-updates -u && npm update"
36
36
  },
37
37
  "dependencies": {
38
- "@walkeros/web-core": "0.4.0"
38
+ "@walkeros/web-core": "0.4.2"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/facebook-pixel": "^0.0.31"