@slan-health/tracker 1.0.0

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/.eslintrc.json ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "env": {
3
+ "browser": true,
4
+ "es2021": true,
5
+ "node": true
6
+ },
7
+ "extends": ["eslint:recommended"],
8
+ "overrides": [],
9
+ "parserOptions": {
10
+ "ecmaVersion": "latest",
11
+ "sourceType": "module"
12
+ },
13
+ "plugins": ["vue"],
14
+ "rules": {}
15
+ }
@@ -0,0 +1,643 @@
1
+ var q = Object.defineProperty;
2
+ var W = (e, n, r) => n in e ? q(e, n, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[n] = r;
3
+ var h = (e, n, r) => (W(e, typeof n != "symbol" ? n + "" : n, r), r);
4
+ import { g as N, s as U } from "./trackerStore.2d9f9635.js";
5
+ const E = {
6
+ DEBUG_ONLY: "DEBUG_ONLY",
7
+ RELEASE: "RELEASE",
8
+ DISABLE: "DISABLE",
9
+ CONSOLE_LOG: "CONSOLE_LOG"
10
+ }, p = {
11
+ APP_START: "APP_START",
12
+ APP_END: "APP_END",
13
+ TRACK: "TRACK",
14
+ TRACK_TIME: "TRACK_TIME"
15
+ }, $ = {
16
+ RUN: "RUN",
17
+ PAUSED: "PAUSED"
18
+ };
19
+ class V {
20
+ constructor(n) {
21
+ h(this, "startTime");
22
+ h(this, "endTime");
23
+ h(this, "status");
24
+ h(this, "pauseTime");
25
+ h(this, "pauseDuration", 0);
26
+ this.startTime = n, this.status = $.RUN;
27
+ }
28
+ pause(n) {
29
+ this.status === $.RUN && (this.pauseTime = n, this.status = $.PAUSED);
30
+ }
31
+ resume(n) {
32
+ this.status === $.PAUSED && (this.pauseDuration = this.pauseDuration + (this.pauseTime ? n - this.pauseTime : 0), this.status = $.RUN, this.pauseTime = void 0);
33
+ }
34
+ setEndTime(n) {
35
+ this.resume(n), this.endTime = n;
36
+ }
37
+ duration() {
38
+ return this.endTime ? this.endTime - this.startTime - this.pauseDuration : -1;
39
+ }
40
+ }
41
+ const F = (e) => ({
42
+ lib: "web-app",
43
+ lib_version: "0.0.2",
44
+ app_version: e
45
+ }), K = async ({ url: e = "", data: n = {}, header: r = {}, method: t = "GET" }) => {
46
+ if (t = t.toUpperCase(), t == "GET") {
47
+ let i = "";
48
+ Object.keys(n).forEach((a) => {
49
+ i += a + "=" + n[a] + "&";
50
+ }), i !== "" && (i = i.slice(0, i.lastIndexOf("&")), e = e + "?" + i);
51
+ }
52
+ if (typeof window < "u" && window.fetch) {
53
+ let i = {
54
+ method: t,
55
+ headers: {
56
+ Accept: "application/json",
57
+ "content-type": "application/json",
58
+ ...r
59
+ },
60
+ mode: "cors",
61
+ cache: "force-cache"
62
+ };
63
+ t == "POST" && Object.defineProperty(i, "body", {
64
+ value: JSON.stringify(n)
65
+ });
66
+ try {
67
+ return await (await fetch(e, i)).json();
68
+ } catch (a) {
69
+ throw new Error(a);
70
+ }
71
+ } else {
72
+ if (typeof window < "u")
73
+ return new Promise((i, a) => {
74
+ let c;
75
+ window.XMLHttpRequest ? c = new XMLHttpRequest() : c = new window.ActiveXObject(), Object.keys(r || {}).forEach((u) => {
76
+ c.setRequestHeader(u, r[u]);
77
+ }), t == "GET" ? (c.open(t, e, !0), c.setRequestHeader(
78
+ "content-type",
79
+ "application/x-www-form-urlencoded"
80
+ ), c.send()) : t == "POST" ? (c.open(t, e, !0), c.setRequestHeader("content-type", "application/json"), c.send(JSON.stringify(n))) : a("error type"), c.onreadystatechange = () => {
81
+ if (c.readyState == 4)
82
+ if (c.status == 200) {
83
+ let u = c.response;
84
+ typeof u != "object" && (u = JSON.parse(u)), i(u);
85
+ } else
86
+ a(c);
87
+ };
88
+ });
89
+ throw new Error("Request client is not available in the current environment");
90
+ }
91
+ };
92
+ var b;
93
+ typeof window > "u" ? b = {
94
+ navigator: {
95
+ userAgent: ""
96
+ }
97
+ } : b = window;
98
+ const S = b.navigator, T = S.userAgent, v = {
99
+ browser: [
100
+ "Safari",
101
+ "Chrome",
102
+ "Edge",
103
+ "IE",
104
+ "Firefox",
105
+ "Firefox Focus",
106
+ "Chromium",
107
+ "Opera",
108
+ "Vivaldi",
109
+ "Yandex",
110
+ "Arora",
111
+ "Lunascape",
112
+ "QupZilla",
113
+ "Coc Coc",
114
+ "Kindle",
115
+ "Iceweasel",
116
+ "Konqueror",
117
+ "Iceape",
118
+ "SeaMonkey",
119
+ "Epiphany",
120
+ "360",
121
+ "360SE",
122
+ "360EE",
123
+ "UC",
124
+ "QQBrowser",
125
+ "QQ",
126
+ "Baidu",
127
+ "Maxthon",
128
+ "Sogou",
129
+ "LBBROWSER",
130
+ "2345Explorer",
131
+ "TheWorld",
132
+ "XiaoMi",
133
+ "Quark",
134
+ "Qiyu",
135
+ "Wechat",
136
+ "Taobao",
137
+ "Alipay",
138
+ "Weibo",
139
+ "Douban",
140
+ "Suning",
141
+ "iQiYi"
142
+ ],
143
+ os: [
144
+ "Windows",
145
+ "Linux",
146
+ "Mac OS",
147
+ "Android",
148
+ "Ubuntu",
149
+ "FreeBSD",
150
+ "Debian",
151
+ "iOS",
152
+ "Windows Phone",
153
+ "BlackBerry",
154
+ "MeeGo",
155
+ "Symbian",
156
+ "Chrome OS",
157
+ "WebOS"
158
+ ],
159
+ device: ["Mobile", "Tablet", "iPad"]
160
+ }, d = {
161
+ getMatchMap: function(e) {
162
+ return {
163
+ Safari: e.indexOf("Safari") > -1,
164
+ Chrome: e.indexOf("Chrome") > -1 || e.indexOf("CriOS") > -1,
165
+ IE: e.indexOf("MSIE") > -1 || e.indexOf("Trident") > -1,
166
+ Edge: e.indexOf("Edge") > -1,
167
+ Firefox: e.indexOf("Firefox") > -1 || e.indexOf("FxiOS") > -1,
168
+ "Firefox Focus": e.indexOf("Focus") > -1,
169
+ Chromium: e.indexOf("Chromium") > -1,
170
+ Opera: e.indexOf("Opera") > -1 || e.indexOf("OPR") > -1,
171
+ Vivaldi: e.indexOf("Vivaldi") > -1,
172
+ Yandex: e.indexOf("YaBrowser") > -1,
173
+ Arora: e.indexOf("Arora") > -1,
174
+ Lunascape: e.indexOf("Lunascape") > -1,
175
+ QupZilla: e.indexOf("QupZilla") > -1,
176
+ "Coc Coc": e.indexOf("coc_coc_browser") > -1,
177
+ Kindle: e.indexOf("Kindle") > -1 || e.indexOf("Silk/") > -1,
178
+ Iceweasel: e.indexOf("Iceweasel") > -1,
179
+ Konqueror: e.indexOf("Konqueror") > -1,
180
+ Iceape: e.indexOf("Iceape") > -1,
181
+ SeaMonkey: e.indexOf("SeaMonkey") > -1,
182
+ Epiphany: e.indexOf("Epiphany") > -1,
183
+ 360: e.indexOf("QihooBrowser") > -1 || e.indexOf("QHBrowser") > -1,
184
+ "360EE": e.indexOf("360EE") > -1,
185
+ "360SE": e.indexOf("360SE") > -1,
186
+ UC: e.indexOf("UC") > -1 || e.indexOf(" UBrowser") > -1,
187
+ QQBrowser: e.indexOf("QQBrowser") > -1,
188
+ QQ: e.indexOf("QQ/") > -1,
189
+ Baidu: e.indexOf("Baidu") > -1 || e.indexOf("BIDUBrowser") > -1,
190
+ Maxthon: e.indexOf("Maxthon") > -1,
191
+ Sogou: e.indexOf("MetaSr") > -1 || e.indexOf("Sogou") > -1,
192
+ LBBROWSER: e.indexOf("LBBROWSER") > -1,
193
+ "2345Explorer": e.indexOf("2345Explorer") > -1,
194
+ TheWorld: e.indexOf("TheWorld") > -1,
195
+ XiaoMi: e.indexOf("MiuiBrowser") > -1,
196
+ Quark: e.indexOf("Quark") > -1,
197
+ Qiyu: e.indexOf("Qiyu") > -1,
198
+ Wechat: e.indexOf("MicroMessenger") > -1,
199
+ Taobao: e.indexOf("AliApp(TB") > -1,
200
+ Alipay: e.indexOf("AliApp(AP") > -1,
201
+ Weibo: e.indexOf("Weibo") > -1,
202
+ Douban: e.indexOf("com.douban.frodo") > -1,
203
+ Suning: e.indexOf("SNEBUY-APP") > -1,
204
+ iQiYi: e.indexOf("IqiyiApp") > -1,
205
+ Windows: e.indexOf("Windows") > -1,
206
+ Linux: e.indexOf("Linux") > -1 || e.indexOf("X11") > -1,
207
+ "Mac OS": e.indexOf("Macintosh") > -1,
208
+ Android: e.indexOf("Android") > -1 || e.indexOf("Adr") > -1,
209
+ Ubuntu: e.indexOf("Ubuntu") > -1,
210
+ FreeBSD: e.indexOf("FreeBSD") > -1,
211
+ Debian: e.indexOf("Debian") > -1,
212
+ "Windows Phone": e.indexOf("IEMobile") > -1 || e.indexOf("Windows Phone") > -1,
213
+ BlackBerry: e.indexOf("BlackBerry") > -1 || e.indexOf("RIM") > -1,
214
+ MeeGo: e.indexOf("MeeGo") > -1,
215
+ Symbian: e.indexOf("Symbian") > -1,
216
+ iOS: e.indexOf("like Mac OS X") > -1,
217
+ "Chrome OS": e.indexOf("CrOS") > -1,
218
+ WebOS: e.indexOf("hpwOS") > -1,
219
+ Mobile: e.indexOf("Mobi") > -1 || e.indexOf("iPh") > -1 || e.indexOf("480") > -1,
220
+ Tablet: e.indexOf("Tablet") > -1 || e.indexOf("Nexus 7") > -1,
221
+ iPad: e.indexOf("iPad") > -1
222
+ };
223
+ },
224
+ matchInfoMap: function(e) {
225
+ var n = d.getMatchMap(T);
226
+ for (var r in v)
227
+ for (var t = 0; t < v[r].length; t++) {
228
+ var i = v[r][t];
229
+ n[i] && (e[r] = i);
230
+ }
231
+ },
232
+ getOS: function() {
233
+ var e = this;
234
+ return d.matchInfoMap(e), e.os;
235
+ },
236
+ getOSVersion: function() {
237
+ var e = this, n = T;
238
+ e.osVersion = "";
239
+ var r = {
240
+ Windows: function() {
241
+ var t = n.replace(/^.*Windows NT ([\d.]+);.*$/, "$1"), i = {
242
+ 6.4: "10",
243
+ 6.3: "8.1",
244
+ 6.2: "8",
245
+ 6.1: "7",
246
+ "6.0": "Vista",
247
+ 5.2: "XP",
248
+ 5.1: "XP",
249
+ "5.0": "2000"
250
+ };
251
+ return i[t] || t;
252
+ },
253
+ Android: function() {
254
+ return n.replace(/^.*Android ([\d.]+);.*$/, "$1");
255
+ },
256
+ iOS: function() {
257
+ return n.replace(/^.*OS ([\d_]+) like.*$/, "$1").replace(/_/g, ".");
258
+ },
259
+ Debian: function() {
260
+ return n.replace(/^.*Debian\/([\d.]+).*$/, "$1");
261
+ },
262
+ "Windows Phone": function() {
263
+ return n.replace(/^.*Windows Phone( OS)? ([\d.]+);.*$/, "$2");
264
+ },
265
+ "Mac OS": function() {
266
+ return n.replace(/^.*Mac OS X ([\d_]+).*$/, "$1").replace(/_/g, ".");
267
+ },
268
+ WebOS: function() {
269
+ return n.replace(/^.*hpwOS\/([\d.]+);.*$/, "$1");
270
+ }
271
+ };
272
+ return r[e.os] && (e.osVersion = r[e.os](), e.osVersion == n && (e.osVersion = "")), e.osVersion;
273
+ },
274
+ getDeviceType: function() {
275
+ var e = this;
276
+ return e.device = "PC", d.matchInfoMap(e), e.device;
277
+ },
278
+ getNetwork: function() {
279
+ var e = S && S.connection && S.connection.effectiveType;
280
+ return e || "\u672A\u77E5";
281
+ },
282
+ getBrowserInfo: function() {
283
+ var e = this;
284
+ d.matchInfoMap(e);
285
+ var n = T, r = d.getMatchMap(n);
286
+ r.Baidu && r.Opera && (r.Baidu = !1), r.Mobile && (r.Mobile = !(n.indexOf("iPad") > -1));
287
+ var t = {
288
+ Safari: function() {
289
+ return n.replace(/^.*Version\/([\d.]+).*$/, "$1");
290
+ },
291
+ Chrome: function() {
292
+ return n.replace(/^.*Chrome\/([\d.]+).*$/, "$1").replace(/^.*CriOS\/([\d.]+).*$/, "$1");
293
+ },
294
+ IE: function() {
295
+ return n.replace(/^.*MSIE ([\d.]+).*$/, "$1").replace(/^.*rv:([\d.]+).*$/, "$1");
296
+ },
297
+ Edge: function() {
298
+ return n.replace(/^.*Edge\/([\d.]+).*$/, "$1");
299
+ },
300
+ Firefox: function() {
301
+ return n.replace(/^.*Firefox\/([\d.]+).*$/, "$1").replace(/^.*FxiOS\/([\d.]+).*$/, "$1");
302
+ },
303
+ "Firefox Focus": function() {
304
+ return n.replace(/^.*Focus\/([\d.]+).*$/, "$1");
305
+ },
306
+ Chromium: function() {
307
+ return n.replace(/^.*Chromium\/([\d.]+).*$/, "$1");
308
+ },
309
+ Opera: function() {
310
+ return n.replace(/^.*Opera\/([\d.]+).*$/, "$1").replace(/^.*OPR\/([\d.]+).*$/, "$1");
311
+ },
312
+ Vivaldi: function() {
313
+ return n.replace(/^.*Vivaldi\/([\d.]+).*$/, "$1");
314
+ },
315
+ Yandex: function() {
316
+ return n.replace(/^.*YaBrowser\/([\d.]+).*$/, "$1");
317
+ },
318
+ Arora: function() {
319
+ return n.replace(/^.*Arora\/([\d.]+).*$/, "$1");
320
+ },
321
+ Lunascape: function() {
322
+ return n.replace(/^.*Lunascape[/\s]([\d.]+).*$/, "$1");
323
+ },
324
+ QupZilla: function() {
325
+ return n.replace(/^.*QupZilla[/\s]([\d.]+).*$/, "$1");
326
+ },
327
+ "Coc Coc": function() {
328
+ return n.replace(/^.*coc_coc_browser\/([\d.]+).*$/, "$1");
329
+ },
330
+ Kindle: function() {
331
+ return n.replace(/^.*Version\/([\d.]+).*$/, "$1");
332
+ },
333
+ Iceweasel: function() {
334
+ return n.replace(/^.*Iceweasel\/([\d.]+).*$/, "$1");
335
+ },
336
+ Konqueror: function() {
337
+ return n.replace(/^.*Konqueror\/([\d.]+).*$/, "$1");
338
+ },
339
+ Iceape: function() {
340
+ return n.replace(/^.*Iceape\/([\d.]+).*$/, "$1");
341
+ },
342
+ SeaMonkey: function() {
343
+ return n.replace(/^.*SeaMonkey\/([\d.]+).*$/, "$1");
344
+ },
345
+ Epiphany: function() {
346
+ return n.replace(/^.*Epiphany\/([\d.]+).*$/, "$1");
347
+ },
348
+ 360: function() {
349
+ return n.replace(/^.*QihooBrowser\/([\d.]+).*$/, "$1");
350
+ },
351
+ "360SE": function() {
352
+ var i = {
353
+ 63: "10.0",
354
+ 55: "9.1",
355
+ 45: "8.1",
356
+ 42: "8.0",
357
+ 31: "7.0",
358
+ 21: "6.3"
359
+ }, a = n.replace(/^.*Chrome\/([\d]+).*$/, "$1");
360
+ return i[a] || "";
361
+ },
362
+ "360EE": function() {
363
+ var i = { 69: "11.0", 63: "9.5", 55: "9.0", 50: "8.7", 30: "7.5" }, a = n.replace(/^.*Chrome\/([\d]+).*$/, "$1");
364
+ return i[a] || "";
365
+ },
366
+ Maxthon: function() {
367
+ return n.replace(/^.*Maxthon\/([\d.]+).*$/, "$1");
368
+ },
369
+ QQBrowser: function() {
370
+ return n.replace(/^.*QQBrowser\/([\d.]+).*$/, "$1");
371
+ },
372
+ QQ: function() {
373
+ return n.replace(/^.*QQ\/([\d.]+).*$/, "$1");
374
+ },
375
+ Baidu: function() {
376
+ return n.replace(/^.*BIDUBrowser[\s/]([\d.]+).*$/, "$1");
377
+ },
378
+ UC: function() {
379
+ return n.replace(/^.*UC?Browser\/([\d.]+).*$/, "$1");
380
+ },
381
+ Sogou: function() {
382
+ return n.replace(/^.*SE ([\d.X]+).*$/, "$1").replace(/^.*SogouMobileBrowser\/([\d.]+).*$/, "$1");
383
+ },
384
+ LBBROWSER: function() {
385
+ var i = {
386
+ 57: "6.5",
387
+ 49: "6.0",
388
+ 46: "5.9",
389
+ 42: "5.3",
390
+ 39: "5.2",
391
+ 34: "5.0",
392
+ 29: "4.5",
393
+ 21: "4.0"
394
+ }, a = n.replace(/^.*Chrome\/([\d]+).*$/, "$1");
395
+ return i[a] || "";
396
+ },
397
+ "2345Explorer": function() {
398
+ return n.replace(/^.*2345Explorer\/([\d.]+).*$/, "$1");
399
+ },
400
+ TheWorld: function() {
401
+ return n.replace(/^.*TheWorld ([\d.]+).*$/, "$1");
402
+ },
403
+ XiaoMi: function() {
404
+ return n.replace(/^.*MiuiBrowser\/([\d.]+).*$/, "$1");
405
+ },
406
+ Quark: function() {
407
+ return n.replace(/^.*Quark\/([\d.]+).*$/, "$1");
408
+ },
409
+ Qiyu: function() {
410
+ return n.replace(/^.*Qiyu\/([\d.]+).*$/, "$1");
411
+ },
412
+ Wechat: function() {
413
+ return n.replace(/^.*MicroMessenger\/([\d.]+).*$/, "$1");
414
+ },
415
+ Taobao: function() {
416
+ return n.replace(/^.*AliApp\(TB\/([\d.]+).*$/, "$1");
417
+ },
418
+ Alipay: function() {
419
+ return n.replace(/^.*AliApp\(AP\/([\d.]+).*$/, "$1");
420
+ },
421
+ Weibo: function() {
422
+ return n.replace(/^.*weibo__([\d.]+).*$/, "$1");
423
+ },
424
+ Douban: function() {
425
+ return n.replace(/^.*com.douban.frodo\/([\d.]+).*$/, "$1");
426
+ },
427
+ Suning: function() {
428
+ return n.replace(/^.*SNEBUY-APP([\d.]+).*$/, "$1");
429
+ },
430
+ iQiYi: function() {
431
+ return n.replace(/^.*IqiyiVersion\/([\d.]+).*$/, "$1");
432
+ }
433
+ };
434
+ return e.browserVersion = "", t[e.browser] && (e.browserVersion = t[e.browser](), e.browserVersion == n && (e.browserVersion = "")), e.browser + " " + e.browserVersion;
435
+ }
436
+ };
437
+ class Y {
438
+ constructor(n) {
439
+ this.device_id = n;
440
+ }
441
+ valueOf() {
442
+ return {
443
+ device_id: this.device_id,
444
+ os_version: d.getBrowserInfo(),
445
+ model: d.getOS() + " " + d.getOSVersion() + " " + d.getDeviceType(),
446
+ network_type: d.getNetwork()
447
+ };
448
+ }
449
+ }
450
+ const j = (e, ...n) => {
451
+ var r;
452
+ (r = N()) != null && r.isDebug() && console.log(e, ...n);
453
+ };
454
+ function G(e = 16) {
455
+ if (e > 21)
456
+ return null;
457
+ var n = new RegExp("(\\d{" + e + "})(\\.|$)"), r = (Array(e - 1).join("0") + Math.pow(10, e) * Math.random()).match(n)[1];
458
+ return r;
459
+ }
460
+ const y = "sl-tracker-point-data";
461
+ function X() {
462
+ let e = localStorage.getItem("sl-tracker-uuid");
463
+ return e || (e = G(), localStorage.setItem("sl-tracker-uuid", e)), e;
464
+ }
465
+ function J(e) {
466
+ localStorage.setItem("sl-tracker-loginId", e);
467
+ }
468
+ function H() {
469
+ return localStorage.getItem("sl-tracker-loginId");
470
+ }
471
+ function Z() {
472
+ localStorage.setItem("sl-tracker-loginId", "");
473
+ }
474
+ function m(e) {
475
+ localStorage.setItem(y, JSON.stringify(e));
476
+ }
477
+ function z() {
478
+ var e;
479
+ return (e = JSON.parse(localStorage.getItem(y))) != null ? e : [];
480
+ }
481
+ class ee {
482
+ constructor(n = []) {
483
+ this._queue = [...n];
484
+ }
485
+ sort() {
486
+ this._queue.sort((n, r) => n.event.time - r.event.time);
487
+ }
488
+ push(n) {
489
+ this._queue.push(n), m(this._queue);
490
+ }
491
+ unshift(n) {
492
+ this._queue.unshift(...n), this.sort(), m(this._queue);
493
+ }
494
+ size() {
495
+ return this._queue.length;
496
+ }
497
+ empty() {
498
+ return this.size() === 0;
499
+ }
500
+ tail() {
501
+ if (!this.empty())
502
+ return this._queue[this.size() - 1];
503
+ }
504
+ head() {
505
+ if (!this.empty())
506
+ return this._queue[0];
507
+ }
508
+ all() {
509
+ return [...this._queue];
510
+ }
511
+ clear() {
512
+ this._queue.length = 0;
513
+ }
514
+ flush() {
515
+ const n = this.all();
516
+ return this.clear(), m(this._queue), n;
517
+ }
518
+ stringify() {
519
+ return JSON.stringify(this._queue);
520
+ }
521
+ }
522
+ function ie(e) {
523
+ const n = F(e.appVersion), r = u(), t = /* @__PURE__ */ new Map();
524
+ let i = H();
525
+ const a = new ee(z()), c = typeof window < "u" ? window : {
526
+ addEventListener: () => {
527
+ }
528
+ };
529
+ c.addEventListener("load", () => {
530
+ x(
531
+ p.APP_START,
532
+ p.APP_START,
533
+ void 0,
534
+ i
535
+ );
536
+ }), c.addEventListener("beforeunload", () => {
537
+ x(p.APP_END, p.APP_END, void 0, i);
538
+ });
539
+ function u() {
540
+ return new Y(X()).valueOf();
541
+ }
542
+ function g() {
543
+ return e.trackerMode == E.DEBUG_ONLY;
544
+ }
545
+ function B(o, s) {
546
+ x(o, p.TRACK, s, i);
547
+ }
548
+ function I(o) {
549
+ t.set(o, new V(Date.now()));
550
+ }
551
+ function P(o) {
552
+ const s = t.get(o);
553
+ s && s.pause(Date.now());
554
+ }
555
+ function D(o) {
556
+ const s = t.get(o);
557
+ s && s.resume(Date.now());
558
+ }
559
+ function C(o, s) {
560
+ const f = t.get(o);
561
+ f && (f.setEndTime(Date.now()), x(o, p.TRACK_TIME, s, i));
562
+ }
563
+ function Q(o) {
564
+ J(o), i = o;
565
+ }
566
+ function k() {
567
+ Z(), i = void 0;
568
+ }
569
+ function L() {
570
+ M(!0);
571
+ }
572
+ function x(o, s, f, l) {
573
+ if (e.trackerMode == E.DISABLE)
574
+ return;
575
+ j({ eventName: o, type: s, property: f, loginId: l });
576
+ let O = {
577
+ name: o,
578
+ type: s,
579
+ time: Date.now()
580
+ };
581
+ if (s == p.TRACK_TIME && t.get(o)) {
582
+ const _ = t.get(o).duration();
583
+ _ != -1 && (O.duration = _), t.delete(o);
584
+ }
585
+ let w = {
586
+ event: O,
587
+ devices: r,
588
+ lib: n
589
+ };
590
+ l && l != "" && (w.distinct_id = l), f && (w.properties = f), a.push(w), M(!1);
591
+ }
592
+ function M(o = !1) {
593
+ if (a.empty() || a.size() < (e.reportThreshold || 10) && !g() && !o)
594
+ return;
595
+ const s = a.flush();
596
+ if (e.trackerMode == E.CONSOLE_LOG) {
597
+ console.log(s);
598
+ return;
599
+ }
600
+ R(JSON.stringify(s));
601
+ }
602
+ function R(o) {
603
+ var f;
604
+ let s = {
605
+ url: e.serverUrl,
606
+ method: "POST",
607
+ header: {
608
+ "content-type": "application/json",
609
+ ...e.headers || {}
610
+ },
611
+ data: {
612
+ app_id: e.appId,
613
+ data_list: o
614
+ }
615
+ };
616
+ ((f = e.requestInterceptors) == null ? void 0 : f.length) > 0 && (s = e.requestInterceptors.reduce(
617
+ (l, O) => O(l),
618
+ s
619
+ )), K(s).then((l) => {
620
+ const { code: O } = l;
621
+ O !== 0 && a.unshift(JSON.parse(o));
622
+ }).catch(() => {
623
+ a.unshift(JSON.parse(o));
624
+ });
625
+ }
626
+ const A = {
627
+ trackEvent: B,
628
+ startTrackTime: I,
629
+ pauseTrackTime: P,
630
+ resumeTrackTime: D,
631
+ endTrackTime: C,
632
+ login: Q,
633
+ logOut: k,
634
+ flush: L,
635
+ isDebug: g
636
+ };
637
+ return U(A), A;
638
+ }
639
+ export {
640
+ p as E,
641
+ E as T,
642
+ ie as c
643
+ };
@@ -0,0 +1,8 @@
1
+ import { E as a, T as c, c as t } from "./createTracker.33fca2a1.js";
2
+ import { g as T } from "./trackerStore.2d9f9635.js";
3
+ export {
4
+ a as EventType,
5
+ c as TrackerMode,
6
+ t as createTracker,
7
+ T as getActiveTracker
8
+ };
@@ -0,0 +1,21 @@
1
+ import a, { createContext as n, useContext as o, useEffect as u } from "react";
2
+ import { g as s } from "./trackerStore.2d9f9635.js";
3
+ const c = n(null);
4
+ function f({ tracker: r, children: e }) {
5
+ return a.createElement(c.Provider, { value: r }, e);
6
+ }
7
+ function i() {
8
+ const r = o(c) || s();
9
+ if (!r)
10
+ throw new Error("Tracker instance not found in context");
11
+ return r;
12
+ }
13
+ function m(r, e) {
14
+ const t = i();
15
+ u(() => (t.startTrackTime(r), () => t.endTrackTime(r, e)), [r, e, t]);
16
+ }
17
+ export {
18
+ f as TrackerProvider,
19
+ m as useReactPageStay,
20
+ i as useReactTracker
21
+ };
@@ -0,0 +1,8 @@
1
+ let e;
2
+ const c = (t) => {
3
+ e = t;
4
+ }, r = () => e;
5
+ export {
6
+ r as g,
7
+ c as s
8
+ };