@adtrackify/at-tracking-event-types 1.0.8 → 1.0.10

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/.editorconfig CHANGED
@@ -1,12 +1,12 @@
1
- root = true
2
-
3
- [*]
4
- end_of_line = lf
5
- charset = utf-8
6
- trim_trailing_whitespace = true
7
- insert_final_newline = false
8
- indent_style = space
9
- indent_size = 2
10
-
11
- [*.{diff,md}]
12
- trim_trailing_whitespace = false
1
+ root = true
2
+
3
+ [*]
4
+ end_of_line = lf
5
+ charset = utf-8
6
+ trim_trailing_whitespace = true
7
+ insert_final_newline = false
8
+ indent_style = space
9
+ indent_size = 2
10
+
11
+ [*.{diff,md}]
12
+ trim_trailing_whitespace = false
package/dist/index.d.ts CHANGED
@@ -1 +1,2 @@
1
- export * from './types';
1
+ export * from './types';
2
+ export * from './utils';
package/dist/index.js CHANGED
@@ -1,18 +1,19 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./types"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types"), exports);
18
+ __exportStar(require("./utils"), exports);
18
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB"}
@@ -1,13 +1,13 @@
1
- import { TrackingEvent } from './tracking-event-type';
2
- export interface AdtrackifyEventBusEvent {
3
- eventId: string;
4
- eventType: string;
5
- eventTime: string;
6
- eventData?: object;
7
- }
8
- export interface AdtrackifyEventBusTrackingEvent extends AdtrackifyEventBusEvent {
9
- eventData: {
10
- trackingEvent: TrackingEvent;
11
- pixelId: string;
12
- };
13
- }
1
+ import { TrackingEvent } from './tracking-event-type';
2
+ export interface AdtrackifyEventBusEvent {
3
+ eventId: string;
4
+ eventType: string;
5
+ eventTime: string;
6
+ eventData?: object;
7
+ }
8
+ export interface AdtrackifyEventBusTrackingEvent extends AdtrackifyEventBusEvent {
9
+ eventData: {
10
+ trackingEvent: TrackingEvent;
11
+ pixelId: string;
12
+ };
13
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=adtrackify-event-bus-event.js.map
@@ -1,18 +1,18 @@
1
- export declare enum ADTRACKIFY_STANDARD_EVENT {
2
- ADD_PAYMENT_INFO = "add_payment_info",
3
- ADD_SHIPPING_INFO = "add_shipping_info",
4
- ADD_TO_CART = "add_to_cart",
5
- ADD_TO_WISHLIST = "add_to_wishlist",
6
- INITIATE_CHECKOUT = "initiate_checkout",
7
- LEAD = "lead",
8
- LOGIN = "login",
9
- PAGE_VIEW = "page_view",
10
- PURCHASE = "purchase",
11
- REFUND = "refund",
12
- SEARCH = "search",
13
- SIGN_UP = "sign_up",
14
- VIEW_CART = "view_cart",
15
- VIEW_CONTENT = "view_content",
16
- SELECT_SHIPPING_METHOD = "select_shipping_method",
17
- VIRTUALIZED_VIEWED_PAYMENT_FORM = "virtualized_viewd_payment_form"
18
- }
1
+ export declare enum ADTRACKIFY_STANDARD_EVENT {
2
+ ADD_PAYMENT_INFO = "add_payment_info",
3
+ ADD_SHIPPING_INFO = "add_shipping_info",
4
+ ADD_TO_CART = "add_to_cart",
5
+ ADD_TO_WISHLIST = "add_to_wishlist",
6
+ INITIATE_CHECKOUT = "initiate_checkout",
7
+ LEAD = "lead",
8
+ LOGIN = "login",
9
+ PAGE_VIEW = "page_view",
10
+ PURCHASE = "purchase",
11
+ REFUND = "refund",
12
+ SEARCH = "search",
13
+ SIGN_UP = "sign_up",
14
+ VIEW_CART = "view_cart",
15
+ VIEW_CONTENT = "view_content",
16
+ SELECT_SHIPPING_METHOD = "select_shipping_method",
17
+ VIRTUALIZED_VIEWED_PAYMENT_FORM = "virtualized_viewd_payment_form"
18
+ }
@@ -1,23 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ADTRACKIFY_STANDARD_EVENT = void 0;
4
- var ADTRACKIFY_STANDARD_EVENT;
5
- (function (ADTRACKIFY_STANDARD_EVENT) {
6
- ADTRACKIFY_STANDARD_EVENT["ADD_PAYMENT_INFO"] = "add_payment_info";
7
- ADTRACKIFY_STANDARD_EVENT["ADD_SHIPPING_INFO"] = "add_shipping_info";
8
- ADTRACKIFY_STANDARD_EVENT["ADD_TO_CART"] = "add_to_cart";
9
- ADTRACKIFY_STANDARD_EVENT["ADD_TO_WISHLIST"] = "add_to_wishlist";
10
- ADTRACKIFY_STANDARD_EVENT["INITIATE_CHECKOUT"] = "initiate_checkout";
11
- ADTRACKIFY_STANDARD_EVENT["LEAD"] = "lead";
12
- ADTRACKIFY_STANDARD_EVENT["LOGIN"] = "login";
13
- ADTRACKIFY_STANDARD_EVENT["PAGE_VIEW"] = "page_view";
14
- ADTRACKIFY_STANDARD_EVENT["PURCHASE"] = "purchase";
15
- ADTRACKIFY_STANDARD_EVENT["REFUND"] = "refund";
16
- ADTRACKIFY_STANDARD_EVENT["SEARCH"] = "search";
17
- ADTRACKIFY_STANDARD_EVENT["SIGN_UP"] = "sign_up";
18
- ADTRACKIFY_STANDARD_EVENT["VIEW_CART"] = "view_cart";
19
- ADTRACKIFY_STANDARD_EVENT["VIEW_CONTENT"] = "view_content";
20
- ADTRACKIFY_STANDARD_EVENT["SELECT_SHIPPING_METHOD"] = "select_shipping_method";
21
- ADTRACKIFY_STANDARD_EVENT["VIRTUALIZED_VIEWED_PAYMENT_FORM"] = "virtualized_viewd_payment_form";
22
- })(ADTRACKIFY_STANDARD_EVENT = exports.ADTRACKIFY_STANDARD_EVENT || (exports.ADTRACKIFY_STANDARD_EVENT = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ADTRACKIFY_STANDARD_EVENT = void 0;
4
+ var ADTRACKIFY_STANDARD_EVENT;
5
+ (function (ADTRACKIFY_STANDARD_EVENT) {
6
+ ADTRACKIFY_STANDARD_EVENT["ADD_PAYMENT_INFO"] = "add_payment_info";
7
+ ADTRACKIFY_STANDARD_EVENT["ADD_SHIPPING_INFO"] = "add_shipping_info";
8
+ ADTRACKIFY_STANDARD_EVENT["ADD_TO_CART"] = "add_to_cart";
9
+ ADTRACKIFY_STANDARD_EVENT["ADD_TO_WISHLIST"] = "add_to_wishlist";
10
+ ADTRACKIFY_STANDARD_EVENT["INITIATE_CHECKOUT"] = "initiate_checkout";
11
+ ADTRACKIFY_STANDARD_EVENT["LEAD"] = "lead";
12
+ ADTRACKIFY_STANDARD_EVENT["LOGIN"] = "login";
13
+ ADTRACKIFY_STANDARD_EVENT["PAGE_VIEW"] = "page_view";
14
+ ADTRACKIFY_STANDARD_EVENT["PURCHASE"] = "purchase";
15
+ ADTRACKIFY_STANDARD_EVENT["REFUND"] = "refund";
16
+ ADTRACKIFY_STANDARD_EVENT["SEARCH"] = "search";
17
+ ADTRACKIFY_STANDARD_EVENT["SIGN_UP"] = "sign_up";
18
+ ADTRACKIFY_STANDARD_EVENT["VIEW_CART"] = "view_cart";
19
+ ADTRACKIFY_STANDARD_EVENT["VIEW_CONTENT"] = "view_content";
20
+ ADTRACKIFY_STANDARD_EVENT["SELECT_SHIPPING_METHOD"] = "select_shipping_method";
21
+ ADTRACKIFY_STANDARD_EVENT["VIRTUALIZED_VIEWED_PAYMENT_FORM"] = "virtualized_viewd_payment_form";
22
+ })(ADTRACKIFY_STANDARD_EVENT = exports.ADTRACKIFY_STANDARD_EVENT || (exports.ADTRACKIFY_STANDARD_EVENT = {}));
23
23
  //# sourceMappingURL=adtrackify-standard-events.js.map
@@ -1,28 +1,28 @@
1
- export interface AdTrackifyDestination {
2
- id: string;
3
- accountId: string;
4
- pixelId: string;
5
- destination: string;
6
- displayName: string;
7
- configuration?: any;
8
- enabled: boolean;
9
- }
10
- export interface AdTrackifyFacebookDestination extends AdTrackifyDestination {
11
- configuration: {
12
- apiAccessToken: string;
13
- enableConversionAPI: boolean;
14
- pixelId: string;
15
- };
16
- }
17
- export declare enum ADTRACKIFY_DESTINATIONS {
18
- FACEBOOK = "facebook",
19
- GOOGLE_ANALYTICS_4 = "googleAnalytics4"
20
- }
21
- export interface FacebookPixelConfiguration {
22
- apiAccessToken?: string;
23
- enableConversionAPI: boolean;
24
- pixelId: string;
25
- }
26
- export interface GoogleAnalytics4Configuration {
27
- measurementId: string;
28
- }
1
+ export interface AdTrackifyDestination {
2
+ id: string;
3
+ accountId: string;
4
+ pixelId: string;
5
+ destination: string;
6
+ displayName: string;
7
+ configuration?: any;
8
+ enabled: boolean;
9
+ }
10
+ export interface AdTrackifyFacebookDestination extends AdTrackifyDestination {
11
+ configuration: {
12
+ apiAccessToken: string;
13
+ enableConversionAPI: boolean;
14
+ pixelId: string;
15
+ };
16
+ }
17
+ export declare enum ADTRACKIFY_DESTINATIONS {
18
+ FACEBOOK = "facebook",
19
+ GOOGLE_ANALYTICS_4 = "googleAnalytics4"
20
+ }
21
+ export interface FacebookPixelConfiguration {
22
+ apiAccessToken?: string;
23
+ enableConversionAPI: boolean;
24
+ pixelId: string;
25
+ }
26
+ export interface GoogleAnalytics4Configuration {
27
+ measurementId: string;
28
+ }
@@ -1,9 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ADTRACKIFY_DESTINATIONS = void 0;
4
- var ADTRACKIFY_DESTINATIONS;
5
- (function (ADTRACKIFY_DESTINATIONS) {
6
- ADTRACKIFY_DESTINATIONS["FACEBOOK"] = "facebook";
7
- ADTRACKIFY_DESTINATIONS["GOOGLE_ANALYTICS_4"] = "googleAnalytics4";
8
- })(ADTRACKIFY_DESTINATIONS = exports.ADTRACKIFY_DESTINATIONS || (exports.ADTRACKIFY_DESTINATIONS = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ADTRACKIFY_DESTINATIONS = void 0;
4
+ var ADTRACKIFY_DESTINATIONS;
5
+ (function (ADTRACKIFY_DESTINATIONS) {
6
+ ADTRACKIFY_DESTINATIONS["FACEBOOK"] = "facebook";
7
+ ADTRACKIFY_DESTINATIONS["GOOGLE_ANALYTICS_4"] = "googleAnalytics4";
8
+ })(ADTRACKIFY_DESTINATIONS = exports.ADTRACKIFY_DESTINATIONS || (exports.ADTRACKIFY_DESTINATIONS = {}));
9
9
  //# sourceMappingURL=destination.js.map
@@ -1 +1 @@
1
- export * from './destination';
1
+ export * from './destination';
@@ -1,18 +1,18 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./destination"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./destination"), exports);
18
18
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- export * from './adtrackify-standard-events';
2
- export * from './third-party-event-configuration-types';
3
- export * from './tracking-event-type';
4
- export * from './adtrackify-event-bus-event';
5
- export * from './api';
1
+ export * from './adtrackify-standard-events';
2
+ export * from './third-party-event-configuration-types';
3
+ export * from './tracking-event-type';
4
+ export * from './adtrackify-event-bus-event';
5
+ export * from './api';
@@ -1,22 +1,22 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./adtrackify-standard-events"), exports);
18
- __exportStar(require("./third-party-event-configuration-types"), exports);
19
- __exportStar(require("./tracking-event-type"), exports);
20
- __exportStar(require("./adtrackify-event-bus-event"), exports);
21
- __exportStar(require("./api"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./adtrackify-standard-events"), exports);
18
+ __exportStar(require("./third-party-event-configuration-types"), exports);
19
+ __exportStar(require("./tracking-event-type"), exports);
20
+ __exportStar(require("./adtrackify-event-bus-event"), exports);
21
+ __exportStar(require("./api"), exports);
22
22
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
- export interface DestinationConfiguration {
2
- eventConfigurations: DestinationEventSpecificConfiguration[];
3
- }
4
- export interface DestinationEventSpecificConfiguration {
5
- enabled: boolean;
6
- sourceEventName: string;
7
- destinationEventName: string;
8
- }
1
+ export interface DestinationConfiguration {
2
+ eventConfigurations: DestinationEventSpecificConfiguration[];
3
+ }
4
+ export interface DestinationEventSpecificConfiguration {
5
+ enabled: boolean;
6
+ sourceEventName: string;
7
+ destinationEventName: string;
8
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=third-party-event-configuration-types.js.map
@@ -1,124 +1,125 @@
1
- import { IResult } from 'ua-parser-js';
2
- export interface TrackingEvent {
3
- id: string;
4
- type: string;
5
- name: string;
6
- pixelId: string;
7
- context: TrackingEventContext;
8
- data: TrackingEventData;
9
- testCode?: string;
10
- sentAtEpoch?: number;
11
- collectedAt?: string;
12
- version: string;
13
- }
14
- export interface TrackingEventContext {
15
- identity: TrackingEventIdentity;
16
- click?: AdClickInfo;
17
- campaign?: CampaignInfo;
18
- page?: PageInfo;
19
- device?: DeviceInfo;
20
- locale?: string;
21
- timezone?: string;
22
- userAgent?: string;
23
- ipAddress?: string;
24
- ipv6Address?: string;
25
- }
26
- export interface TrackingEventIdentity {
27
- gender?: string;
28
- dob?: string;
29
- phone?: string;
30
- id?: string;
31
- firstName?: string;
32
- lastName?: string;
33
- email?: string;
34
- address?: AddressInfo;
35
- addresses?: AddressInfo[];
36
- }
37
- export interface AdClickInfo {
38
- fbp?: string;
39
- fbc?: string;
40
- fbclid?: string;
41
- gclid?: string;
42
- }
43
- export interface TrackingEventData {
44
- [key: string]: any;
45
- firstName?: string;
46
- lastName?: string;
47
- email?: string;
48
- phone?: string;
49
- addresses?: AddressInfo[];
50
- cartId?: string;
51
- transactionId?: string;
52
- affiliation?: string;
53
- currency?: string;
54
- price?: number;
55
- subtotalPrice?: number;
56
- value?: number;
57
- tax?: number;
58
- shipping?: number;
59
- coupon?: string;
60
- paymentType?: string;
61
- shippingTier?: string;
62
- creativeName?: string;
63
- creativeSlot?: string;
64
- locationId?: string;
65
- promotionId?: string;
66
- promotionName?: string;
67
- items?: GenericContent[];
68
- }
69
- export interface GenericContent {
70
- [key: string]: any;
71
- content_type?: string;
72
- id?: string;
73
- name?: string;
74
- sku?: string;
75
- brand?: string;
76
- variant?: string;
77
- coupon?: string;
78
- currency?: string;
79
- discount?: number;
80
- index?: number;
81
- value?: number;
82
- price?: number;
83
- quantity?: number;
84
- url?: string;
85
- locationId?: string;
86
- imageUrl?: string;
87
- category?: string;
88
- category2?: string;
89
- category3?: string;
90
- category4?: string;
91
- category5?: string;
92
- }
93
- export interface AddressInfo {
94
- email?: string;
95
- phone?: string;
96
- firstName?: string;
97
- lastName?: string;
98
- company?: string;
99
- address1?: string;
100
- address2?: string;
101
- city?: string;
102
- province?: string;
103
- provinceCode: string;
104
- country?: string;
105
- countryCode: string;
106
- zip?: string;
107
- }
108
- export interface CampaignInfo {
109
- name?: string;
110
- source?: string;
111
- medium?: string;
112
- term?: string;
113
- content?: string;
114
- }
115
- export interface PageInfo {
116
- path?: string;
117
- referrer?: string;
118
- search?: string;
119
- title?: string;
120
- url?: string;
121
- qsp?: any;
122
- }
123
- export declare type DeviceInfo = IResult;
124
- export declare const Currencies: string[];
1
+ import { IResult } from 'ua-parser-js';
2
+ import { ADTRACKIFY_STANDARD_EVENT } from './adtrackify-standard-events';
3
+ export interface TrackingEvent {
4
+ id: string;
5
+ type: string;
6
+ name: ADTRACKIFY_STANDARD_EVENT;
7
+ pixelId: string;
8
+ context: TrackingEventContext;
9
+ data: TrackingEventData;
10
+ testCode?: string;
11
+ sentAtEpoch?: number;
12
+ collectedAt?: string;
13
+ version: string;
14
+ }
15
+ export interface TrackingEventContext {
16
+ identity: TrackingEventIdentity;
17
+ click?: AdClickInfo;
18
+ campaign?: CampaignInfo;
19
+ page?: PageInfo;
20
+ device?: DeviceInfo;
21
+ locale?: string;
22
+ timezone?: string;
23
+ userAgent?: string;
24
+ ipAddress?: string;
25
+ ipv6Address?: string;
26
+ }
27
+ export interface TrackingEventIdentity {
28
+ gender?: string;
29
+ dob?: string;
30
+ phone?: string;
31
+ id?: string;
32
+ firstName?: string;
33
+ lastName?: string;
34
+ email?: string;
35
+ address?: AddressInfo;
36
+ addresses?: AddressInfo[];
37
+ }
38
+ export interface AdClickInfo {
39
+ fbp?: string;
40
+ fbc?: string;
41
+ fbclid?: string;
42
+ gclid?: string;
43
+ }
44
+ export interface TrackingEventData {
45
+ [key: string]: any;
46
+ firstName?: string;
47
+ lastName?: string;
48
+ email?: string;
49
+ phone?: string;
50
+ addresses?: AddressInfo[];
51
+ cartId?: string;
52
+ transactionId?: string;
53
+ affiliation?: string;
54
+ currency?: string;
55
+ price?: number;
56
+ subtotalPrice?: number;
57
+ value?: number;
58
+ tax?: number;
59
+ shipping?: number;
60
+ coupon?: string;
61
+ paymentType?: string;
62
+ shippingTier?: string;
63
+ creativeName?: string;
64
+ creativeSlot?: string;
65
+ locationId?: string;
66
+ promotionId?: string;
67
+ promotionName?: string;
68
+ items?: GenericContent[];
69
+ }
70
+ export interface GenericContent {
71
+ [key: string]: any;
72
+ content_type?: string;
73
+ id?: string;
74
+ name?: string;
75
+ sku?: string;
76
+ brand?: string;
77
+ variant?: string;
78
+ coupon?: string;
79
+ currency?: string;
80
+ discount?: number;
81
+ index?: number;
82
+ value?: number;
83
+ price?: number;
84
+ quantity?: number;
85
+ url?: string;
86
+ locationId?: string;
87
+ imageUrl?: string;
88
+ category?: string;
89
+ category2?: string;
90
+ category3?: string;
91
+ category4?: string;
92
+ category5?: string;
93
+ }
94
+ export interface AddressInfo {
95
+ email?: string;
96
+ phone?: string;
97
+ firstName?: string;
98
+ lastName?: string;
99
+ company?: string;
100
+ address1?: string;
101
+ address2?: string;
102
+ city?: string;
103
+ province?: string;
104
+ provinceCode?: string;
105
+ country?: string;
106
+ countryCode?: string;
107
+ zip?: string;
108
+ }
109
+ export interface CampaignInfo {
110
+ name?: string;
111
+ source?: string;
112
+ medium?: string;
113
+ term?: string;
114
+ content?: string;
115
+ }
116
+ export interface PageInfo {
117
+ path?: string;
118
+ referrer?: string;
119
+ search?: string;
120
+ title?: string;
121
+ url?: string;
122
+ qsp?: any;
123
+ }
124
+ export declare type DeviceInfo = IResult;
125
+ export declare const Currencies: string[];
@@ -1,5 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Currencies = void 0;
4
- exports.Currencies = ['AED', 'ARS', 'AUD', 'BDT', 'BIF', 'BOB', 'BRL', 'CAD', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CZK', 'DKK', 'DZD', 'EGP', 'EUR', 'GBP', 'GTQ', 'HKD', 'HNL', 'HUF', 'IDR', 'ILS', 'INR', 'ISK', 'JPY', 'KES', 'KRW', 'KWD', 'KZT', 'MAD', 'MOP', 'MXN', 'MYR', 'NGN', 'NIO', 'NOK', 'NZD', 'PEN', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RUB', 'SAR', 'SEK', 'SGD', 'THB', 'TRY', 'TWD', 'USD', 'VES', 'VND', 'ZAR'];
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Currencies = void 0;
4
+ exports.Currencies = ['AED', 'ARS', 'AUD', 'BDT', 'BIF', 'BOB', 'BRL', 'CAD', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CZK', 'DKK', 'DZD', 'EGP', 'EUR', 'GBP', 'GTQ', 'HKD', 'HNL', 'HUF', 'IDR', 'ILS', 'INR', 'ISK', 'JPY', 'KES', 'KRW', 'KWD', 'KZT', 'MAD', 'MOP', 'MXN', 'MYR', 'NGN', 'NIO', 'NOK', 'NZD', 'PEN', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RUB', 'SAR', 'SEK', 'SGD', 'THB', 'TRY', 'TWD', 'USD', 'VES', 'VND', 'ZAR'];
5
5
  //# sourceMappingURL=tracking-event-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-event-type.js","sourceRoot":"","sources":["../../src/types/tracking-event-type.ts"],"names":[],"mappings":";;;AAwIa,QAAA,UAAU,GAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"tracking-event-type.js","sourceRoot":"","sources":["../../src/types/tracking-event-type.ts"],"names":[],"mappings":";;;AAyIa,QAAA,UAAU,GAAa,CAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { AdClickInfo, AddressInfo, CampaignInfo, GenericContent, PageInfo, TrackingEvent, TrackingEventContext, TrackingEventIdentity } from '../index';
2
+ export declare const generateFakeTrackingEvent: (event?: Partial<TrackingEvent>) => Partial<TrackingEvent> | undefined;
3
+ export declare const populateGenericTrackingEventData: (event?: Partial<TrackingEvent>) => TrackingEvent;
4
+ export declare const generateFakeAddToCartEvent: (event?: Partial<TrackingEvent>) => TrackingEvent;
5
+ export declare const generateFakeEcommerceItems: (numItems?: number) => GenericContent[];
6
+ export declare const generateFakeEcommerceItem: () => GenericContent;
7
+ export declare const generateFakeEventContext: (context?: Partial<TrackingEventContext>) => TrackingEventContext;
8
+ export declare const generateFakePageInfo: (pageInfo?: Partial<PageInfo>) => PageInfo;
9
+ export declare const generateFakeCampiagnInfo: (campaignInfo?: Partial<CampaignInfo>) => CampaignInfo;
10
+ export declare const generateFakeAddClickInfo: (clickInfo?: Partial<AdClickInfo>) => AdClickInfo;
11
+ export declare const generateFakeTrackingEventIdentity: (identity?: Partial<TrackingEventIdentity>) => TrackingEventIdentity;
12
+ export declare const generateFakeAddress: (address?: AddressInfo) => AddressInfo;
13
+ export declare const choasFake: <T>(input?: T | undefined) => T | null | undefined;
14
+ export declare function randomEnum<T>(anEnum: T): T[keyof T];
15
+ export declare const randomEnumKey: (enumeration: any) => string;
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomEnumKey = exports.randomEnum = exports.choasFake = exports.generateFakeAddress = exports.generateFakeTrackingEventIdentity = exports.generateFakeAddClickInfo = exports.generateFakeCampiagnInfo = exports.generateFakePageInfo = exports.generateFakeEventContext = exports.generateFakeEcommerceItem = exports.generateFakeEcommerceItems = exports.generateFakeAddToCartEvent = exports.populateGenericTrackingEventData = exports.generateFakeTrackingEvent = void 0;
4
+ const index_1 = require("../index");
5
+ const faker_1 = require("@faker-js/faker");
6
+ const uuid_1 = require("uuid");
7
+ uuid_1.v4;
8
+ const generateFakeTrackingEvent = (event) => {
9
+ const eventName = event?.name ?? randomEnum(index_1.ADTRACKIFY_STANDARD_EVENT);
10
+ if (eventName === index_1.ADTRACKIFY_STANDARD_EVENT.PAGE_VIEW) {
11
+ return (0, exports.populateGenericTrackingEventData)(event);
12
+ }
13
+ if (eventName === index_1.ADTRACKIFY_STANDARD_EVENT.VIEW_CART) {
14
+ return (0, exports.populateGenericTrackingEventData)(event);
15
+ }
16
+ if (eventName === index_1.ADTRACKIFY_STANDARD_EVENT.ADD_TO_CART) {
17
+ return (0, exports.generateFakeAddToCartEvent)(event);
18
+ }
19
+ return event;
20
+ };
21
+ exports.generateFakeTrackingEvent = generateFakeTrackingEvent;
22
+ const populateGenericTrackingEventData = (event) => {
23
+ const eventName = event?.name ?? randomEnum(index_1.ADTRACKIFY_STANDARD_EVENT);
24
+ const fakeEvent = {
25
+ id: event?.id ?? (0, uuid_1.v4)(),
26
+ type: 'Tracking Event',
27
+ name: eventName,
28
+ pixelId: event?.pixelId ?? (0, uuid_1.v4)(),
29
+ context: (0, exports.generateFakeEventContext)(event?.context),
30
+ data: {},
31
+ testCode: event?.testCode,
32
+ sentAtEpoch: event?.sentAtEpoch ?? faker_1.faker.datatype.number({ min: 100000 }),
33
+ version: '1'
34
+ };
35
+ return fakeEvent;
36
+ };
37
+ exports.populateGenericTrackingEventData = populateGenericTrackingEventData;
38
+ const generateFakeAddToCartEvent = (event) => {
39
+ const fakeEvent = (0, exports.populateGenericTrackingEventData)(event);
40
+ fakeEvent.name = index_1.ADTRACKIFY_STANDARD_EVENT.ADD_TO_CART;
41
+ if (!event?.data?.items || event?.data?.items.length == 0) {
42
+ fakeEvent.data = {
43
+ ...event?.data,
44
+ items: (0, exports.generateFakeEcommerceItems)()
45
+ };
46
+ }
47
+ return fakeEvent;
48
+ };
49
+ exports.generateFakeAddToCartEvent = generateFakeAddToCartEvent;
50
+ const generateFakeEcommerceItems = (numItems = faker_1.faker.datatype.number({ max: 20, min: 1 })) => {
51
+ const items = [];
52
+ for (let i = 0; i < numItems; i++) {
53
+ items.push((0, exports.generateFakeEcommerceItem)());
54
+ }
55
+ return items;
56
+ };
57
+ exports.generateFakeEcommerceItems = generateFakeEcommerceItems;
58
+ const generateFakeEcommerceItem = () => {
59
+ const item = {
60
+ content_type: 'product',
61
+ id: faker_1.faker.random.numeric(),
62
+ name: faker_1.faker.commerce.product(),
63
+ sku: faker_1.faker.random.alphaNumeric(),
64
+ price: parseFloat(faker_1.faker.commerce.price()),
65
+ quantity: faker_1.faker.datatype.number({ min: 1, max: 20 })
66
+ };
67
+ return item;
68
+ };
69
+ exports.generateFakeEcommerceItem = generateFakeEcommerceItem;
70
+ const generateFakeEventContext = (context) => {
71
+ const outContext = {
72
+ identity: (0, exports.generateFakeTrackingEventIdentity)(context?.identity),
73
+ click: (0, exports.generateFakeAddClickInfo)(context?.click),
74
+ campaign: (0, exports.generateFakeCampiagnInfo)(context?.campaign),
75
+ page: (0, exports.generateFakePageInfo)(context?.page),
76
+ ipAddress: context?.ipAddress ?? (0, exports.choasFake)(faker_1.faker.internet.ipv4()),
77
+ ipv6Address: context?.ipv6Address ?? (0, exports.choasFake)(faker_1.faker.internet.ipv6()),
78
+ };
79
+ return outContext;
80
+ };
81
+ exports.generateFakeEventContext = generateFakeEventContext;
82
+ const generateFakePageInfo = (pageInfo) => {
83
+ const outPageInfo = {
84
+ path: pageInfo?.path ?? faker_1.faker.internet.url(),
85
+ referrer: pageInfo?.referrer ?? faker_1.faker.internet.url(),
86
+ search: pageInfo?.search ?? (0, exports.choasFake)(faker_1.faker.random.alpha()),
87
+ title: pageInfo?.title ?? (0, exports.choasFake)(faker_1.faker.random.alpha()),
88
+ url: pageInfo?.referrer ?? faker_1.faker.internet.url(),
89
+ };
90
+ return outPageInfo;
91
+ };
92
+ exports.generateFakePageInfo = generateFakePageInfo;
93
+ const generateFakeCampiagnInfo = (campaignInfo) => {
94
+ const outCampaignInfo = {
95
+ name: campaignInfo?.name ?? (0, exports.choasFake)(faker_1.faker.random.alpha()),
96
+ source: campaignInfo?.source ?? (0, exports.choasFake)(faker_1.faker.random.alpha()),
97
+ medium: campaignInfo?.medium ?? (0, exports.choasFake)(faker_1.faker.random.alpha()),
98
+ term: campaignInfo?.term ?? (0, exports.choasFake)(faker_1.faker.random.alpha()),
99
+ content: campaignInfo?.content ?? (0, exports.choasFake)(faker_1.faker.random.alpha())
100
+ };
101
+ return outCampaignInfo;
102
+ };
103
+ exports.generateFakeCampiagnInfo = generateFakeCampiagnInfo;
104
+ const generateFakeAddClickInfo = (clickInfo) => {
105
+ const outClickInfo = {
106
+ fbp: clickInfo?.fbp ?? (0, exports.choasFake)(faker_1.faker.random.alpha()),
107
+ fbc: clickInfo?.fbc ?? (0, exports.choasFake)(faker_1.faker.random.alpha()),
108
+ fbclid: clickInfo?.fbclid ?? (0, exports.choasFake)(faker_1.faker.random.alpha()),
109
+ gclid: clickInfo?.gclid ?? (0, exports.choasFake)(faker_1.faker.random.alpha())
110
+ };
111
+ return outClickInfo;
112
+ };
113
+ exports.generateFakeAddClickInfo = generateFakeAddClickInfo;
114
+ const generateFakeTrackingEventIdentity = (identity) => {
115
+ const outIdentity = {
116
+ firstName: identity?.firstName ?? (0, exports.choasFake)(faker_1.faker.name.firstName()),
117
+ lastName: identity?.lastName ?? (0, exports.choasFake)(faker_1.faker.name.lastName()),
118
+ email: identity?.email ?? (0, exports.choasFake)(faker_1.faker.internet.email()),
119
+ address: (0, exports.generateFakeAddress)()
120
+ };
121
+ return outIdentity;
122
+ };
123
+ exports.generateFakeTrackingEventIdentity = generateFakeTrackingEventIdentity;
124
+ const generateFakeAddress = (address) => {
125
+ const outAddress = {
126
+ email: address?.email ?? (0, exports.choasFake)(faker_1.faker.internet.email()),
127
+ phone: address?.email ?? (0, exports.choasFake)(faker_1.faker.phone.number()),
128
+ firstName: address?.firstName ?? (0, exports.choasFake)(faker_1.faker.name.firstName()),
129
+ lastName: address?.lastName ?? (0, exports.choasFake)(faker_1.faker.name.lastName()),
130
+ company: address?.company ?? (0, exports.choasFake)(faker_1.faker.company.name()),
131
+ address1: address?.address1 ?? (0, exports.choasFake)(faker_1.faker.address.streetAddress()),
132
+ address2: address?.address2 ?? (0, exports.choasFake)(faker_1.faker.address.secondaryAddress()),
133
+ city: address?.address2 ?? (0, exports.choasFake)(faker_1.faker.address.city()),
134
+ province: address?.province ?? (0, exports.choasFake)(faker_1.faker.address.state()),
135
+ provinceCode: address?.provinceCode ?? (0, exports.choasFake)(faker_1.faker.address.stateAbbr()),
136
+ country: address?.country ?? (0, exports.choasFake)(faker_1.faker.address.country()),
137
+ zip: address?.zip ?? (0, exports.choasFake)(faker_1.faker.address.zipCode()),
138
+ countryCode: address?.countryCode ?? (0, exports.choasFake)(faker_1.faker.address.countryCode()),
139
+ };
140
+ return outAddress;
141
+ };
142
+ exports.generateFakeAddress = generateFakeAddress;
143
+ const choasFake = (input) => {
144
+ const choasNumber = faker_1.faker.datatype.number({ min: 1, max: 100 });
145
+ if (choasNumber < 33) {
146
+ return input;
147
+ }
148
+ else if (choasNumber < 66) {
149
+ return undefined;
150
+ }
151
+ else {
152
+ return null;
153
+ }
154
+ };
155
+ exports.choasFake = choasFake;
156
+ function randomEnum(anEnum) {
157
+ const enumValues = Object.values(anEnum);
158
+ const randomIndex = Math.floor(Math.random() * enumValues.length);
159
+ return enumValues[randomIndex];
160
+ }
161
+ exports.randomEnum = randomEnum;
162
+ const randomEnumKey = (enumeration) => {
163
+ const keys = Object.keys(enumeration)
164
+ .filter(k => !(Math.abs(Number.parseInt(k)) + 1));
165
+ const enumKey = keys[Math.floor(Math.random() * keys.length)];
166
+ return enumKey;
167
+ };
168
+ exports.randomEnumKey = randomEnumKey;
169
+ //# sourceMappingURL=fake-tracking-event-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake-tracking-event-generator.js","sourceRoot":"","sources":["../../src/utils/fake-tracking-event-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './fake-tracking-event-generator';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./fake-tracking-event-generator"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adtrackify/at-tracking-event-types",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -37,6 +37,7 @@
37
37
  "@babel/preset-env": "^7.16.8",
38
38
  "@babel/preset-typescript": "^7.16.7",
39
39
  "@babel/runtime-corejs3": "^7.13.17",
40
+ "@faker-js/faker": "^7.4.0",
40
41
  "@types/jest": "^27.4.1",
41
42
  "@types/node": "^17.0.8",
42
43
  "@typescript-eslint/eslint-plugin": "^5.21.0",
@@ -76,4 +77,4 @@
76
77
  "author": "",
77
78
  "license": "ISC",
78
79
  "homepage": "https://bitbucket.org/eacap/at-tracking-event-types#readme"
79
- }
80
+ }
package/src/index.ts CHANGED
@@ -1 +1,2 @@
1
- export * from './types';
1
+ export * from './types';
2
+ export * from './utils';
@@ -1,10 +1,11 @@
1
1
  import { IResult } from 'ua-parser-js';
2
+ import { ADTRACKIFY_STANDARD_EVENT } from './adtrackify-standard-events';
2
3
 
3
4
 
4
5
  export interface TrackingEvent {
5
6
  id: string;
6
7
  type: string;
7
- name: string;
8
+ name: ADTRACKIFY_STANDARD_EVENT;
8
9
  pixelId: string;
9
10
  context: TrackingEventContext;
10
11
  data: TrackingEventData;
@@ -47,7 +48,7 @@ export interface AdClickInfo {
47
48
  }
48
49
 
49
50
  export interface TrackingEventData {
50
- [key: string]: any;
51
+ [ key: string ]: any;
51
52
  firstName?: string;
52
53
  lastName?: string;
53
54
  email?: string;
@@ -74,7 +75,7 @@ export interface TrackingEventData {
74
75
  }
75
76
 
76
77
  export interface GenericContent {
77
- [key: string]: any;
78
+ [ key: string ]: any;
78
79
  content_type?: string;
79
80
  id?: string;
80
81
  name?: string;
@@ -108,9 +109,9 @@ export interface AddressInfo {
108
109
  address2?: string;
109
110
  city?: string;
110
111
  province?: string;
111
- provinceCode: string;
112
+ provinceCode?: string;
112
113
  country?: string;
113
- countryCode: string;
114
+ countryCode?: string;
114
115
  zip?: string;
115
116
  }
116
117
 
@@ -131,8 +132,8 @@ export interface PageInfo {
131
132
  qsp?: any;
132
133
  }
133
134
 
134
- export type DeviceInfo = IResult
135
+ export type DeviceInfo = IResult;
135
136
 
136
137
 
137
- export const Currencies: string[] = ['AED', 'ARS', 'AUD', 'BDT', 'BIF', 'BOB', 'BRL', 'CAD', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CZK', 'DKK', 'DZD', 'EGP', 'EUR', 'GBP', 'GTQ', 'HKD', 'HNL', 'HUF', 'IDR', 'ILS', 'INR', 'ISK', 'JPY', 'KES', 'KRW', 'KWD', 'KZT', 'MAD', 'MOP', 'MXN', 'MYR', 'NGN', 'NIO', 'NOK', 'NZD', 'PEN', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RUB', 'SAR', 'SEK', 'SGD', 'THB', 'TRY', 'TWD', 'USD', 'VES', 'VND', 'ZAR'];
138
+ export const Currencies: string[] = [ 'AED', 'ARS', 'AUD', 'BDT', 'BIF', 'BOB', 'BRL', 'CAD', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CZK', 'DKK', 'DZD', 'EGP', 'EUR', 'GBP', 'GTQ', 'HKD', 'HNL', 'HUF', 'IDR', 'ILS', 'INR', 'ISK', 'JPY', 'KES', 'KRW', 'KWD', 'KZT', 'MAD', 'MOP', 'MXN', 'MYR', 'NGN', 'NIO', 'NOK', 'NZD', 'PEN', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RUB', 'SAR', 'SEK', 'SGD', 'THB', 'TRY', 'TWD', 'USD', 'VES', 'VND', 'ZAR' ];
138
139
 
@@ -0,0 +1,174 @@
1
+ import { AdClickInfo, AddressInfo, ADTRACKIFY_STANDARD_EVENT, CampaignInfo, GenericContent, PageInfo, TrackingEvent, TrackingEventContext, TrackingEventIdentity } from '../index';
2
+ import { faker } from '@faker-js/faker';
3
+ import { v4 as uuid } from 'uuid'; uuid;
4
+
5
+ export const generateFakeTrackingEvent = (event?: Partial<TrackingEvent>) => {
6
+ const eventName = event?.name ?? randomEnum(ADTRACKIFY_STANDARD_EVENT);
7
+
8
+
9
+ if (eventName === ADTRACKIFY_STANDARD_EVENT.PAGE_VIEW) {
10
+ return populateGenericTrackingEventData(event);
11
+ }
12
+
13
+ if (eventName === ADTRACKIFY_STANDARD_EVENT.VIEW_CART) {
14
+ return populateGenericTrackingEventData(event);
15
+ }
16
+
17
+ if (eventName === ADTRACKIFY_STANDARD_EVENT.ADD_TO_CART) {
18
+ return generateFakeAddToCartEvent(event);
19
+ }
20
+
21
+ return event;
22
+ };
23
+
24
+ export const populateGenericTrackingEventData = (event?: Partial<TrackingEvent>) => {
25
+ const eventName = event?.name ?? randomEnum(ADTRACKIFY_STANDARD_EVENT);
26
+ const fakeEvent: TrackingEvent = {
27
+ id: event?.id ?? uuid(),
28
+ type: 'Tracking Event',
29
+ name: eventName,
30
+ pixelId: event?.pixelId ?? uuid(),
31
+ context: generateFakeEventContext(event?.context),
32
+ data: {
33
+ },
34
+ testCode: event?.testCode,
35
+ sentAtEpoch: event?.sentAtEpoch ?? faker.datatype.number({ min: 100000 }),
36
+ version: '1'
37
+ };
38
+ return fakeEvent;
39
+ };
40
+
41
+
42
+ export const generateFakeAddToCartEvent = (event?: Partial<TrackingEvent>) => {
43
+ const fakeEvent = populateGenericTrackingEventData(event);
44
+ fakeEvent.name = ADTRACKIFY_STANDARD_EVENT.ADD_TO_CART;
45
+
46
+
47
+ if (!event?.data?.items || event?.data?.items.length == 0) {
48
+ fakeEvent.data = {
49
+ ...event?.data,
50
+ items: generateFakeEcommerceItems()
51
+ };
52
+ }
53
+ return fakeEvent;
54
+ };
55
+
56
+ export const generateFakeEcommerceItems = (numItems: number = faker.datatype.number({ max: 20, min: 1 })) => {
57
+ const items = [];
58
+ for (let i = 0; i < numItems; i++) {
59
+ items.push(generateFakeEcommerceItem());
60
+ }
61
+ return items;
62
+ };
63
+
64
+ export const generateFakeEcommerceItem = (): GenericContent => {
65
+ const item: GenericContent = {
66
+ content_type: 'product',
67
+ id: faker.random.numeric(),
68
+ name: faker.commerce.product(),
69
+ sku: faker.random.alphaNumeric(),
70
+ price: parseFloat(faker.commerce.price()),
71
+ quantity: faker.datatype.number({ min: 1, max: 20 })
72
+ };
73
+ return item;
74
+ };
75
+
76
+ export const generateFakeEventContext = (context?: Partial<TrackingEventContext>): TrackingEventContext => {
77
+ const outContext: TrackingEventContext = {
78
+ identity: generateFakeTrackingEventIdentity(context?.identity),
79
+ click: generateFakeAddClickInfo(context?.click),
80
+ campaign: generateFakeCampiagnInfo(context?.campaign),
81
+ page: generateFakePageInfo(context?.page),
82
+ ipAddress: context?.ipAddress ?? choasFake(faker.internet.ipv4()) as string,
83
+ ipv6Address: context?.ipv6Address ?? choasFake(faker.internet.ipv6()) as string,
84
+ };
85
+ return outContext;
86
+
87
+ };
88
+
89
+ export const generateFakePageInfo = (pageInfo?: Partial<PageInfo>): PageInfo => {
90
+ const outPageInfo: PageInfo = {
91
+ path: pageInfo?.path ?? faker.internet.url(),
92
+ referrer: pageInfo?.referrer ?? faker.internet.url(),
93
+ search: pageInfo?.search ?? choasFake(faker.random.alpha()) as string,
94
+ title: pageInfo?.title ?? choasFake(faker.random.alpha()) as string,
95
+ url: pageInfo?.referrer ?? faker.internet.url(),
96
+ };
97
+ return outPageInfo;
98
+ };
99
+
100
+ export const generateFakeCampiagnInfo = (campaignInfo?: Partial<CampaignInfo>): CampaignInfo => {
101
+ const outCampaignInfo: CampaignInfo = {
102
+ name: campaignInfo?.name ?? choasFake(faker.random.alpha()) as string,
103
+ source: campaignInfo?.source ?? choasFake(faker.random.alpha()) as string,
104
+ medium: campaignInfo?.medium ?? choasFake(faker.random.alpha()) as string,
105
+ term: campaignInfo?.term ?? choasFake(faker.random.alpha()) as string,
106
+ content: campaignInfo?.content ?? choasFake(faker.random.alpha()) as string
107
+ };
108
+ return outCampaignInfo;
109
+ };
110
+
111
+ export const generateFakeAddClickInfo = (clickInfo?: Partial<AdClickInfo>): AdClickInfo => {
112
+ const outClickInfo: AdClickInfo = {
113
+ fbp: clickInfo?.fbp ?? choasFake(faker.random.alpha()) as string,
114
+ fbc: clickInfo?.fbc ?? choasFake(faker.random.alpha()) as string,
115
+ fbclid: clickInfo?.fbclid ?? choasFake(faker.random.alpha()) as string,
116
+ gclid: clickInfo?.gclid ?? choasFake(faker.random.alpha()) as string
117
+ };
118
+ return outClickInfo;
119
+ };
120
+
121
+ export const generateFakeTrackingEventIdentity = (identity?: Partial<TrackingEventIdentity>) => {
122
+ const outIdentity: TrackingEventIdentity = {
123
+ firstName: identity?.firstName ?? choasFake(faker.name.firstName()) as string,
124
+ lastName: identity?.lastName ?? choasFake(faker.name.lastName()) as string,
125
+ email: identity?.email ?? choasFake(faker.internet.email()) as string,
126
+ address: generateFakeAddress()
127
+ };
128
+ return outIdentity;
129
+ };
130
+
131
+ export const generateFakeAddress = (address?: AddressInfo) => {
132
+ const outAddress: AddressInfo = {
133
+ email: address?.email ?? choasFake(faker.internet.email()) as string,
134
+ phone: address?.email ?? choasFake(faker.phone.number()) as string,
135
+ firstName: address?.firstName ?? choasFake(faker.name.firstName()) as string,
136
+ lastName: address?.lastName ?? choasFake(faker.name.lastName()) as string,
137
+ company: address?.company ?? choasFake(faker.company.name()) as string,
138
+ address1: address?.address1 ?? choasFake(faker.address.streetAddress()) as string,
139
+ address2: address?.address2 ?? choasFake(faker.address.secondaryAddress()) as string,
140
+ city: address?.address2 ?? choasFake(faker.address.city()) as string,
141
+ province: address?.province ?? choasFake(faker.address.state()) as string,
142
+ provinceCode: address?.provinceCode ?? choasFake(faker.address.stateAbbr()) as string,
143
+ country: address?.country ?? choasFake(faker.address.country()) as string,
144
+ zip: address?.zip ?? choasFake(faker.address.zipCode()) as string,
145
+ countryCode: address?.countryCode ?? choasFake(faker.address.countryCode()) as string,
146
+ };
147
+ return outAddress;
148
+ };
149
+
150
+ export const choasFake = <T>(input?: T): T | undefined | null => {
151
+ const choasNumber = faker.datatype.number({ min: 1, max: 100 });
152
+ if (choasNumber < 33) {
153
+ return input as T;
154
+ }
155
+ else if (choasNumber < 66) {
156
+ return undefined;
157
+ }
158
+ else {
159
+ return null;
160
+ }
161
+ };
162
+
163
+ export function randomEnum<T>(anEnum: T): T[ keyof T ] {
164
+ const enumValues = (Object.values(anEnum) as unknown) as T[ keyof T ][];
165
+ const randomIndex = Math.floor(Math.random() * enumValues.length);
166
+ return enumValues[ randomIndex ];
167
+ }
168
+
169
+ export const randomEnumKey = (enumeration: any) => {
170
+ const keys = Object.keys(enumeration)
171
+ .filter(k => !(Math.abs(Number.parseInt(k)) + 1));
172
+ const enumKey = keys[ Math.floor(Math.random() * keys.length) ];
173
+ return enumKey;
174
+ };
@@ -0,0 +1 @@
1
+ export * from './fake-tracking-event-generator';