react-native-nitro-amplitude 0.1.0 → 0.5.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/README.md +547 -55
- package/cpp/bindings/HybridAmplitudeWorker.cpp +27 -7
- package/lib/commonjs/analytics/config.js +31 -10
- package/lib/commonjs/analytics/config.js.map +1 -1
- package/lib/commonjs/analytics/index.js +8 -2
- package/lib/commonjs/analytics/index.js.map +1 -1
- package/lib/commonjs/analytics/network-guarded-fetch-transport.js +16 -0
- package/lib/commonjs/analytics/network-guarded-fetch-transport.js.map +1 -0
- package/lib/commonjs/analytics/nitro-transport.js +2 -0
- package/lib/commonjs/analytics/nitro-transport.js.map +1 -1
- package/lib/commonjs/analytics/plugins/context.js +7 -1
- package/lib/commonjs/analytics/plugins/context.js.map +1 -1
- package/lib/commonjs/analytics/react-native-client.js +155 -9
- package/lib/commonjs/analytics/react-native-client.js.map +1 -1
- package/lib/commonjs/diagnostics.js +92 -0
- package/lib/commonjs/diagnostics.js.map +1 -0
- package/lib/commonjs/errors.js +48 -0
- package/lib/commonjs/errors.js.map +1 -0
- package/lib/commonjs/experiment/experimentClient.js +84 -2
- package/lib/commonjs/experiment/experimentClient.js.map +1 -1
- package/lib/commonjs/experiment/index.js +12 -0
- package/lib/commonjs/experiment/index.js.map +1 -1
- package/lib/commonjs/experiment/stubClient.js +25 -0
- package/lib/commonjs/experiment/stubClient.js.map +1 -1
- package/lib/commonjs/experiment/transport/http.js +8 -2
- package/lib/commonjs/experiment/transport/http.js.map +1 -1
- package/lib/commonjs/experiment/typed-variants.js +52 -0
- package/lib/commonjs/experiment/typed-variants.js.map +1 -0
- package/lib/commonjs/experiment/types/config.js +32 -4
- package/lib/commonjs/experiment/types/config.js.map +1 -1
- package/lib/commonjs/index.js +105 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +387 -13
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/native/context.web.js +26 -0
- package/lib/commonjs/native/context.web.js.map +1 -0
- package/lib/commonjs/native/http.js +23 -8
- package/lib/commonjs/native/http.js.map +1 -1
- package/lib/commonjs/native/http.web.js +17 -0
- package/lib/commonjs/native/http.web.js.map +1 -0
- package/lib/commonjs/native/hybrid.web.js +23 -0
- package/lib/commonjs/native/hybrid.web.js.map +1 -0
- package/lib/commonjs/native/storage.js +27 -15
- package/lib/commonjs/native/storage.js.map +1 -1
- package/lib/commonjs/native/storage.web.js +135 -0
- package/lib/commonjs/native/storage.web.js.map +1 -0
- package/lib/commonjs/network.js +154 -0
- package/lib/commonjs/network.js.map +1 -0
- package/lib/commonjs/presets.js +118 -0
- package/lib/commonjs/presets.js.map +1 -0
- package/lib/commonjs/testing.js +166 -0
- package/lib/commonjs/testing.js.map +1 -0
- package/lib/module/analytics/config.js +32 -11
- package/lib/module/analytics/config.js.map +1 -1
- package/lib/module/analytics/index.js +4 -1
- package/lib/module/analytics/index.js.map +1 -1
- package/lib/module/analytics/network-guarded-fetch-transport.js +11 -0
- package/lib/module/analytics/network-guarded-fetch-transport.js.map +1 -0
- package/lib/module/analytics/nitro-transport.js +2 -0
- package/lib/module/analytics/nitro-transport.js.map +1 -1
- package/lib/module/analytics/plugins/context.js +7 -1
- package/lib/module/analytics/plugins/context.js.map +1 -1
- package/lib/module/analytics/react-native-client.js +154 -9
- package/lib/module/analytics/react-native-client.js.map +1 -1
- package/lib/module/diagnostics.js +85 -0
- package/lib/module/diagnostics.js.map +1 -0
- package/lib/module/errors.js +41 -0
- package/lib/module/errors.js.map +1 -0
- package/lib/module/experiment/experimentClient.js +84 -2
- package/lib/module/experiment/experimentClient.js.map +1 -1
- package/lib/module/experiment/index.js +1 -0
- package/lib/module/experiment/index.js.map +1 -1
- package/lib/module/experiment/stubClient.js +25 -0
- package/lib/module/experiment/stubClient.js.map +1 -1
- package/lib/module/experiment/transport/http.js +8 -2
- package/lib/module/experiment/transport/http.js.map +1 -1
- package/lib/module/experiment/typed-variants.js +43 -0
- package/lib/module/experiment/typed-variants.js.map +1 -0
- package/lib/module/experiment/types/config.js +31 -4
- package/lib/module/experiment/types/config.js.map +1 -1
- package/lib/module/index.js +15 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +60 -11
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/native/context.web.js +18 -0
- package/lib/module/native/context.web.js.map +1 -0
- package/lib/module/native/http.js +23 -8
- package/lib/module/native/http.js.map +1 -1
- package/lib/module/native/http.web.js +12 -0
- package/lib/module/native/http.web.js.map +1 -0
- package/lib/module/native/hybrid.web.js +16 -0
- package/lib/module/native/hybrid.web.js.map +1 -0
- package/lib/module/native/storage.js +27 -15
- package/lib/module/native/storage.js.map +1 -1
- package/lib/module/native/storage.web.js +128 -0
- package/lib/module/native/storage.web.js.map +1 -0
- package/lib/module/network.js +138 -0
- package/lib/module/network.js.map +1 -0
- package/lib/module/presets.js +110 -0
- package/lib/module/presets.js.map +1 -0
- package/lib/module/testing.js +160 -0
- package/lib/module/testing.js.map +1 -0
- package/lib/typescript/analytics/config.d.ts +19 -6
- package/lib/typescript/analytics/config.d.ts.map +1 -1
- package/lib/typescript/analytics/index.d.ts +1 -1
- package/lib/typescript/analytics/index.d.ts.map +1 -1
- package/lib/typescript/analytics/network-guarded-fetch-transport.d.ts +6 -0
- package/lib/typescript/analytics/network-guarded-fetch-transport.d.ts.map +1 -0
- package/lib/typescript/analytics/nitro-transport.d.ts.map +1 -1
- package/lib/typescript/analytics/plugins/context.d.ts +2 -0
- package/lib/typescript/analytics/plugins/context.d.ts.map +1 -1
- package/lib/typescript/analytics/react-native-client.d.ts +46 -6
- package/lib/typescript/analytics/react-native-client.d.ts.map +1 -1
- package/lib/typescript/diagnostics.d.ts +21 -0
- package/lib/typescript/diagnostics.d.ts.map +1 -0
- package/lib/typescript/errors.d.ts +9 -0
- package/lib/typescript/errors.d.ts.map +1 -0
- package/lib/typescript/experiment/experimentClient.d.ts +9 -1
- package/lib/typescript/experiment/experimentClient.d.ts.map +1 -1
- package/lib/typescript/experiment/index.d.ts +1 -0
- package/lib/typescript/experiment/index.d.ts.map +1 -1
- package/lib/typescript/experiment/stubClient.d.ts +6 -1
- package/lib/typescript/experiment/stubClient.d.ts.map +1 -1
- package/lib/typescript/experiment/transport/http.d.ts.map +1 -1
- package/lib/typescript/experiment/typed-variants.d.ts +9 -0
- package/lib/typescript/experiment/typed-variants.d.ts.map +1 -0
- package/lib/typescript/experiment/types/client.d.ts +21 -0
- package/lib/typescript/experiment/types/client.d.ts.map +1 -1
- package/lib/typescript/experiment/types/config.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +12 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +37 -8
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/native/context.web.d.ts +8 -0
- package/lib/typescript/native/context.web.d.ts.map +1 -0
- package/lib/typescript/native/http.d.ts.map +1 -1
- package/lib/typescript/native/http.web.d.ts +6 -0
- package/lib/typescript/native/http.web.d.ts.map +1 -0
- package/lib/typescript/native/hybrid.web.d.ts +8 -0
- package/lib/typescript/native/hybrid.web.d.ts.map +1 -0
- package/lib/typescript/native/storage.d.ts.map +1 -1
- package/lib/typescript/native/storage.web.d.ts +30 -0
- package/lib/typescript/native/storage.web.d.ts.map +1 -0
- package/lib/typescript/network.d.ts +50 -0
- package/lib/typescript/network.d.ts.map +1 -0
- package/lib/typescript/presets.d.ts +50 -0
- package/lib/typescript/presets.d.ts.map +1 -0
- package/lib/typescript/testing.d.ts +11 -0
- package/lib/typescript/testing.d.ts.map +1 -0
- package/package.json +4 -2
- package/src/analytics/config.ts +33 -8
- package/src/analytics/index.ts +3 -0
- package/src/analytics/network-guarded-fetch-transport.ts +10 -0
- package/src/analytics/nitro-transport.ts +2 -0
- package/src/analytics/plugins/context.ts +10 -1
- package/src/analytics/react-native-client.ts +238 -9
- package/src/diagnostics.ts +119 -0
- package/src/errors.ts +60 -0
- package/src/experiment/experimentClient.ts +116 -3
- package/src/experiment/index.ts +1 -0
- package/src/experiment/stubClient.ts +42 -1
- package/src/experiment/transport/http.ts +10 -2
- package/src/experiment/typed-variants.ts +68 -0
- package/src/experiment/types/client.ts +29 -0
- package/src/experiment/types/config.ts +29 -5
- package/src/index.ts +28 -2
- package/src/index.web.ts +89 -14
- package/src/native/context.web.ts +38 -0
- package/src/native/http.ts +38 -8
- package/src/native/http.web.ts +24 -0
- package/src/native/hybrid.web.ts +21 -0
- package/src/native/storage.ts +27 -25
- package/src/native/storage.web.ts +152 -0
- package/src/network.ts +258 -0
- package/src/presets.ts +208 -0
- package/src/testing.ts +177 -0
|
@@ -27,19 +27,23 @@ class NitroAnalyticsStorage {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
async getRaw(key) {
|
|
30
|
-
|
|
30
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
31
|
+
return storage.get(namespaceKey(this.namespace, key), true);
|
|
31
32
|
}
|
|
32
33
|
async set(key, value) {
|
|
33
|
-
(0, _hybrid.getAmplitudeStorage)()
|
|
34
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
35
|
+
storage.set(namespaceKey(this.namespace, key), JSON.stringify(value), true);
|
|
34
36
|
}
|
|
35
37
|
async remove(key) {
|
|
36
|
-
(0, _hybrid.getAmplitudeStorage)()
|
|
38
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
39
|
+
storage.remove(namespaceKey(this.namespace, key), true);
|
|
37
40
|
}
|
|
38
41
|
async reset() {
|
|
42
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
39
43
|
const prefix = `${this.namespace}::`;
|
|
40
|
-
const keys =
|
|
44
|
+
const keys = storage.getKeysByPrefix(prefix, true);
|
|
41
45
|
if (keys.length > 0) {
|
|
42
|
-
|
|
46
|
+
storage.removeBatch(keys, true);
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
49
|
}
|
|
@@ -49,20 +53,24 @@ class NitroExperimentStorage {
|
|
|
49
53
|
this.namespace = namespace;
|
|
50
54
|
}
|
|
51
55
|
async get(key) {
|
|
52
|
-
const
|
|
56
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
57
|
+
const value = storage.get(namespaceKey(this.namespace, key), true);
|
|
53
58
|
return value ?? null;
|
|
54
59
|
}
|
|
55
60
|
async put(key, value) {
|
|
56
|
-
(0, _hybrid.getAmplitudeStorage)()
|
|
61
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
62
|
+
storage.set(namespaceKey(this.namespace, key), value, true);
|
|
57
63
|
}
|
|
58
64
|
async delete(key) {
|
|
59
|
-
(0, _hybrid.getAmplitudeStorage)()
|
|
65
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
66
|
+
storage.remove(namespaceKey(this.namespace, key), true);
|
|
60
67
|
}
|
|
61
68
|
async reset() {
|
|
69
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
62
70
|
const prefix = `${this.namespace}::`;
|
|
63
|
-
const keys =
|
|
71
|
+
const keys = storage.getKeysByPrefix(prefix, true);
|
|
64
72
|
if (keys.length > 0) {
|
|
65
|
-
|
|
73
|
+
storage.removeBatch(keys, true);
|
|
66
74
|
}
|
|
67
75
|
}
|
|
68
76
|
}
|
|
@@ -72,20 +80,24 @@ class NitroMemoryStorage {
|
|
|
72
80
|
this.namespace = namespace;
|
|
73
81
|
}
|
|
74
82
|
async get(key) {
|
|
75
|
-
const
|
|
83
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
84
|
+
const value = storage.get(namespaceKey(this.namespace, key), false);
|
|
76
85
|
return value ?? null;
|
|
77
86
|
}
|
|
78
87
|
async put(key, value) {
|
|
79
|
-
(0, _hybrid.getAmplitudeStorage)()
|
|
88
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
89
|
+
storage.set(namespaceKey(this.namespace, key), value, false);
|
|
80
90
|
}
|
|
81
91
|
async delete(key) {
|
|
82
|
-
(0, _hybrid.getAmplitudeStorage)()
|
|
92
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
93
|
+
storage.remove(namespaceKey(this.namespace, key), false);
|
|
83
94
|
}
|
|
84
95
|
async reset() {
|
|
96
|
+
const storage = (0, _hybrid.getAmplitudeStorage)();
|
|
85
97
|
const prefix = `${this.namespace}::`;
|
|
86
|
-
const keys =
|
|
98
|
+
const keys = storage.getKeysByPrefix(prefix, false);
|
|
87
99
|
if (keys.length > 0) {
|
|
88
|
-
|
|
100
|
+
storage.removeBatch(keys, false);
|
|
89
101
|
}
|
|
90
102
|
}
|
|
91
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_hybrid","require","namespaceKey","namespace","key","NitroAnalyticsStorage","constructor","isEnabled","get","raw","getRaw","undefined","JSON","parse","getAmplitudeStorage","set","value","stringify","remove","reset","prefix","keys","getKeysByPrefix","length","removeBatch","exports","NitroExperimentStorage","put","delete","NitroMemoryStorage"],"sourceRoot":"../../../src","sources":["native/storage.ts"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AAEA,SAASC,YAAYA,CAACC,SAAiB,EAAEC,GAAW,EAAU;EAC5D,OAAO,GAAGD,SAAS,KAAKC,GAAG,EAAE;AAC/B;AAEO,MAAMC,qBAAqB,CAAmC;EACnEC,WAAWA,CAAkBH,SAAiB,EAAE;IAAA,KAAnBA,SAAiB,GAAjBA,SAAiB;EAAG;EAEjD,MAAMI,SAASA,CAAA,EAAqB;IAClC,OAAO,IAAI;EACb;EAEA,MAAMC,GAAGA,CAACJ,GAAW,EAA0B;IAC7C,MAAMK,GAAG,GAAG,MAAM,IAAI,CAACC,MAAM,CAACN,GAAG,CAAC;IAClC,IAAI,CAACK,GAAG,EAAE;MACR,OAAOE,SAAS;IAClB;IACA,IAAI;MACF,OAAOC,IAAI,CAACC,KAAK,CAACJ,GAAG,CAAC;IACxB,CAAC,CAAC,MAAM;MACN,OAAOE,SAAS;IAClB;EACF;EAEA,MAAMD,MAAMA,CAACN,GAAW,EAA+B;IACrD,OAAO,
|
|
1
|
+
{"version":3,"names":["_hybrid","require","namespaceKey","namespace","key","NitroAnalyticsStorage","constructor","isEnabled","get","raw","getRaw","undefined","JSON","parse","storage","getAmplitudeStorage","set","value","stringify","remove","reset","prefix","keys","getKeysByPrefix","length","removeBatch","exports","NitroExperimentStorage","put","delete","NitroMemoryStorage"],"sourceRoot":"../../../src","sources":["native/storage.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NitroMemoryStorage = exports.NitroExperimentStorage = exports.NitroAnalyticsStorage = void 0;
|
|
7
|
+
function namespaceKey(namespace, key) {
|
|
8
|
+
return `${namespace}::${key}`;
|
|
9
|
+
}
|
|
10
|
+
class WebStringStorage {
|
|
11
|
+
static memory = new Map();
|
|
12
|
+
constructor(namespace) {
|
|
13
|
+
this.namespace = namespace;
|
|
14
|
+
}
|
|
15
|
+
get(key) {
|
|
16
|
+
const storageKey = namespaceKey(this.namespace, key);
|
|
17
|
+
try {
|
|
18
|
+
if (typeof localStorage !== "undefined") {
|
|
19
|
+
return localStorage.getItem(storageKey) ?? undefined;
|
|
20
|
+
}
|
|
21
|
+
} catch {}
|
|
22
|
+
return WebStringStorage.memory.get(storageKey);
|
|
23
|
+
}
|
|
24
|
+
set(key, value) {
|
|
25
|
+
const storageKey = namespaceKey(this.namespace, key);
|
|
26
|
+
WebStringStorage.memory.set(storageKey, value);
|
|
27
|
+
try {
|
|
28
|
+
if (typeof localStorage !== "undefined") {
|
|
29
|
+
localStorage.setItem(storageKey, value);
|
|
30
|
+
}
|
|
31
|
+
} catch {}
|
|
32
|
+
}
|
|
33
|
+
remove(key) {
|
|
34
|
+
const storageKey = namespaceKey(this.namespace, key);
|
|
35
|
+
WebStringStorage.memory.delete(storageKey);
|
|
36
|
+
try {
|
|
37
|
+
if (typeof localStorage !== "undefined") {
|
|
38
|
+
localStorage.removeItem(storageKey);
|
|
39
|
+
}
|
|
40
|
+
} catch {}
|
|
41
|
+
}
|
|
42
|
+
reset() {
|
|
43
|
+
const prefix = `${this.namespace}::`;
|
|
44
|
+
for (const key of WebStringStorage.memory.keys()) {
|
|
45
|
+
if (key.startsWith(prefix)) {
|
|
46
|
+
WebStringStorage.memory.delete(key);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
if (typeof localStorage !== "undefined") {
|
|
51
|
+
for (let index = localStorage.length - 1; index >= 0; index--) {
|
|
52
|
+
const key = localStorage.key(index);
|
|
53
|
+
if (key?.startsWith(prefix)) {
|
|
54
|
+
localStorage.removeItem(key);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
} catch {}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
class NitroAnalyticsStorage {
|
|
62
|
+
constructor(namespace) {
|
|
63
|
+
this.storage = new WebStringStorage(namespace);
|
|
64
|
+
}
|
|
65
|
+
async isEnabled() {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
async get(key) {
|
|
69
|
+
const raw = await this.getRaw(key);
|
|
70
|
+
if (!raw) {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
return JSON.parse(raw);
|
|
75
|
+
} catch {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async getRaw(key) {
|
|
80
|
+
return this.storage.get(key);
|
|
81
|
+
}
|
|
82
|
+
async set(key, value) {
|
|
83
|
+
this.storage.set(key, JSON.stringify(value));
|
|
84
|
+
}
|
|
85
|
+
async remove(key) {
|
|
86
|
+
this.storage.remove(key);
|
|
87
|
+
}
|
|
88
|
+
async reset() {
|
|
89
|
+
this.storage.reset();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.NitroAnalyticsStorage = NitroAnalyticsStorage;
|
|
93
|
+
class NitroExperimentStorage {
|
|
94
|
+
constructor(namespace) {
|
|
95
|
+
this.storage = new WebStringStorage(namespace);
|
|
96
|
+
}
|
|
97
|
+
async get(key) {
|
|
98
|
+
return this.storage.get(key) ?? null;
|
|
99
|
+
}
|
|
100
|
+
async put(key, value) {
|
|
101
|
+
this.storage.set(key, value);
|
|
102
|
+
}
|
|
103
|
+
async delete(key) {
|
|
104
|
+
this.storage.remove(key);
|
|
105
|
+
}
|
|
106
|
+
async reset() {
|
|
107
|
+
this.storage.reset();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.NitroExperimentStorage = NitroExperimentStorage;
|
|
111
|
+
class NitroMemoryStorage {
|
|
112
|
+
values = new Map();
|
|
113
|
+
constructor(namespace) {
|
|
114
|
+
this.namespace = namespace;
|
|
115
|
+
}
|
|
116
|
+
async get(key) {
|
|
117
|
+
return this.values.get(namespaceKey(this.namespace, key)) ?? null;
|
|
118
|
+
}
|
|
119
|
+
async put(key, value) {
|
|
120
|
+
this.values.set(namespaceKey(this.namespace, key), value);
|
|
121
|
+
}
|
|
122
|
+
async delete(key) {
|
|
123
|
+
this.values.delete(namespaceKey(this.namespace, key));
|
|
124
|
+
}
|
|
125
|
+
async reset() {
|
|
126
|
+
const prefix = `${this.namespace}::`;
|
|
127
|
+
for (const key of this.values.keys()) {
|
|
128
|
+
if (key.startsWith(prefix)) {
|
|
129
|
+
this.values.delete(key);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
exports.NitroMemoryStorage = NitroMemoryStorage;
|
|
135
|
+
//# sourceMappingURL=storage.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["namespaceKey","namespace","key","WebStringStorage","memory","Map","constructor","get","storageKey","localStorage","getItem","undefined","set","value","setItem","remove","delete","removeItem","reset","prefix","keys","startsWith","index","length","NitroAnalyticsStorage","storage","isEnabled","raw","getRaw","JSON","parse","stringify","exports","NitroExperimentStorage","put","NitroMemoryStorage","values"],"sourceRoot":"../../../src","sources":["native/storage.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DryRunTransport = exports.DryRunHttpClient = void 0;
|
|
7
|
+
exports.assertNetworkEnabled = assertNetworkEnabled;
|
|
8
|
+
exports.clearDryRunTransportRecords = clearDryRunTransportRecords;
|
|
9
|
+
exports.createNetworkTimingBuffer = createNetworkTimingBuffer;
|
|
10
|
+
exports.createTimedAnalyticsTransport = createTimedAnalyticsTransport;
|
|
11
|
+
exports.createTimedHttpClient = createTimedHttpClient;
|
|
12
|
+
exports.dryRunTransport = exports.dryRunHttpClient = void 0;
|
|
13
|
+
exports.getDryRunAnalyticsEvents = getDryRunAnalyticsEvents;
|
|
14
|
+
exports.getDryRunTransportRecords = getDryRunTransportRecords;
|
|
15
|
+
exports.getNetworkEnabled = getNetworkEnabled;
|
|
16
|
+
exports.setNetworkEnabled = setNetworkEnabled;
|
|
17
|
+
var _analyticsCore = require("@amplitude/analytics-core");
|
|
18
|
+
var _errors = require("./errors");
|
|
19
|
+
let networkEnabled = true;
|
|
20
|
+
const dryRunRequests = [];
|
|
21
|
+
const dryRunEvents = [];
|
|
22
|
+
function setNetworkEnabled(enabled) {
|
|
23
|
+
networkEnabled = enabled;
|
|
24
|
+
}
|
|
25
|
+
function getNetworkEnabled() {
|
|
26
|
+
return networkEnabled;
|
|
27
|
+
}
|
|
28
|
+
function clearDryRunTransportRecords() {
|
|
29
|
+
dryRunRequests.length = 0;
|
|
30
|
+
dryRunEvents.length = 0;
|
|
31
|
+
}
|
|
32
|
+
function getDryRunTransportRecords() {
|
|
33
|
+
return dryRunRequests.map(request => ({
|
|
34
|
+
...request
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
function getDryRunAnalyticsEvents() {
|
|
38
|
+
return dryRunEvents.map(event => ({
|
|
39
|
+
...event,
|
|
40
|
+
payload: {
|
|
41
|
+
...event.payload
|
|
42
|
+
}
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
function assertNetworkEnabled() {
|
|
46
|
+
if (!networkEnabled) {
|
|
47
|
+
throw (0, _errors.createAmplitudeError)("network_error", "Amplitude network traffic is disabled");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function nowMillis() {
|
|
51
|
+
return typeof performance !== "undefined" && performance.now ? performance.now() : Date.now();
|
|
52
|
+
}
|
|
53
|
+
function createTiming(kind, url, method, startedAt, status, error) {
|
|
54
|
+
const finishedAt = nowMillis();
|
|
55
|
+
return {
|
|
56
|
+
kind,
|
|
57
|
+
url,
|
|
58
|
+
method,
|
|
59
|
+
startedAt,
|
|
60
|
+
finishedAt,
|
|
61
|
+
durationMillis: Math.round((finishedAt - startedAt) * 10) / 10,
|
|
62
|
+
status,
|
|
63
|
+
error: error === undefined ? undefined : error instanceof Error ? error.message : String(error)
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function createNetworkTimingBuffer(limit = 20) {
|
|
67
|
+
const timings = [];
|
|
68
|
+
const normalizedLimit = Number.isFinite(limit) && limit > 0 ? limit : 20;
|
|
69
|
+
return {
|
|
70
|
+
record: timing => {
|
|
71
|
+
timings.push(timing);
|
|
72
|
+
while (timings.length > normalizedLimit) {
|
|
73
|
+
timings.shift();
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
getTimings: () => timings.map(timing => ({
|
|
77
|
+
...timing
|
|
78
|
+
})),
|
|
79
|
+
clear: () => {
|
|
80
|
+
timings.length = 0;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function createTimedAnalyticsTransport(transport, record) {
|
|
85
|
+
return {
|
|
86
|
+
async send(serverUrl, payload, enableRequestBodyCompression) {
|
|
87
|
+
const startedAt = nowMillis();
|
|
88
|
+
try {
|
|
89
|
+
const response = await transport.send(serverUrl, payload, enableRequestBodyCompression);
|
|
90
|
+
record(createTiming("analytics", serverUrl, "POST", startedAt, response?.status));
|
|
91
|
+
return response;
|
|
92
|
+
} catch (error) {
|
|
93
|
+
record(createTiming("analytics", serverUrl, "POST", startedAt, undefined, error));
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function createTimedHttpClient(httpClient, record) {
|
|
100
|
+
return {
|
|
101
|
+
async request(requestUrl, method, headers, data, timeoutMillis) {
|
|
102
|
+
const startedAt = nowMillis();
|
|
103
|
+
try {
|
|
104
|
+
const response = await httpClient.request(requestUrl, method, headers, data, timeoutMillis);
|
|
105
|
+
record(createTiming("experiment", requestUrl, method, startedAt, response.status));
|
|
106
|
+
return response;
|
|
107
|
+
} catch (error) {
|
|
108
|
+
record(createTiming("experiment", requestUrl, method, startedAt, undefined, error));
|
|
109
|
+
throw error;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
class DryRunHttpClient {
|
|
115
|
+
async request(requestUrl, method, headers, data, timeoutMillis = 10000) {
|
|
116
|
+
dryRunRequests.push({
|
|
117
|
+
url: requestUrl,
|
|
118
|
+
method,
|
|
119
|
+
headers: {
|
|
120
|
+
...headers
|
|
121
|
+
},
|
|
122
|
+
data,
|
|
123
|
+
timeoutMillis,
|
|
124
|
+
createdAt: Date.now()
|
|
125
|
+
});
|
|
126
|
+
return {
|
|
127
|
+
status: 202,
|
|
128
|
+
body: JSON.stringify({
|
|
129
|
+
code: 202,
|
|
130
|
+
dryRun: true
|
|
131
|
+
})
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.DryRunHttpClient = DryRunHttpClient;
|
|
136
|
+
class DryRunTransport extends _analyticsCore.BaseTransport {
|
|
137
|
+
async send(serverUrl, payload) {
|
|
138
|
+
dryRunEvents.push({
|
|
139
|
+
serverUrl,
|
|
140
|
+
payload: {
|
|
141
|
+
...payload
|
|
142
|
+
},
|
|
143
|
+
createdAt: Date.now()
|
|
144
|
+
});
|
|
145
|
+
return this.buildResponse({
|
|
146
|
+
code: 202,
|
|
147
|
+
dryRun: true
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.DryRunTransport = DryRunTransport;
|
|
152
|
+
const dryRunHttpClient = exports.dryRunHttpClient = new DryRunHttpClient();
|
|
153
|
+
const dryRunTransport = exports.dryRunTransport = new DryRunTransport();
|
|
154
|
+
//# sourceMappingURL=network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_analyticsCore","require","_errors","networkEnabled","dryRunRequests","dryRunEvents","setNetworkEnabled","enabled","getNetworkEnabled","clearDryRunTransportRecords","length","getDryRunTransportRecords","map","request","getDryRunAnalyticsEvents","event","payload","assertNetworkEnabled","createAmplitudeError","nowMillis","performance","now","Date","createTiming","kind","url","method","startedAt","status","error","finishedAt","durationMillis","Math","round","undefined","Error","message","String","createNetworkTimingBuffer","limit","timings","normalizedLimit","Number","isFinite","record","timing","push","shift","getTimings","clear","createTimedAnalyticsTransport","transport","send","serverUrl","enableRequestBodyCompression","response","createTimedHttpClient","httpClient","requestUrl","headers","data","timeoutMillis","DryRunHttpClient","createdAt","body","JSON","stringify","code","dryRun","exports","DryRunTransport","BaseTransport","buildResponse","dryRunHttpClient","dryRunTransport"],"sourceRoot":"../../src","sources":["network.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createAmplitudeClient = createAmplitudeClient;
|
|
7
|
+
exports.createDurableAmplitudeStoragePreset = createDurableAmplitudeStoragePreset;
|
|
8
|
+
exports.createExperimentUser = createExperimentUser;
|
|
9
|
+
exports.createPersistentAmplitudeConfig = createPersistentAmplitudeConfig;
|
|
10
|
+
exports.getConnectorIdentity = getConnectorIdentity;
|
|
11
|
+
var _analyticsCore = require("@amplitude/analytics-core");
|
|
12
|
+
var _reactNativeClient = require("./analytics/react-native-client");
|
|
13
|
+
var _networkGuardedFetchTransport = require("./analytics/network-guarded-fetch-transport");
|
|
14
|
+
var _platform = require("./analytics/utils/platform");
|
|
15
|
+
var _factory = require("./experiment/factory");
|
|
16
|
+
var _network = require("./network");
|
|
17
|
+
function getStorageModule() {
|
|
18
|
+
if ((0, _platform.isNative)()) {
|
|
19
|
+
return require("./native/storage");
|
|
20
|
+
}
|
|
21
|
+
return require("./native/storage.web");
|
|
22
|
+
}
|
|
23
|
+
function getAnalyticsTransport() {
|
|
24
|
+
if ((0, _platform.isNative)()) {
|
|
25
|
+
const {
|
|
26
|
+
nitroTransport
|
|
27
|
+
} = require("./analytics/nitro-transport");
|
|
28
|
+
return nitroTransport;
|
|
29
|
+
}
|
|
30
|
+
return new _networkGuardedFetchTransport.NetworkGuardedFetchTransport();
|
|
31
|
+
}
|
|
32
|
+
function createDurableAmplitudeStoragePreset(options = {}) {
|
|
33
|
+
const namespace = options.namespace ?? "default";
|
|
34
|
+
const {
|
|
35
|
+
NitroAnalyticsStorage,
|
|
36
|
+
NitroExperimentStorage
|
|
37
|
+
} = getStorageModule();
|
|
38
|
+
const analyticsEvents = new NitroAnalyticsStorage(`${namespace}:analytics-events`);
|
|
39
|
+
const analyticsSession = new NitroAnalyticsStorage(`${namespace}:analytics-session`);
|
|
40
|
+
const experimentVariants = new NitroExperimentStorage(`${namespace}:experiment-variants`);
|
|
41
|
+
return {
|
|
42
|
+
analytics: {
|
|
43
|
+
storageProvider: analyticsEvents,
|
|
44
|
+
cookieStorage: analyticsSession,
|
|
45
|
+
transportProvider: options.dryRun ? _network.dryRunTransport : getAnalyticsTransport()
|
|
46
|
+
},
|
|
47
|
+
experiment: {
|
|
48
|
+
storage: experimentVariants
|
|
49
|
+
},
|
|
50
|
+
clear: async () => {
|
|
51
|
+
await analyticsEvents.reset();
|
|
52
|
+
await analyticsSession.reset();
|
|
53
|
+
await experimentVariants.reset?.();
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function createPersistentAmplitudeConfig(namespaceOrOptions) {
|
|
58
|
+
if (typeof namespaceOrOptions === "string") {
|
|
59
|
+
return createDurableAmplitudeStoragePreset({
|
|
60
|
+
namespace: namespaceOrOptions
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return createDurableAmplitudeStoragePreset(namespaceOrOptions);
|
|
64
|
+
}
|
|
65
|
+
function createExperimentUser(user) {
|
|
66
|
+
return {
|
|
67
|
+
...user,
|
|
68
|
+
user_properties: user.user_properties ? {
|
|
69
|
+
...user.user_properties
|
|
70
|
+
} : undefined,
|
|
71
|
+
groups: user.groups ? {
|
|
72
|
+
...user.groups
|
|
73
|
+
} : undefined,
|
|
74
|
+
group_properties: user.group_properties ? {
|
|
75
|
+
...user.group_properties
|
|
76
|
+
} : undefined
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function createAmplitudeClient(config) {
|
|
80
|
+
const instanceName = config.instanceName ?? "$default_instance";
|
|
81
|
+
const dryRunEnabled = config.dryRun || typeof config.durableStorage === "object" && config.durableStorage.dryRun;
|
|
82
|
+
const storagePreset = config.durableStorage === false ? undefined : createDurableAmplitudeStoragePreset({
|
|
83
|
+
namespace: typeof config.durableStorage === "object" ? config.durableStorage.namespace : instanceName,
|
|
84
|
+
dryRun: dryRunEnabled
|
|
85
|
+
});
|
|
86
|
+
const analytics = (0, _reactNativeClient.createInstance)();
|
|
87
|
+
const experiment = config.experimentDeploymentKey !== undefined ? _factory.Experiment.initializeWithAmplitudeAnalytics(config.experimentDeploymentKey, {
|
|
88
|
+
...storagePreset?.experiment,
|
|
89
|
+
...config.experiment,
|
|
90
|
+
instanceName,
|
|
91
|
+
httpClient: dryRunEnabled ? config.experiment?.httpClient ?? _network.dryRunHttpClient : config.experiment?.httpClient
|
|
92
|
+
}) : undefined;
|
|
93
|
+
const combined = {
|
|
94
|
+
analytics,
|
|
95
|
+
experiment,
|
|
96
|
+
init: async user => {
|
|
97
|
+
await analytics.init(config.analyticsApiKey, config.userId, {
|
|
98
|
+
...storagePreset?.analytics,
|
|
99
|
+
...config.analytics,
|
|
100
|
+
instanceName,
|
|
101
|
+
transportProvider: dryRunEnabled ? config.analytics?.transportProvider ?? _network.dryRunTransport : config.analytics?.transportProvider ?? storagePreset?.analytics.transportProvider
|
|
102
|
+
}).promise;
|
|
103
|
+
if (experiment && user) {
|
|
104
|
+
experiment.setUser(user);
|
|
105
|
+
}
|
|
106
|
+
return combined;
|
|
107
|
+
},
|
|
108
|
+
flush: async () => analytics.flush().promise,
|
|
109
|
+
reset: () => analytics.reset(),
|
|
110
|
+
getUserId: () => analytics.getUserId(),
|
|
111
|
+
getDeviceId: () => analytics.getDeviceId()
|
|
112
|
+
};
|
|
113
|
+
return combined;
|
|
114
|
+
}
|
|
115
|
+
function getConnectorIdentity(instanceName = "$default_instance") {
|
|
116
|
+
return (0, _analyticsCore.getAnalyticsConnector)(instanceName).identityStore.getIdentity();
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=presets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_analyticsCore","require","_reactNativeClient","_networkGuardedFetchTransport","_platform","_factory","_network","getStorageModule","isNative","getAnalyticsTransport","nitroTransport","NetworkGuardedFetchTransport","createDurableAmplitudeStoragePreset","options","namespace","NitroAnalyticsStorage","NitroExperimentStorage","analyticsEvents","analyticsSession","experimentVariants","analytics","storageProvider","cookieStorage","transportProvider","dryRun","dryRunTransport","experiment","storage","clear","reset","createPersistentAmplitudeConfig","namespaceOrOptions","createExperimentUser","user","user_properties","undefined","groups","group_properties","createAmplitudeClient","config","instanceName","dryRunEnabled","durableStorage","storagePreset","createInstance","experimentDeploymentKey","Experiment","initializeWithAmplitudeAnalytics","httpClient","dryRunHttpClient","combined","init","analyticsApiKey","userId","promise","setUser","flush","getUserId","getDeviceId","getConnectorIdentity","getAnalyticsConnector","identityStore","getIdentity"],"sourceRoot":"../../src","sources":["presets.ts"],"mappings":";;;;;;;;;;AAKA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAEA,IAAAE,6BAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAIA,IAAAK,QAAA,GAAAL,OAAA;AAEA,SAASM,gBAAgBA,CAAA,EAAsC;EAC7D,IAAI,IAAAC,kBAAQ,EAAC,CAAC,EAAE;IACd,OAAOP,OAAO,CAAC,kBAAkB,CAAC;EACpC;EACA,OAAOA,OAAO,CAAC,sBAAsB,CAAC;AACxC;AAEA,SAASQ,qBAAqBA,CAAA,EAAG;EAC/B,IAAI,IAAAD,kBAAQ,EAAC,CAAC,EAAE;IACd,MAAM;MAAEE;IAAe,CAAC,GACtBT,OAAO,CAAC,6BAA6B,CAAiD;IACxF,OAAOS,cAAc;EACvB;EACA,OAAO,IAAIC,0DAA4B,CAAC,CAAC;AAC3C;AAoDO,SAASC,mCAAmCA,CACjDC,OAA6C,GAAG,CAAC,CAAC,EACnB;EAC/B,MAAMC,SAAS,GAAGD,OAAO,CAACC,SAAS,IAAI,SAAS;EAChD,MAAM;IAAEC,qBAAqB;IAAEC;EAAuB,CAAC,GAAGT,gBAAgB,CAAC,CAAC;EAC5E,MAAMU,eAAe,GAAG,IAAIF,qBAAqB,CAC/C,GAAGD,SAAS,mBACd,CAAC;EACD,MAAMI,gBAAgB,GAAG,IAAIH,qBAAqB,CAChD,GAAGD,SAAS,oBACd,CAAC;EACD,MAAMK,kBAAkB,GAAG,IAAIH,sBAAsB,CACnD,GAAGF,SAAS,sBACd,CAAC;EACD,OAAO;IACLM,SAAS,EAAE;MACTC,eAAe,EAAEJ,eAAe;MAChCK,aAAa,EAAEJ,gBAAgB;MAC/BK,iBAAiB,EAAEV,OAAO,CAACW,MAAM,GAC7BC,wBAAe,GACfhB,qBAAqB,CAAC;IAC5B,CAAC;IACDiB,UAAU,EAAE;MACVC,OAAO,EAAER;IACX,CAAC;IACDS,KAAK,EAAE,MAAAA,CAAA,KAAY;MACjB,MAAMX,eAAe,CAACY,KAAK,CAAC,CAAC;MAC7B,MAAMX,gBAAgB,CAACW,KAAK,CAAC,CAAC;MAC9B,MAAMV,kBAAkB,CAACU,KAAK,GAAG,CAAC;IACpC;EACF,CAAC;AACH;AAEO,SAASC,+BAA+BA,CAC7CC,kBAAkE,EACnC;EAC/B,IAAI,OAAOA,kBAAkB,KAAK,QAAQ,EAAE;IAC1C,OAAOnB,mCAAmC,CAAC;MACzCE,SAAS,EAAEiB;IACb,CAAC,CAAC;EACJ;EACA,OAAOnB,mCAAmC,CAACmB,kBAAkB,CAAC;AAChE;AAEO,SAASC,oBAAoBA,CAACC,IAAoB,EAAkB;EACzE,OAAO;IACL,GAAGA,IAAI;IACPC,eAAe,EAAED,IAAI,CAACC,eAAe,GACjC;MAAE,GAAGD,IAAI,CAACC;IAAgB,CAAC,GAC3BC,SAAS;IACbC,MAAM,EAAEH,IAAI,CAACG,MAAM,GAAG;MAAE,GAAGH,IAAI,CAACG;IAAO,CAAC,GAAGD,SAAS;IACpDE,gBAAgB,EAAEJ,IAAI,CAACI,gBAAgB,GACnC;MAAE,GAAGJ,IAAI,CAACI;IAAiB,CAAC,GAC5BF;EACN,CAAC;AACH;AAQO,SAASG,qBAAqBA,CAACC,MAAqC,EAAE;EAC3E,MAAMC,YAAY,GAAGD,MAAM,CAACC,YAAY,IAAI,mBAAmB;EAC/D,MAAMC,aAAa,GACjBF,MAAM,CAACf,MAAM,IACZ,OAAOe,MAAM,CAACG,cAAc,KAAK,QAAQ,IAAIH,MAAM,CAACG,cAAc,CAAClB,MAAO;EAC7E,MAAMmB,aAAa,GACjBJ,MAAM,CAACG,cAAc,KAAK,KAAK,GAC3BP,SAAS,GACTvB,mCAAmC,CAAC;IAClCE,SAAS,EACP,OAAOyB,MAAM,CAACG,cAAc,KAAK,QAAQ,GACrCH,MAAM,CAACG,cAAc,CAAC5B,SAAS,GAC/B0B,YAAY;IAClBhB,MAAM,EAAEiB;EACV,CAAC,CAAC;EACR,MAAMrB,SAAS,GAAG,IAAAwB,iCAAc,EAAC,CAAC;EAClC,MAAMlB,UAAU,GACda,MAAM,CAACM,uBAAuB,KAAKV,SAAS,GACxCW,mBAAU,CAACC,gCAAgC,CACzCR,MAAM,CAACM,uBAAuB,EAC9B;IACE,GAAGF,aAAa,EAAEjB,UAAU;IAC5B,GAAGa,MAAM,CAACb,UAAU;IACpBc,YAAY;IACZQ,UAAU,EAAEP,aAAa,GACpBF,MAAM,CAACb,UAAU,EAAEsB,UAAU,IAAIC,yBAAgB,GAClDV,MAAM,CAACb,UAAU,EAAEsB;EACzB,CACF,CAAC,GACDb,SAAS;EACf,MAAMe,QAAQ,GAAG;IACf9B,SAAS;IACTM,UAAU;IACVyB,IAAI,EAAE,MAAOlB,IAAqB,IAAK;MACrC,MAAMb,SAAS,CAAC+B,IAAI,CAACZ,MAAM,CAACa,eAAe,EAAEb,MAAM,CAACc,MAAM,EAAE;QAC1D,GAAGV,aAAa,EAAEvB,SAAS;QAC3B,GAAGmB,MAAM,CAACnB,SAAS;QACnBoB,YAAY;QACZjB,iBAAiB,EAAEkB,aAAa,GAC3BF,MAAM,CAACnB,SAAS,EAAEG,iBAAiB,IAAIE,wBAAe,GACtDc,MAAM,CAACnB,SAAS,EAAEG,iBAAiB,IACpCoB,aAAa,EAAEvB,SAAS,CAACG;MAC/B,CAAC,CAAC,CAAC+B,OAAO;MACV,IAAI5B,UAAU,IAAIO,IAAI,EAAE;QACtBP,UAAU,CAAC6B,OAAO,CAACtB,IAAI,CAAC;MAC1B;MACA,OAAOiB,QAAQ;IACjB,CAAC;IACDM,KAAK,EAAE,MAAAA,CAAA,KAAYpC,SAAS,CAACoC,KAAK,CAAC,CAAC,CAACF,OAAO;IAC5CzB,KAAK,EAAEA,CAAA,KAAMT,SAAS,CAACS,KAAK,CAAC,CAAC;IAC9B4B,SAAS,EAAEA,CAAA,KAAMrC,SAAS,CAACqC,SAAS,CAAC,CAAC;IACtCC,WAAW,EAAEA,CAAA,KAAMtC,SAAS,CAACsC,WAAW,CAAC;EAC3C,CAA4B;EAE5B,OAAOR,QAAQ;AACjB;AAEO,SAASS,oBAAoBA,CAACnB,YAAY,GAAG,mBAAmB,EAGrE;EACA,OAAO,IAAAoB,oCAAqB,EAACpB,YAAY,CAAC,CAACqB,aAAa,CAACC,WAAW,CAAC,CAAC;AACxE","ignoreList":[]}
|