@adtrackify/at-tracking-event-types 1.0.9 → 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.
@@ -1,8 +1,9 @@
1
1
  import { IResult } from 'ua-parser-js';
2
+ import { ADTRACKIFY_STANDARD_EVENT } from './adtrackify-standard-events';
2
3
  export interface TrackingEvent {
3
4
  id: string;
4
5
  type: string;
5
- name: string;
6
+ name: ADTRACKIFY_STANDARD_EVENT;
6
7
  pixelId: string;
7
8
  context: TrackingEventContext;
8
9
  data: TrackingEventData;
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-event-type.js","sourceRoot":"","sources":["../../src/types/tracking-event-type.ts"],"names":[],"mappings":";;;AAwIa,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"}
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"}
@@ -1,8 +1,13 @@
1
- import { AddressInfo, GenericContent, TrackingEvent, TrackingEventContext, TrackingEventIdentity } from '../index';
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;
2
4
  export declare const generateFakeAddToCartEvent: (event?: Partial<TrackingEvent>) => TrackingEvent;
3
5
  export declare const generateFakeEcommerceItems: (numItems?: number) => GenericContent[];
4
6
  export declare const generateFakeEcommerceItem: () => GenericContent;
5
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;
6
11
  export declare const generateFakeTrackingEventIdentity: (identity?: Partial<TrackingEventIdentity>) => TrackingEventIdentity;
7
12
  export declare const generateFakeAddress: (address?: AddressInfo) => AddressInfo;
8
13
  export declare const choasFake: <T>(input?: T | undefined) => T | null | undefined;
@@ -1,25 +1,50 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.randomEnumKey = exports.randomEnum = exports.choasFake = exports.generateFakeAddress = exports.generateFakeTrackingEventIdentity = exports.generateFakeEventContext = exports.generateFakeEcommerceItem = exports.generateFakeEcommerceItems = exports.generateFakeAddToCartEvent = void 0;
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
4
  const index_1 = require("../index");
5
5
  const faker_1 = require("@faker-js/faker");
6
6
  const uuid_1 = require("uuid");
7
7
  uuid_1.v4;
8
- const generateFakeAddToCartEvent = (event) => {
9
- const fakeAddToCartEvent = {
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 = {
10
25
  id: event?.id ?? (0, uuid_1.v4)(),
11
26
  type: 'Tracking Event',
12
- name: index_1.ADTRACKIFY_STANDARD_EVENT.ADD_TO_CART,
27
+ name: eventName,
13
28
  pixelId: event?.pixelId ?? (0, uuid_1.v4)(),
14
29
  context: (0, exports.generateFakeEventContext)(event?.context),
15
- data: {
16
- items: (0, exports.generateFakeEcommerceItems)()
17
- },
30
+ data: {},
18
31
  testCode: event?.testCode,
19
32
  sentAtEpoch: event?.sentAtEpoch ?? faker_1.faker.datatype.number({ min: 100000 }),
20
33
  version: '1'
21
34
  };
22
- return fakeAddToCartEvent;
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;
23
48
  };
24
49
  exports.generateFakeAddToCartEvent = generateFakeAddToCartEvent;
25
50
  const generateFakeEcommerceItems = (numItems = faker_1.faker.datatype.number({ max: 20, min: 1 })) => {
@@ -44,11 +69,48 @@ const generateFakeEcommerceItem = () => {
44
69
  exports.generateFakeEcommerceItem = generateFakeEcommerceItem;
45
70
  const generateFakeEventContext = (context) => {
46
71
  const outContext = {
47
- identity: (0, exports.generateFakeTrackingEventIdentity)(context?.identity)
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()),
48
78
  };
49
79
  return outContext;
50
80
  };
51
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;
52
114
  const generateFakeTrackingEventIdentity = (identity) => {
53
115
  const outIdentity = {
54
116
  firstName: identity?.firstName ?? (0, exports.choasFake)(faker_1.faker.name.firstName()),
@@ -1 +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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"}
1
+ {"version":3,"file":"fake-tracking-event-generator.js","sourceRoot":"","sources":["../../src/utils/fake-tracking-event-generator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adtrackify/at-tracking-event-types",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -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;
@@ -1,31 +1,56 @@
1
- import { AddressInfo, ADTRACKIFY_STANDARD_EVENT, GenericContent, TrackingEvent, TrackingEventContext, TrackingEventIdentity } from '../index';
1
+ import { AdClickInfo, AddressInfo, ADTRACKIFY_STANDARD_EVENT, CampaignInfo, GenericContent, PageInfo, TrackingEvent, TrackingEventContext, TrackingEventIdentity } from '../index';
2
2
  import { faker } from '@faker-js/faker';
3
3
  import { v4 as uuid } from 'uuid'; uuid;
4
4
 
5
- // export const generateFakeTrackingEvent = (event?: Partial<TrackingEvent>) => {
6
- // const eventName = event?.name ?? randomEnum(ADTRACKIFY_STANDARD_EVENT);
7
- // const fakeTrackingEvent: TrackingEvent = {
5
+ export const generateFakeTrackingEvent = (event?: Partial<TrackingEvent>) => {
6
+ const eventName = event?.name ?? randomEnum(ADTRACKIFY_STANDARD_EVENT);
8
7
 
9
- // };
10
- // };
11
8
 
12
- export const generateFakeAddToCartEvent = (event?: Partial<TrackingEvent>) => {
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
+ }
13
16
 
14
- const fakeAddToCartEvent: TrackingEvent = {
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 = {
15
27
  id: event?.id ?? uuid(),
16
28
  type: 'Tracking Event',
17
- name: ADTRACKIFY_STANDARD_EVENT.ADD_TO_CART,
29
+ name: eventName,
18
30
  pixelId: event?.pixelId ?? uuid(),
19
31
  context: generateFakeEventContext(event?.context),
20
32
  data: {
21
- items: generateFakeEcommerceItems()
22
33
  },
23
34
  testCode: event?.testCode,
24
35
  sentAtEpoch: event?.sentAtEpoch ?? faker.datatype.number({ min: 100000 }),
25
36
  version: '1'
26
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;
27
45
 
28
- return fakeAddToCartEvent;
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;
29
54
  };
30
55
 
31
56
  export const generateFakeEcommerceItems = (numItems: number = faker.datatype.number({ max: 20, min: 1 })) => {
@@ -50,12 +75,49 @@ export const generateFakeEcommerceItem = (): GenericContent => {
50
75
 
51
76
  export const generateFakeEventContext = (context?: Partial<TrackingEventContext>): TrackingEventContext => {
52
77
  const outContext: TrackingEventContext = {
53
- identity: generateFakeTrackingEventIdentity(context?.identity)
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,
54
84
  };
55
85
  return outContext;
56
86
 
57
87
  };
58
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
+
59
121
  export const generateFakeTrackingEventIdentity = (identity?: Partial<TrackingEventIdentity>) => {
60
122
  const outIdentity: TrackingEventIdentity = {
61
123
  firstName: identity?.firstName ?? choasFake(faker.name.firstName()) as string,