@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.
- package/dist/types/tracking-event-type.d.ts +2 -1
- package/dist/types/tracking-event-type.js.map +1 -1
- package/dist/utils/fake-tracking-event-generator.d.ts +6 -1
- package/dist/utils/fake-tracking-event-generator.js +71 -9
- package/dist/utils/fake-tracking-event-generator.js.map +1 -1
- package/package.json +1 -1
- package/src/types/tracking-event-type.ts +2 -1
- package/src/utils/fake-tracking-event-generator.ts +74 -12
|
@@ -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:
|
|
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":";;;
|
|
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
|
|
9
|
-
const
|
|
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:
|
|
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
|
|
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":";;;AAAA,
|
|
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,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:
|
|
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
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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,
|