@shware/analytics 0.3.6 → 0.3.8
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/index.cjs +2 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/dist/schema/index.d.cts +18 -18
- package/dist/schema/index.d.ts +18 -18
- package/dist/track/index.cjs +7 -2
- package/dist/track/index.cjs.map +1 -1
- package/dist/track/index.d.cts +2 -1
- package/dist/track/index.d.ts +2 -1
- package/dist/track/index.mjs +5 -1
- package/dist/track/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -26,6 +26,7 @@ __export(index_exports, {
|
|
|
26
26
|
setVisitor: () => import_visitor.setVisitor,
|
|
27
27
|
setupAnalytics: () => import_setup.setupAnalytics,
|
|
28
28
|
track: () => import_track.track,
|
|
29
|
+
trackAsync: () => import_track.trackAsync,
|
|
29
30
|
updateVisitorSchema: () => import_schema.updateVisitorSchema
|
|
30
31
|
});
|
|
31
32
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -41,6 +42,7 @@ var import_schema = require("./schema/index.cjs");
|
|
|
41
42
|
setVisitor,
|
|
42
43
|
setupAnalytics,
|
|
43
44
|
track,
|
|
45
|
+
trackAsync,
|
|
44
46
|
updateVisitorSchema
|
|
45
47
|
});
|
|
46
48
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { setupAnalytics } from './setup/index';\nexport { track } from './track/index';\nexport { getVisitor, setVisitor } from './visitor/index';\nexport { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index';\nexport type { TrackProperties, TrackTags, AllowedPropertyValues } from './track/types';\nexport type { VisitorProperties } from './visitor/types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+B;AAC/B,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { setupAnalytics } from './setup/index';\nexport { track, trackAsync } from './track/index';\nexport { getVisitor, setVisitor } from './visitor/index';\nexport { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index';\nexport type { TrackProperties, TrackTags, AllowedPropertyValues } from './track/types';\nexport type { VisitorProperties } from './visitor/types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+B;AAC/B,mBAAkC;AAClC,qBAAuC;AACvC,oBAAiF;","names":[]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { setupAnalytics } from './setup/index.cjs';
|
|
2
|
-
export { track } from './track/index.cjs';
|
|
2
|
+
export { track, trackAsync } from './track/index.cjs';
|
|
3
3
|
export { getVisitor, setVisitor } from './visitor/index.cjs';
|
|
4
4
|
export { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index.cjs';
|
|
5
5
|
export { AllowedPropertyValues, TrackProperties, TrackTags } from './track/types.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { setupAnalytics } from './setup/index.js';
|
|
2
|
-
export { track } from './track/index.js';
|
|
2
|
+
export { track, trackAsync } from './track/index.js';
|
|
3
3
|
export { getVisitor, setVisitor } from './visitor/index.js';
|
|
4
4
|
export { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index.js';
|
|
5
5
|
export { AllowedPropertyValues, TrackProperties, TrackTags } from './track/types.js';
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/index.ts
|
|
2
2
|
import { setupAnalytics } from "./setup/index.mjs";
|
|
3
|
-
import { track } from "./track/index.mjs";
|
|
3
|
+
import { track, trackAsync } from "./track/index.mjs";
|
|
4
4
|
import { getVisitor, setVisitor } from "./visitor/index.mjs";
|
|
5
5
|
import { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from "./schema/index.mjs";
|
|
6
6
|
export {
|
|
@@ -10,6 +10,7 @@ export {
|
|
|
10
10
|
setVisitor,
|
|
11
11
|
setupAnalytics,
|
|
12
12
|
track,
|
|
13
|
+
trackAsync,
|
|
13
14
|
updateVisitorSchema
|
|
14
15
|
};
|
|
15
16
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { setupAnalytics } from './setup/index';\nexport { track } from './track/index';\nexport { getVisitor, setVisitor } from './visitor/index';\nexport { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index';\nexport type { TrackProperties, TrackTags, AllowedPropertyValues } from './track/types';\nexport type { VisitorProperties } from './visitor/types';\n"],"mappings":";AAAA,SAAS,sBAAsB;AAC/B,SAAS,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { setupAnalytics } from './setup/index';\nexport { track, trackAsync } from './track/index';\nexport { getVisitor, setVisitor } from './visitor/index';\nexport { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index';\nexport type { TrackProperties, TrackTags, AllowedPropertyValues } from './track/types';\nexport type { VisitorProperties } from './visitor/types';\n"],"mappings":";AAAA,SAAS,sBAAsB;AAC/B,SAAS,OAAO,kBAAkB;AAClC,SAAS,YAAY,kBAAkB;AACvC,SAAS,wBAAwB,qBAAqB,2BAA2B;","names":[]}
|
package/dist/schema/index.d.cts
CHANGED
|
@@ -34,28 +34,28 @@ declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
|
|
|
34
34
|
utm_term: z.ZodOptional<z.ZodString>;
|
|
35
35
|
utm_content: z.ZodOptional<z.ZodString>;
|
|
36
36
|
}, "strip", z.ZodTypeAny, {
|
|
37
|
-
gclid?: string | undefined;
|
|
38
|
-
language?: string | undefined;
|
|
39
|
-
screen_resolution?: `${number}x${number}` | undefined;
|
|
40
37
|
os?: string | undefined;
|
|
41
38
|
os_name?: string | undefined;
|
|
42
39
|
os_version?: string | undefined;
|
|
43
40
|
browser?: string | undefined;
|
|
44
41
|
browser_name?: string | undefined;
|
|
45
42
|
browser_version?: string | undefined;
|
|
46
|
-
platform?: "ios" | "android" | "web" | "macos" | "windows" | "linux" |
|
|
43
|
+
platform?: "unknown" | "ios" | "android" | "web" | "macos" | "windows" | "linux" | undefined;
|
|
47
44
|
device?: string | undefined;
|
|
48
45
|
device_id?: string | undefined;
|
|
49
46
|
device_type?: string | undefined;
|
|
50
47
|
device_vendor?: string | undefined;
|
|
51
48
|
device_pixel_ratio?: string | undefined;
|
|
49
|
+
screen_resolution?: `${number}x${number}` | undefined;
|
|
52
50
|
release?: string | undefined;
|
|
51
|
+
language?: string | undefined;
|
|
53
52
|
timezone?: string | undefined;
|
|
54
53
|
environment?: "development" | "production" | undefined;
|
|
55
54
|
source_url?: string | undefined;
|
|
56
55
|
source?: "web" | "app" | "offline" | undefined;
|
|
57
56
|
fbc?: string | undefined;
|
|
58
57
|
fbp?: string | undefined;
|
|
58
|
+
gclid?: string | undefined;
|
|
59
59
|
advertising_id?: string | undefined;
|
|
60
60
|
utm_source?: string | undefined;
|
|
61
61
|
utm_medium?: string | undefined;
|
|
@@ -63,28 +63,28 @@ declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
|
|
|
63
63
|
utm_term?: string | undefined;
|
|
64
64
|
utm_content?: string | undefined;
|
|
65
65
|
}, {
|
|
66
|
-
gclid?: string | undefined;
|
|
67
|
-
language?: string | undefined;
|
|
68
|
-
screen_resolution?: string | undefined;
|
|
69
66
|
os?: string | undefined;
|
|
70
67
|
os_name?: string | undefined;
|
|
71
68
|
os_version?: string | undefined;
|
|
72
69
|
browser?: string | undefined;
|
|
73
70
|
browser_name?: string | undefined;
|
|
74
71
|
browser_version?: string | undefined;
|
|
75
|
-
platform?: "ios" | "android" | "web" | "macos" | "windows" | "linux" |
|
|
72
|
+
platform?: "unknown" | "ios" | "android" | "web" | "macos" | "windows" | "linux" | undefined;
|
|
76
73
|
device?: string | undefined;
|
|
77
74
|
device_id?: string | undefined;
|
|
78
75
|
device_type?: string | undefined;
|
|
79
76
|
device_vendor?: string | undefined;
|
|
80
77
|
device_pixel_ratio?: string | undefined;
|
|
78
|
+
screen_resolution?: string | undefined;
|
|
81
79
|
release?: string | undefined;
|
|
80
|
+
language?: string | undefined;
|
|
82
81
|
timezone?: string | undefined;
|
|
83
82
|
environment?: "development" | "production" | undefined;
|
|
84
83
|
source_url?: string | undefined;
|
|
85
84
|
source?: "web" | "app" | "offline" | undefined;
|
|
86
85
|
fbc?: string | undefined;
|
|
87
86
|
fbp?: string | undefined;
|
|
87
|
+
gclid?: string | undefined;
|
|
88
88
|
advertising_id?: string | undefined;
|
|
89
89
|
utm_source?: string | undefined;
|
|
90
90
|
utm_medium?: string | undefined;
|
|
@@ -94,32 +94,32 @@ declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
|
|
|
94
94
|
}>;
|
|
95
95
|
properties: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>, "many">]>>, Record<string, string | number | boolean | Record<string, string | number | boolean | null>[] | null>, Record<string, string | number | boolean | Record<string, string | number | boolean | null>[] | null>>>;
|
|
96
96
|
}, "strip", z.ZodTypeAny, {
|
|
97
|
-
visitor_id: bigint;
|
|
98
97
|
name: string;
|
|
98
|
+
visitor_id: bigint;
|
|
99
99
|
timestamp: string;
|
|
100
100
|
tags: {
|
|
101
|
-
gclid?: string | undefined;
|
|
102
|
-
language?: string | undefined;
|
|
103
|
-
screen_resolution?: `${number}x${number}` | undefined;
|
|
104
101
|
os?: string | undefined;
|
|
105
102
|
os_name?: string | undefined;
|
|
106
103
|
os_version?: string | undefined;
|
|
107
104
|
browser?: string | undefined;
|
|
108
105
|
browser_name?: string | undefined;
|
|
109
106
|
browser_version?: string | undefined;
|
|
110
|
-
platform?: "ios" | "android" | "web" | "macos" | "windows" | "linux" |
|
|
107
|
+
platform?: "unknown" | "ios" | "android" | "web" | "macos" | "windows" | "linux" | undefined;
|
|
111
108
|
device?: string | undefined;
|
|
112
109
|
device_id?: string | undefined;
|
|
113
110
|
device_type?: string | undefined;
|
|
114
111
|
device_vendor?: string | undefined;
|
|
115
112
|
device_pixel_ratio?: string | undefined;
|
|
113
|
+
screen_resolution?: `${number}x${number}` | undefined;
|
|
116
114
|
release?: string | undefined;
|
|
115
|
+
language?: string | undefined;
|
|
117
116
|
timezone?: string | undefined;
|
|
118
117
|
environment?: "development" | "production" | undefined;
|
|
119
118
|
source_url?: string | undefined;
|
|
120
119
|
source?: "web" | "app" | "offline" | undefined;
|
|
121
120
|
fbc?: string | undefined;
|
|
122
121
|
fbp?: string | undefined;
|
|
122
|
+
gclid?: string | undefined;
|
|
123
123
|
advertising_id?: string | undefined;
|
|
124
124
|
utm_source?: string | undefined;
|
|
125
125
|
utm_medium?: string | undefined;
|
|
@@ -129,32 +129,32 @@ declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
|
|
|
129
129
|
};
|
|
130
130
|
properties?: Record<string, string | number | boolean | Record<string, string | number | boolean | null>[] | null> | undefined;
|
|
131
131
|
}, {
|
|
132
|
-
visitor_id: bigint;
|
|
133
132
|
name: string;
|
|
133
|
+
visitor_id: bigint;
|
|
134
134
|
timestamp: string;
|
|
135
135
|
tags: {
|
|
136
|
-
gclid?: string | undefined;
|
|
137
|
-
language?: string | undefined;
|
|
138
|
-
screen_resolution?: string | undefined;
|
|
139
136
|
os?: string | undefined;
|
|
140
137
|
os_name?: string | undefined;
|
|
141
138
|
os_version?: string | undefined;
|
|
142
139
|
browser?: string | undefined;
|
|
143
140
|
browser_name?: string | undefined;
|
|
144
141
|
browser_version?: string | undefined;
|
|
145
|
-
platform?: "ios" | "android" | "web" | "macos" | "windows" | "linux" |
|
|
142
|
+
platform?: "unknown" | "ios" | "android" | "web" | "macos" | "windows" | "linux" | undefined;
|
|
146
143
|
device?: string | undefined;
|
|
147
144
|
device_id?: string | undefined;
|
|
148
145
|
device_type?: string | undefined;
|
|
149
146
|
device_vendor?: string | undefined;
|
|
150
147
|
device_pixel_ratio?: string | undefined;
|
|
148
|
+
screen_resolution?: string | undefined;
|
|
151
149
|
release?: string | undefined;
|
|
150
|
+
language?: string | undefined;
|
|
152
151
|
timezone?: string | undefined;
|
|
153
152
|
environment?: "development" | "production" | undefined;
|
|
154
153
|
source_url?: string | undefined;
|
|
155
154
|
source?: "web" | "app" | "offline" | undefined;
|
|
156
155
|
fbc?: string | undefined;
|
|
157
156
|
fbp?: string | undefined;
|
|
157
|
+
gclid?: string | undefined;
|
|
158
158
|
advertising_id?: string | undefined;
|
|
159
159
|
utm_source?: string | undefined;
|
|
160
160
|
utm_medium?: string | undefined;
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -34,28 +34,28 @@ declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
|
|
|
34
34
|
utm_term: z.ZodOptional<z.ZodString>;
|
|
35
35
|
utm_content: z.ZodOptional<z.ZodString>;
|
|
36
36
|
}, "strip", z.ZodTypeAny, {
|
|
37
|
-
gclid?: string | undefined;
|
|
38
|
-
language?: string | undefined;
|
|
39
|
-
screen_resolution?: `${number}x${number}` | undefined;
|
|
40
37
|
os?: string | undefined;
|
|
41
38
|
os_name?: string | undefined;
|
|
42
39
|
os_version?: string | undefined;
|
|
43
40
|
browser?: string | undefined;
|
|
44
41
|
browser_name?: string | undefined;
|
|
45
42
|
browser_version?: string | undefined;
|
|
46
|
-
platform?: "ios" | "android" | "web" | "macos" | "windows" | "linux" |
|
|
43
|
+
platform?: "unknown" | "ios" | "android" | "web" | "macos" | "windows" | "linux" | undefined;
|
|
47
44
|
device?: string | undefined;
|
|
48
45
|
device_id?: string | undefined;
|
|
49
46
|
device_type?: string | undefined;
|
|
50
47
|
device_vendor?: string | undefined;
|
|
51
48
|
device_pixel_ratio?: string | undefined;
|
|
49
|
+
screen_resolution?: `${number}x${number}` | undefined;
|
|
52
50
|
release?: string | undefined;
|
|
51
|
+
language?: string | undefined;
|
|
53
52
|
timezone?: string | undefined;
|
|
54
53
|
environment?: "development" | "production" | undefined;
|
|
55
54
|
source_url?: string | undefined;
|
|
56
55
|
source?: "web" | "app" | "offline" | undefined;
|
|
57
56
|
fbc?: string | undefined;
|
|
58
57
|
fbp?: string | undefined;
|
|
58
|
+
gclid?: string | undefined;
|
|
59
59
|
advertising_id?: string | undefined;
|
|
60
60
|
utm_source?: string | undefined;
|
|
61
61
|
utm_medium?: string | undefined;
|
|
@@ -63,28 +63,28 @@ declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
|
|
|
63
63
|
utm_term?: string | undefined;
|
|
64
64
|
utm_content?: string | undefined;
|
|
65
65
|
}, {
|
|
66
|
-
gclid?: string | undefined;
|
|
67
|
-
language?: string | undefined;
|
|
68
|
-
screen_resolution?: string | undefined;
|
|
69
66
|
os?: string | undefined;
|
|
70
67
|
os_name?: string | undefined;
|
|
71
68
|
os_version?: string | undefined;
|
|
72
69
|
browser?: string | undefined;
|
|
73
70
|
browser_name?: string | undefined;
|
|
74
71
|
browser_version?: string | undefined;
|
|
75
|
-
platform?: "ios" | "android" | "web" | "macos" | "windows" | "linux" |
|
|
72
|
+
platform?: "unknown" | "ios" | "android" | "web" | "macos" | "windows" | "linux" | undefined;
|
|
76
73
|
device?: string | undefined;
|
|
77
74
|
device_id?: string | undefined;
|
|
78
75
|
device_type?: string | undefined;
|
|
79
76
|
device_vendor?: string | undefined;
|
|
80
77
|
device_pixel_ratio?: string | undefined;
|
|
78
|
+
screen_resolution?: string | undefined;
|
|
81
79
|
release?: string | undefined;
|
|
80
|
+
language?: string | undefined;
|
|
82
81
|
timezone?: string | undefined;
|
|
83
82
|
environment?: "development" | "production" | undefined;
|
|
84
83
|
source_url?: string | undefined;
|
|
85
84
|
source?: "web" | "app" | "offline" | undefined;
|
|
86
85
|
fbc?: string | undefined;
|
|
87
86
|
fbp?: string | undefined;
|
|
87
|
+
gclid?: string | undefined;
|
|
88
88
|
advertising_id?: string | undefined;
|
|
89
89
|
utm_source?: string | undefined;
|
|
90
90
|
utm_medium?: string | undefined;
|
|
@@ -94,32 +94,32 @@ declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
|
|
|
94
94
|
}>;
|
|
95
95
|
properties: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>, "many">]>>, Record<string, string | number | boolean | Record<string, string | number | boolean | null>[] | null>, Record<string, string | number | boolean | Record<string, string | number | boolean | null>[] | null>>>;
|
|
96
96
|
}, "strip", z.ZodTypeAny, {
|
|
97
|
-
visitor_id: bigint;
|
|
98
97
|
name: string;
|
|
98
|
+
visitor_id: bigint;
|
|
99
99
|
timestamp: string;
|
|
100
100
|
tags: {
|
|
101
|
-
gclid?: string | undefined;
|
|
102
|
-
language?: string | undefined;
|
|
103
|
-
screen_resolution?: `${number}x${number}` | undefined;
|
|
104
101
|
os?: string | undefined;
|
|
105
102
|
os_name?: string | undefined;
|
|
106
103
|
os_version?: string | undefined;
|
|
107
104
|
browser?: string | undefined;
|
|
108
105
|
browser_name?: string | undefined;
|
|
109
106
|
browser_version?: string | undefined;
|
|
110
|
-
platform?: "ios" | "android" | "web" | "macos" | "windows" | "linux" |
|
|
107
|
+
platform?: "unknown" | "ios" | "android" | "web" | "macos" | "windows" | "linux" | undefined;
|
|
111
108
|
device?: string | undefined;
|
|
112
109
|
device_id?: string | undefined;
|
|
113
110
|
device_type?: string | undefined;
|
|
114
111
|
device_vendor?: string | undefined;
|
|
115
112
|
device_pixel_ratio?: string | undefined;
|
|
113
|
+
screen_resolution?: `${number}x${number}` | undefined;
|
|
116
114
|
release?: string | undefined;
|
|
115
|
+
language?: string | undefined;
|
|
117
116
|
timezone?: string | undefined;
|
|
118
117
|
environment?: "development" | "production" | undefined;
|
|
119
118
|
source_url?: string | undefined;
|
|
120
119
|
source?: "web" | "app" | "offline" | undefined;
|
|
121
120
|
fbc?: string | undefined;
|
|
122
121
|
fbp?: string | undefined;
|
|
122
|
+
gclid?: string | undefined;
|
|
123
123
|
advertising_id?: string | undefined;
|
|
124
124
|
utm_source?: string | undefined;
|
|
125
125
|
utm_medium?: string | undefined;
|
|
@@ -129,32 +129,32 @@ declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
|
|
|
129
129
|
};
|
|
130
130
|
properties?: Record<string, string | number | boolean | Record<string, string | number | boolean | null>[] | null> | undefined;
|
|
131
131
|
}, {
|
|
132
|
-
visitor_id: bigint;
|
|
133
132
|
name: string;
|
|
133
|
+
visitor_id: bigint;
|
|
134
134
|
timestamp: string;
|
|
135
135
|
tags: {
|
|
136
|
-
gclid?: string | undefined;
|
|
137
|
-
language?: string | undefined;
|
|
138
|
-
screen_resolution?: string | undefined;
|
|
139
136
|
os?: string | undefined;
|
|
140
137
|
os_name?: string | undefined;
|
|
141
138
|
os_version?: string | undefined;
|
|
142
139
|
browser?: string | undefined;
|
|
143
140
|
browser_name?: string | undefined;
|
|
144
141
|
browser_version?: string | undefined;
|
|
145
|
-
platform?: "ios" | "android" | "web" | "macos" | "windows" | "linux" |
|
|
142
|
+
platform?: "unknown" | "ios" | "android" | "web" | "macos" | "windows" | "linux" | undefined;
|
|
146
143
|
device?: string | undefined;
|
|
147
144
|
device_id?: string | undefined;
|
|
148
145
|
device_type?: string | undefined;
|
|
149
146
|
device_vendor?: string | undefined;
|
|
150
147
|
device_pixel_ratio?: string | undefined;
|
|
148
|
+
screen_resolution?: string | undefined;
|
|
151
149
|
release?: string | undefined;
|
|
150
|
+
language?: string | undefined;
|
|
152
151
|
timezone?: string | undefined;
|
|
153
152
|
environment?: "development" | "production" | undefined;
|
|
154
153
|
source_url?: string | undefined;
|
|
155
154
|
source?: "web" | "app" | "offline" | undefined;
|
|
156
155
|
fbc?: string | undefined;
|
|
157
156
|
fbp?: string | undefined;
|
|
157
|
+
gclid?: string | undefined;
|
|
158
158
|
advertising_id?: string | undefined;
|
|
159
159
|
utm_source?: string | undefined;
|
|
160
160
|
utm_medium?: string | undefined;
|
package/dist/track/index.cjs
CHANGED
|
@@ -20,7 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/track/index.ts
|
|
21
21
|
var track_exports = {};
|
|
22
22
|
__export(track_exports, {
|
|
23
|
-
track: () => track
|
|
23
|
+
track: () => track,
|
|
24
|
+
trackAsync: () => trackAsync
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(track_exports);
|
|
26
27
|
var import_limiter = require("limiter");
|
|
@@ -85,8 +86,12 @@ function track(name, properties, options = defaultOptions) {
|
|
|
85
86
|
sendEvents(copy);
|
|
86
87
|
}, delay);
|
|
87
88
|
}
|
|
89
|
+
async function trackAsync(name, properties, options = defaultOptions) {
|
|
90
|
+
await sendEvents([{ name, properties, options, timestamp: (/* @__PURE__ */ new Date()).toISOString() }]);
|
|
91
|
+
}
|
|
88
92
|
// Annotate the CommonJS export names for ESM import in node:
|
|
89
93
|
0 && (module.exports = {
|
|
90
|
-
track
|
|
94
|
+
track,
|
|
95
|
+
trackAsync
|
|
91
96
|
});
|
|
92
97
|
//# sourceMappingURL=index.cjs.map
|
package/dist/track/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/track/index.ts"],"sourcesContent":["import { TokenBucket } from 'limiter';\nimport { config } from '../setup/index';\nimport { getVisitor } from '../visitor/index';\nimport type {\n CreateTrackEventDTO,\n EventName,\n TrackName,\n TrackProperties,\n TrackEventResponse,\n} from './types';\n\nexport interface TrackOptions {\n enableThirdPartyTracking?: boolean;\n onSucceed?: (response?: TrackEventResponse[number]) => void;\n onError?: (error: unknown) => void;\n}\n\nconst defaultOptions: TrackOptions = { enableThirdPartyTracking: true };\n\nconst REQUEST_TOKENS = 2;\nconst tokenBucket = new TokenBucket({\n bucketSize: 20,\n interval: 'second',\n tokensPerInterval: 1,\n});\n\ntype Item = {\n name: TrackName<any>;\n properties: TrackProperties<any>;\n timestamp: string;\n options: TrackOptions;\n};\n\nasync function sendEvents(events: Item[]) {\n try {\n if (events.length === 0) return;\n await tokenBucket.removeTokens(REQUEST_TOKENS);\n\n const tags = await config.getTags();\n const visitor_id = (await getVisitor()).id;\n const dto: CreateTrackEventDTO = events.map((event) => ({\n name: event.name,\n properties: event.properties,\n tags,\n visitor_id,\n timestamp: event.timestamp,\n }));\n const { data } = await config.http.post<TrackEventResponse>(`/events`, dto);\n let index = 0;\n while (events.length > 0) {\n const { options, name, properties } = events.shift()!;\n const eventId = data[index].id;\n options.onSucceed?.({ id: eventId });\n index++;\n if (!options.enableThirdPartyTracking || !config.thirdPartyTrackers) continue;\n config.thirdPartyTrackers.forEach((tracker) => tracker(name, properties, eventId));\n }\n } catch (e: unknown) {\n if (e instanceof Error) console.log('Failed to send track event:', e.message);\n events.forEach((event) => event.options.onError?.(e));\n }\n}\n\nconst batch = 10;\nconst delay = 2000;\nconst list: Item[] = [];\nlet timer: ReturnType<typeof setTimeout> | null = null;\n\nexport function track<T extends EventName = EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>,\n options: TrackOptions = defaultOptions\n) {\n list.push({ name, properties, options, timestamp: new Date().toISOString() });\n if (list.length >= batch) {\n const copy = [...list];\n list.length = 0;\n sendEvents(copy);\n return;\n }\n if (timer) clearTimeout(timer);\n timer = setTimeout(() => {\n timer = null;\n const copy = [...list];\n list.length = 0;\n sendEvents(copy);\n }, delay);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA4B;AAC5B,mBAAuB;AACvB,qBAA2B;AAe3B,IAAM,iBAA+B,EAAE,0BAA0B,KAAK;AAEtE,IAAM,iBAAiB;AACvB,IAAM,cAAc,IAAI,2BAAY;AAAA,EAClC,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,mBAAmB;AACrB,CAAC;AASD,eAAe,WAAW,QAAgB;AAjC1C;AAkCE,MAAI;AACF,QAAI,OAAO,WAAW,EAAG;AACzB,UAAM,YAAY,aAAa,cAAc;AAE7C,UAAM,OAAO,MAAM,oBAAO,QAAQ;AAClC,UAAM,cAAc,UAAM,2BAAW,GAAG;AACxC,UAAM,MAA2B,OAAO,IAAI,CAAC,WAAW;AAAA,MACtD,MAAM,MAAM;AAAA,MACZ,YAAY,MAAM;AAAA,MAClB;AAAA,MACA;AAAA,MACA,WAAW,MAAM;AAAA,IACnB,EAAE;AACF,UAAM,EAAE,KAAK,IAAI,MAAM,oBAAO,KAAK,KAAyB,WAAW,GAAG;AAC1E,QAAI,QAAQ;AACZ,WAAO,OAAO,SAAS,GAAG;AACxB,YAAM,EAAE,SAAS,MAAM,WAAW,IAAI,OAAO,MAAM;AACnD,YAAM,UAAU,KAAK,KAAK,EAAE;AAC5B,oBAAQ,cAAR,iCAAoB,EAAE,IAAI,QAAQ;AAClC;AACA,UAAI,CAAC,QAAQ,4BAA4B,CAAC,oBAAO,mBAAoB;AACrE,0BAAO,mBAAmB,QAAQ,CAAC,YAAY,QAAQ,MAAM,YAAY,OAAO,CAAC;AAAA,IACnF;AAAA,EACF,SAAS,GAAY;AACnB,QAAI,aAAa,MAAO,SAAQ,IAAI,+BAA+B,EAAE,OAAO;AAC5E,WAAO,QAAQ,CAAC,UAAO;AA3D3B,UAAAA,KAAA;AA2D8B,oBAAAA,MAAA,MAAM,SAAQ,YAAd,wBAAAA,KAAwB;AAAA,KAAE;AAAA,EACtD;AACF;AAEA,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,OAAe,CAAC;AACtB,IAAI,QAA8C;AAE3C,SAAS,MACd,MACA,YACA,UAAwB,gBACxB;AACA,OAAK,KAAK,EAAE,MAAM,YAAY,SAAS,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC;AAC5E,MAAI,KAAK,UAAU,OAAO;AACxB,UAAM,OAAO,CAAC,GAAG,IAAI;AACrB,SAAK,SAAS;AACd,eAAW,IAAI;AACf;AAAA,EACF;AACA,MAAI,MAAO,cAAa,KAAK;AAC7B,UAAQ,WAAW,MAAM;AACvB,YAAQ;AACR,UAAM,OAAO,CAAC,GAAG,IAAI;AACrB,SAAK,SAAS;AACd,eAAW,IAAI;AAAA,EACjB,GAAG,KAAK;AACV;","names":["_a"]}
|
|
1
|
+
{"version":3,"sources":["../../src/track/index.ts"],"sourcesContent":["import { TokenBucket } from 'limiter';\nimport { config } from '../setup/index';\nimport { getVisitor } from '../visitor/index';\nimport type {\n CreateTrackEventDTO,\n EventName,\n TrackName,\n TrackProperties,\n TrackEventResponse,\n} from './types';\n\nexport interface TrackOptions {\n enableThirdPartyTracking?: boolean;\n onSucceed?: (response?: TrackEventResponse[number]) => void;\n onError?: (error: unknown) => void;\n}\n\nconst defaultOptions: TrackOptions = { enableThirdPartyTracking: true };\n\nconst REQUEST_TOKENS = 2;\nconst tokenBucket = new TokenBucket({\n bucketSize: 20,\n interval: 'second',\n tokensPerInterval: 1,\n});\n\ntype Item = {\n name: TrackName<any>;\n properties: TrackProperties<any>;\n timestamp: string;\n options: TrackOptions;\n};\n\nasync function sendEvents(events: Item[]) {\n try {\n if (events.length === 0) return;\n await tokenBucket.removeTokens(REQUEST_TOKENS);\n\n const tags = await config.getTags();\n const visitor_id = (await getVisitor()).id;\n const dto: CreateTrackEventDTO = events.map((event) => ({\n name: event.name,\n properties: event.properties,\n tags,\n visitor_id,\n timestamp: event.timestamp,\n }));\n const { data } = await config.http.post<TrackEventResponse>(`/events`, dto);\n let index = 0;\n while (events.length > 0) {\n const { options, name, properties } = events.shift()!;\n const eventId = data[index].id;\n options.onSucceed?.({ id: eventId });\n index++;\n if (!options.enableThirdPartyTracking || !config.thirdPartyTrackers) continue;\n config.thirdPartyTrackers.forEach((tracker) => tracker(name, properties, eventId));\n }\n } catch (e: unknown) {\n if (e instanceof Error) console.log('Failed to send track event:', e.message);\n events.forEach((event) => event.options.onError?.(e));\n }\n}\n\nconst batch = 10;\nconst delay = 2000;\nconst list: Item[] = [];\nlet timer: ReturnType<typeof setTimeout> | null = null;\n\nexport function track<T extends EventName = EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>,\n options: TrackOptions = defaultOptions\n) {\n list.push({ name, properties, options, timestamp: new Date().toISOString() });\n if (list.length >= batch) {\n const copy = [...list];\n list.length = 0;\n sendEvents(copy);\n return;\n }\n if (timer) clearTimeout(timer);\n timer = setTimeout(() => {\n timer = null;\n const copy = [...list];\n list.length = 0;\n sendEvents(copy);\n }, delay);\n}\n\nexport async function trackAsync<T extends EventName = EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>,\n options: TrackOptions = defaultOptions\n) {\n await sendEvents([{ name, properties, options, timestamp: new Date().toISOString() }]);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA4B;AAC5B,mBAAuB;AACvB,qBAA2B;AAe3B,IAAM,iBAA+B,EAAE,0BAA0B,KAAK;AAEtE,IAAM,iBAAiB;AACvB,IAAM,cAAc,IAAI,2BAAY;AAAA,EAClC,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,mBAAmB;AACrB,CAAC;AASD,eAAe,WAAW,QAAgB;AAjC1C;AAkCE,MAAI;AACF,QAAI,OAAO,WAAW,EAAG;AACzB,UAAM,YAAY,aAAa,cAAc;AAE7C,UAAM,OAAO,MAAM,oBAAO,QAAQ;AAClC,UAAM,cAAc,UAAM,2BAAW,GAAG;AACxC,UAAM,MAA2B,OAAO,IAAI,CAAC,WAAW;AAAA,MACtD,MAAM,MAAM;AAAA,MACZ,YAAY,MAAM;AAAA,MAClB;AAAA,MACA;AAAA,MACA,WAAW,MAAM;AAAA,IACnB,EAAE;AACF,UAAM,EAAE,KAAK,IAAI,MAAM,oBAAO,KAAK,KAAyB,WAAW,GAAG;AAC1E,QAAI,QAAQ;AACZ,WAAO,OAAO,SAAS,GAAG;AACxB,YAAM,EAAE,SAAS,MAAM,WAAW,IAAI,OAAO,MAAM;AACnD,YAAM,UAAU,KAAK,KAAK,EAAE;AAC5B,oBAAQ,cAAR,iCAAoB,EAAE,IAAI,QAAQ;AAClC;AACA,UAAI,CAAC,QAAQ,4BAA4B,CAAC,oBAAO,mBAAoB;AACrE,0BAAO,mBAAmB,QAAQ,CAAC,YAAY,QAAQ,MAAM,YAAY,OAAO,CAAC;AAAA,IACnF;AAAA,EACF,SAAS,GAAY;AACnB,QAAI,aAAa,MAAO,SAAQ,IAAI,+BAA+B,EAAE,OAAO;AAC5E,WAAO,QAAQ,CAAC,UAAO;AA3D3B,UAAAA,KAAA;AA2D8B,oBAAAA,MAAA,MAAM,SAAQ,YAAd,wBAAAA,KAAwB;AAAA,KAAE;AAAA,EACtD;AACF;AAEA,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,OAAe,CAAC;AACtB,IAAI,QAA8C;AAE3C,SAAS,MACd,MACA,YACA,UAAwB,gBACxB;AACA,OAAK,KAAK,EAAE,MAAM,YAAY,SAAS,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC;AAC5E,MAAI,KAAK,UAAU,OAAO;AACxB,UAAM,OAAO,CAAC,GAAG,IAAI;AACrB,SAAK,SAAS;AACd,eAAW,IAAI;AACf;AAAA,EACF;AACA,MAAI,MAAO,cAAa,KAAK;AAC7B,UAAQ,WAAW,MAAM;AACvB,YAAQ;AACR,UAAM,OAAO,CAAC,GAAG,IAAI;AACrB,SAAK,SAAS;AACd,eAAW,IAAI;AAAA,EACjB,GAAG,KAAK;AACV;AAEA,eAAsB,WACpB,MACA,YACA,UAAwB,gBACxB;AACA,QAAM,WAAW,CAAC,EAAE,MAAM,YAAY,SAAS,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC,CAAC;AACvF;","names":["_a"]}
|
package/dist/track/index.d.cts
CHANGED
|
@@ -7,5 +7,6 @@ interface TrackOptions {
|
|
|
7
7
|
onError?: (error: unknown) => void;
|
|
8
8
|
}
|
|
9
9
|
declare function track<T extends EventName = EventName>(name: TrackName<T>, properties?: TrackProperties<T>, options?: TrackOptions): void;
|
|
10
|
+
declare function trackAsync<T extends EventName = EventName>(name: TrackName<T>, properties?: TrackProperties<T>, options?: TrackOptions): Promise<void>;
|
|
10
11
|
|
|
11
|
-
export { type TrackOptions, track };
|
|
12
|
+
export { type TrackOptions, track, trackAsync };
|
package/dist/track/index.d.ts
CHANGED
|
@@ -7,5 +7,6 @@ interface TrackOptions {
|
|
|
7
7
|
onError?: (error: unknown) => void;
|
|
8
8
|
}
|
|
9
9
|
declare function track<T extends EventName = EventName>(name: TrackName<T>, properties?: TrackProperties<T>, options?: TrackOptions): void;
|
|
10
|
+
declare function trackAsync<T extends EventName = EventName>(name: TrackName<T>, properties?: TrackProperties<T>, options?: TrackOptions): Promise<void>;
|
|
10
11
|
|
|
11
|
-
export { type TrackOptions, track };
|
|
12
|
+
export { type TrackOptions, track, trackAsync };
|
package/dist/track/index.mjs
CHANGED
|
@@ -61,7 +61,11 @@ function track(name, properties, options = defaultOptions) {
|
|
|
61
61
|
sendEvents(copy);
|
|
62
62
|
}, delay);
|
|
63
63
|
}
|
|
64
|
+
async function trackAsync(name, properties, options = defaultOptions) {
|
|
65
|
+
await sendEvents([{ name, properties, options, timestamp: (/* @__PURE__ */ new Date()).toISOString() }]);
|
|
66
|
+
}
|
|
64
67
|
export {
|
|
65
|
-
track
|
|
68
|
+
track,
|
|
69
|
+
trackAsync
|
|
66
70
|
};
|
|
67
71
|
//# sourceMappingURL=index.mjs.map
|
package/dist/track/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/track/index.ts"],"sourcesContent":["import { TokenBucket } from 'limiter';\nimport { config } from '../setup/index';\nimport { getVisitor } from '../visitor/index';\nimport type {\n CreateTrackEventDTO,\n EventName,\n TrackName,\n TrackProperties,\n TrackEventResponse,\n} from './types';\n\nexport interface TrackOptions {\n enableThirdPartyTracking?: boolean;\n onSucceed?: (response?: TrackEventResponse[number]) => void;\n onError?: (error: unknown) => void;\n}\n\nconst defaultOptions: TrackOptions = { enableThirdPartyTracking: true };\n\nconst REQUEST_TOKENS = 2;\nconst tokenBucket = new TokenBucket({\n bucketSize: 20,\n interval: 'second',\n tokensPerInterval: 1,\n});\n\ntype Item = {\n name: TrackName<any>;\n properties: TrackProperties<any>;\n timestamp: string;\n options: TrackOptions;\n};\n\nasync function sendEvents(events: Item[]) {\n try {\n if (events.length === 0) return;\n await tokenBucket.removeTokens(REQUEST_TOKENS);\n\n const tags = await config.getTags();\n const visitor_id = (await getVisitor()).id;\n const dto: CreateTrackEventDTO = events.map((event) => ({\n name: event.name,\n properties: event.properties,\n tags,\n visitor_id,\n timestamp: event.timestamp,\n }));\n const { data } = await config.http.post<TrackEventResponse>(`/events`, dto);\n let index = 0;\n while (events.length > 0) {\n const { options, name, properties } = events.shift()!;\n const eventId = data[index].id;\n options.onSucceed?.({ id: eventId });\n index++;\n if (!options.enableThirdPartyTracking || !config.thirdPartyTrackers) continue;\n config.thirdPartyTrackers.forEach((tracker) => tracker(name, properties, eventId));\n }\n } catch (e: unknown) {\n if (e instanceof Error) console.log('Failed to send track event:', e.message);\n events.forEach((event) => event.options.onError?.(e));\n }\n}\n\nconst batch = 10;\nconst delay = 2000;\nconst list: Item[] = [];\nlet timer: ReturnType<typeof setTimeout> | null = null;\n\nexport function track<T extends EventName = EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>,\n options: TrackOptions = defaultOptions\n) {\n list.push({ name, properties, options, timestamp: new Date().toISOString() });\n if (list.length >= batch) {\n const copy = [...list];\n list.length = 0;\n sendEvents(copy);\n return;\n }\n if (timer) clearTimeout(timer);\n timer = setTimeout(() => {\n timer = null;\n const copy = [...list];\n list.length = 0;\n sendEvents(copy);\n }, delay);\n}\n"],"mappings":";AAAA,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAe3B,IAAM,iBAA+B,EAAE,0BAA0B,KAAK;AAEtE,IAAM,iBAAiB;AACvB,IAAM,cAAc,IAAI,YAAY;AAAA,EAClC,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,mBAAmB;AACrB,CAAC;AASD,eAAe,WAAW,QAAgB;AAjC1C;AAkCE,MAAI;AACF,QAAI,OAAO,WAAW,EAAG;AACzB,UAAM,YAAY,aAAa,cAAc;AAE7C,UAAM,OAAO,MAAM,OAAO,QAAQ;AAClC,UAAM,cAAc,MAAM,WAAW,GAAG;AACxC,UAAM,MAA2B,OAAO,IAAI,CAAC,WAAW;AAAA,MACtD,MAAM,MAAM;AAAA,MACZ,YAAY,MAAM;AAAA,MAClB;AAAA,MACA;AAAA,MACA,WAAW,MAAM;AAAA,IACnB,EAAE;AACF,UAAM,EAAE,KAAK,IAAI,MAAM,OAAO,KAAK,KAAyB,WAAW,GAAG;AAC1E,QAAI,QAAQ;AACZ,WAAO,OAAO,SAAS,GAAG;AACxB,YAAM,EAAE,SAAS,MAAM,WAAW,IAAI,OAAO,MAAM;AACnD,YAAM,UAAU,KAAK,KAAK,EAAE;AAC5B,oBAAQ,cAAR,iCAAoB,EAAE,IAAI,QAAQ;AAClC;AACA,UAAI,CAAC,QAAQ,4BAA4B,CAAC,OAAO,mBAAoB;AACrE,aAAO,mBAAmB,QAAQ,CAAC,YAAY,QAAQ,MAAM,YAAY,OAAO,CAAC;AAAA,IACnF;AAAA,EACF,SAAS,GAAY;AACnB,QAAI,aAAa,MAAO,SAAQ,IAAI,+BAA+B,EAAE,OAAO;AAC5E,WAAO,QAAQ,CAAC,UAAO;AA3D3B,UAAAA,KAAA;AA2D8B,oBAAAA,MAAA,MAAM,SAAQ,YAAd,wBAAAA,KAAwB;AAAA,KAAE;AAAA,EACtD;AACF;AAEA,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,OAAe,CAAC;AACtB,IAAI,QAA8C;AAE3C,SAAS,MACd,MACA,YACA,UAAwB,gBACxB;AACA,OAAK,KAAK,EAAE,MAAM,YAAY,SAAS,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC;AAC5E,MAAI,KAAK,UAAU,OAAO;AACxB,UAAM,OAAO,CAAC,GAAG,IAAI;AACrB,SAAK,SAAS;AACd,eAAW,IAAI;AACf;AAAA,EACF;AACA,MAAI,MAAO,cAAa,KAAK;AAC7B,UAAQ,WAAW,MAAM;AACvB,YAAQ;AACR,UAAM,OAAO,CAAC,GAAG,IAAI;AACrB,SAAK,SAAS;AACd,eAAW,IAAI;AAAA,EACjB,GAAG,KAAK;AACV;","names":["_a"]}
|
|
1
|
+
{"version":3,"sources":["../../src/track/index.ts"],"sourcesContent":["import { TokenBucket } from 'limiter';\nimport { config } from '../setup/index';\nimport { getVisitor } from '../visitor/index';\nimport type {\n CreateTrackEventDTO,\n EventName,\n TrackName,\n TrackProperties,\n TrackEventResponse,\n} from './types';\n\nexport interface TrackOptions {\n enableThirdPartyTracking?: boolean;\n onSucceed?: (response?: TrackEventResponse[number]) => void;\n onError?: (error: unknown) => void;\n}\n\nconst defaultOptions: TrackOptions = { enableThirdPartyTracking: true };\n\nconst REQUEST_TOKENS = 2;\nconst tokenBucket = new TokenBucket({\n bucketSize: 20,\n interval: 'second',\n tokensPerInterval: 1,\n});\n\ntype Item = {\n name: TrackName<any>;\n properties: TrackProperties<any>;\n timestamp: string;\n options: TrackOptions;\n};\n\nasync function sendEvents(events: Item[]) {\n try {\n if (events.length === 0) return;\n await tokenBucket.removeTokens(REQUEST_TOKENS);\n\n const tags = await config.getTags();\n const visitor_id = (await getVisitor()).id;\n const dto: CreateTrackEventDTO = events.map((event) => ({\n name: event.name,\n properties: event.properties,\n tags,\n visitor_id,\n timestamp: event.timestamp,\n }));\n const { data } = await config.http.post<TrackEventResponse>(`/events`, dto);\n let index = 0;\n while (events.length > 0) {\n const { options, name, properties } = events.shift()!;\n const eventId = data[index].id;\n options.onSucceed?.({ id: eventId });\n index++;\n if (!options.enableThirdPartyTracking || !config.thirdPartyTrackers) continue;\n config.thirdPartyTrackers.forEach((tracker) => tracker(name, properties, eventId));\n }\n } catch (e: unknown) {\n if (e instanceof Error) console.log('Failed to send track event:', e.message);\n events.forEach((event) => event.options.onError?.(e));\n }\n}\n\nconst batch = 10;\nconst delay = 2000;\nconst list: Item[] = [];\nlet timer: ReturnType<typeof setTimeout> | null = null;\n\nexport function track<T extends EventName = EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>,\n options: TrackOptions = defaultOptions\n) {\n list.push({ name, properties, options, timestamp: new Date().toISOString() });\n if (list.length >= batch) {\n const copy = [...list];\n list.length = 0;\n sendEvents(copy);\n return;\n }\n if (timer) clearTimeout(timer);\n timer = setTimeout(() => {\n timer = null;\n const copy = [...list];\n list.length = 0;\n sendEvents(copy);\n }, delay);\n}\n\nexport async function trackAsync<T extends EventName = EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>,\n options: TrackOptions = defaultOptions\n) {\n await sendEvents([{ name, properties, options, timestamp: new Date().toISOString() }]);\n}\n"],"mappings":";AAAA,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAe3B,IAAM,iBAA+B,EAAE,0BAA0B,KAAK;AAEtE,IAAM,iBAAiB;AACvB,IAAM,cAAc,IAAI,YAAY;AAAA,EAClC,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,mBAAmB;AACrB,CAAC;AASD,eAAe,WAAW,QAAgB;AAjC1C;AAkCE,MAAI;AACF,QAAI,OAAO,WAAW,EAAG;AACzB,UAAM,YAAY,aAAa,cAAc;AAE7C,UAAM,OAAO,MAAM,OAAO,QAAQ;AAClC,UAAM,cAAc,MAAM,WAAW,GAAG;AACxC,UAAM,MAA2B,OAAO,IAAI,CAAC,WAAW;AAAA,MACtD,MAAM,MAAM;AAAA,MACZ,YAAY,MAAM;AAAA,MAClB;AAAA,MACA;AAAA,MACA,WAAW,MAAM;AAAA,IACnB,EAAE;AACF,UAAM,EAAE,KAAK,IAAI,MAAM,OAAO,KAAK,KAAyB,WAAW,GAAG;AAC1E,QAAI,QAAQ;AACZ,WAAO,OAAO,SAAS,GAAG;AACxB,YAAM,EAAE,SAAS,MAAM,WAAW,IAAI,OAAO,MAAM;AACnD,YAAM,UAAU,KAAK,KAAK,EAAE;AAC5B,oBAAQ,cAAR,iCAAoB,EAAE,IAAI,QAAQ;AAClC;AACA,UAAI,CAAC,QAAQ,4BAA4B,CAAC,OAAO,mBAAoB;AACrE,aAAO,mBAAmB,QAAQ,CAAC,YAAY,QAAQ,MAAM,YAAY,OAAO,CAAC;AAAA,IACnF;AAAA,EACF,SAAS,GAAY;AACnB,QAAI,aAAa,MAAO,SAAQ,IAAI,+BAA+B,EAAE,OAAO;AAC5E,WAAO,QAAQ,CAAC,UAAO;AA3D3B,UAAAA,KAAA;AA2D8B,oBAAAA,MAAA,MAAM,SAAQ,YAAd,wBAAAA,KAAwB;AAAA,KAAE;AAAA,EACtD;AACF;AAEA,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,OAAe,CAAC;AACtB,IAAI,QAA8C;AAE3C,SAAS,MACd,MACA,YACA,UAAwB,gBACxB;AACA,OAAK,KAAK,EAAE,MAAM,YAAY,SAAS,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC;AAC5E,MAAI,KAAK,UAAU,OAAO;AACxB,UAAM,OAAO,CAAC,GAAG,IAAI;AACrB,SAAK,SAAS;AACd,eAAW,IAAI;AACf;AAAA,EACF;AACA,MAAI,MAAO,cAAa,KAAK;AAC7B,UAAQ,WAAW,MAAM;AACvB,YAAQ;AACR,UAAM,OAAO,CAAC,GAAG,IAAI;AACrB,SAAK,SAAS;AACd,eAAW,IAAI;AAAA,EACjB,GAAG,KAAK;AACV;AAEA,eAAsB,WACpB,MACA,YACA,UAAwB,gBACxB;AACA,QAAM,WAAW,CAAC,EAAE,MAAM,YAAY,SAAS,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC,CAAC;AACvF;","names":["_a"]}
|