@formo/analytics-react-native 0.1.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 +302 -0
- package/lib/commonjs/FormoAnalytics.js +526 -0
- package/lib/commonjs/FormoAnalytics.js.map +1 -0
- package/lib/commonjs/FormoAnalyticsProvider.js +265 -0
- package/lib/commonjs/FormoAnalyticsProvider.js.map +1 -0
- package/lib/commonjs/constants/config.js +69 -0
- package/lib/commonjs/constants/config.js.map +1 -0
- package/lib/commonjs/constants/events.js +30 -0
- package/lib/commonjs/constants/events.js.map +1 -0
- package/lib/commonjs/constants/index.js +39 -0
- package/lib/commonjs/constants/index.js.map +1 -0
- package/lib/commonjs/constants/storage.js +23 -0
- package/lib/commonjs/constants/storage.js.map +1 -0
- package/lib/commonjs/index.js +65 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/lib/consent/index.js +56 -0
- package/lib/commonjs/lib/consent/index.js.map +1 -0
- package/lib/commonjs/lib/event/EventFactory.js +493 -0
- package/lib/commonjs/lib/event/EventFactory.js.map +1 -0
- package/lib/commonjs/lib/event/EventManager.js +46 -0
- package/lib/commonjs/lib/event/EventManager.js.map +1 -0
- package/lib/commonjs/lib/event/EventQueue.js +290 -0
- package/lib/commonjs/lib/event/EventQueue.js.map +1 -0
- package/lib/commonjs/lib/event/index.js +50 -0
- package/lib/commonjs/lib/event/index.js.map +1 -0
- package/lib/commonjs/lib/event/types.js +6 -0
- package/lib/commonjs/lib/event/types.js.map +1 -0
- package/lib/commonjs/lib/lifecycle/index.js +196 -0
- package/lib/commonjs/lib/lifecycle/index.js.map +1 -0
- package/lib/commonjs/lib/logger/index.js +48 -0
- package/lib/commonjs/lib/logger/index.js.map +1 -0
- package/lib/commonjs/lib/session/index.js +109 -0
- package/lib/commonjs/lib/session/index.js.map +1 -0
- package/lib/commonjs/lib/storage/AsyncStorageAdapter.js +164 -0
- package/lib/commonjs/lib/storage/AsyncStorageAdapter.js.map +1 -0
- package/lib/commonjs/lib/storage/MemoryStorage.js +41 -0
- package/lib/commonjs/lib/storage/MemoryStorage.js.map +1 -0
- package/lib/commonjs/lib/storage/StorageBlueprint.js +24 -0
- package/lib/commonjs/lib/storage/StorageBlueprint.js.map +1 -0
- package/lib/commonjs/lib/storage/StorageManager.js +126 -0
- package/lib/commonjs/lib/storage/StorageManager.js.map +1 -0
- package/lib/commonjs/lib/storage/index.js +49 -0
- package/lib/commonjs/lib/storage/index.js.map +1 -0
- package/lib/commonjs/lib/storage/types.js +2 -0
- package/lib/commonjs/lib/storage/types.js.map +1 -0
- package/lib/commonjs/lib/wagmi/WagmiEventHandler.js +445 -0
- package/lib/commonjs/lib/wagmi/WagmiEventHandler.js.map +1 -0
- package/lib/commonjs/lib/wagmi/index.js +28 -0
- package/lib/commonjs/lib/wagmi/index.js.map +1 -0
- package/lib/commonjs/lib/wagmi/types.js +2 -0
- package/lib/commonjs/lib/wagmi/types.js.map +1 -0
- package/lib/commonjs/types/base.js +6 -0
- package/lib/commonjs/types/base.js.map +1 -0
- package/lib/commonjs/types/events.js +22 -0
- package/lib/commonjs/types/events.js.map +1 -0
- package/lib/commonjs/types/index.js +28 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/commonjs/utils/address.js +82 -0
- package/lib/commonjs/utils/address.js.map +1 -0
- package/lib/commonjs/utils/hash.js +30 -0
- package/lib/commonjs/utils/hash.js.map +1 -0
- package/lib/commonjs/utils/helpers.js +116 -0
- package/lib/commonjs/utils/helpers.js.map +1 -0
- package/lib/commonjs/utils/index.js +61 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/commonjs/utils/timestamp.js +34 -0
- package/lib/commonjs/utils/timestamp.js.map +1 -0
- package/lib/commonjs/utils/trafficSource.js +147 -0
- package/lib/commonjs/utils/trafficSource.js.map +1 -0
- package/lib/commonjs/version.js +10 -0
- package/lib/commonjs/version.js.map +1 -0
- package/lib/module/FormoAnalytics.js +519 -0
- package/lib/module/FormoAnalytics.js.map +1 -0
- package/lib/module/FormoAnalyticsProvider.js +256 -0
- package/lib/module/FormoAnalyticsProvider.js.map +1 -0
- package/lib/module/constants/config.js +62 -0
- package/lib/module/constants/config.js.map +1 -0
- package/lib/module/constants/events.js +24 -0
- package/lib/module/constants/events.js.map +1 -0
- package/lib/module/constants/index.js +4 -0
- package/lib/module/constants/index.js.map +1 -0
- package/lib/module/constants/storage.js +17 -0
- package/lib/module/constants/storage.js.map +1 -0
- package/lib/module/index.js +51 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/lib/consent/index.js +49 -0
- package/lib/module/lib/consent/index.js.map +1 -0
- package/lib/module/lib/event/EventFactory.js +488 -0
- package/lib/module/lib/event/EventFactory.js.map +1 -0
- package/lib/module/lib/event/EventManager.js +41 -0
- package/lib/module/lib/event/EventManager.js.map +1 -0
- package/lib/module/lib/event/EventQueue.js +283 -0
- package/lib/module/lib/event/EventQueue.js.map +1 -0
- package/lib/module/lib/event/index.js +5 -0
- package/lib/module/lib/event/index.js.map +1 -0
- package/lib/module/lib/event/types.js +2 -0
- package/lib/module/lib/event/types.js.map +1 -0
- package/lib/module/lib/lifecycle/index.js +190 -0
- package/lib/module/lib/lifecycle/index.js.map +1 -0
- package/lib/module/lib/logger/index.js +42 -0
- package/lib/module/lib/logger/index.js.map +1 -0
- package/lib/module/lib/session/index.js +92 -0
- package/lib/module/lib/session/index.js.map +1 -0
- package/lib/module/lib/storage/AsyncStorageAdapter.js +158 -0
- package/lib/module/lib/storage/AsyncStorageAdapter.js.map +1 -0
- package/lib/module/lib/storage/MemoryStorage.js +35 -0
- package/lib/module/lib/storage/MemoryStorage.js.map +1 -0
- package/lib/module/lib/storage/StorageBlueprint.js +18 -0
- package/lib/module/lib/storage/StorageBlueprint.js.map +1 -0
- package/lib/module/lib/storage/StorageManager.js +115 -0
- package/lib/module/lib/storage/StorageManager.js.map +1 -0
- package/lib/module/lib/storage/index.js +5 -0
- package/lib/module/lib/storage/index.js.map +1 -0
- package/lib/module/lib/storage/types.js +2 -0
- package/lib/module/lib/storage/types.js.map +1 -0
- package/lib/module/lib/wagmi/WagmiEventHandler.js +439 -0
- package/lib/module/lib/wagmi/WagmiEventHandler.js.map +1 -0
- package/lib/module/lib/wagmi/index.js +3 -0
- package/lib/module/lib/wagmi/index.js.map +1 -0
- package/lib/module/lib/wagmi/types.js +2 -0
- package/lib/module/lib/wagmi/types.js.map +1 -0
- package/lib/module/types/base.js +2 -0
- package/lib/module/types/base.js.map +1 -0
- package/lib/module/types/events.js +17 -0
- package/lib/module/types/events.js.map +1 -0
- package/lib/module/types/index.js +3 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/utils/address.js +74 -0
- package/lib/module/utils/address.js.map +1 -0
- package/lib/module/utils/hash.js +24 -0
- package/lib/module/utils/hash.js.map +1 -0
- package/lib/module/utils/helpers.js +105 -0
- package/lib/module/utils/helpers.js.map +1 -0
- package/lib/module/utils/index.js +6 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/timestamp.js +26 -0
- package/lib/module/utils/timestamp.js.map +1 -0
- package/lib/module/utils/trafficSource.js +137 -0
- package/lib/module/utils/trafficSource.js.map +1 -0
- package/lib/module/version.js +4 -0
- package/lib/module/version.js.map +1 -0
- package/lib/typescript/FormoAnalytics.d.ts +163 -0
- package/lib/typescript/FormoAnalytics.d.ts.map +1 -0
- package/lib/typescript/FormoAnalyticsProvider.d.ts +29 -0
- package/lib/typescript/FormoAnalyticsProvider.d.ts.map +1 -0
- package/lib/typescript/constants/config.d.ts +8 -0
- package/lib/typescript/constants/config.d.ts.map +1 -0
- package/lib/typescript/constants/events.d.ts +23 -0
- package/lib/typescript/constants/events.d.ts.map +1 -0
- package/lib/typescript/constants/index.d.ts +4 -0
- package/lib/typescript/constants/index.d.ts.map +1 -0
- package/lib/typescript/constants/storage.d.ts +10 -0
- package/lib/typescript/constants/storage.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +44 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/lib/consent/index.d.ts +13 -0
- package/lib/typescript/lib/consent/index.d.ts.map +1 -0
- package/lib/typescript/lib/event/EventFactory.d.ts +61 -0
- package/lib/typescript/lib/event/EventFactory.d.ts.map +1 -0
- package/lib/typescript/lib/event/EventManager.d.ts +17 -0
- package/lib/typescript/lib/event/EventManager.d.ts.map +1 -0
- package/lib/typescript/lib/event/EventQueue.d.ts +74 -0
- package/lib/typescript/lib/event/EventQueue.d.ts.map +1 -0
- package/lib/typescript/lib/event/index.d.ts +5 -0
- package/lib/typescript/lib/event/index.d.ts.map +1 -0
- package/lib/typescript/lib/event/types.d.ts +23 -0
- package/lib/typescript/lib/event/types.d.ts.map +1 -0
- package/lib/typescript/lib/lifecycle/index.d.ts +46 -0
- package/lib/typescript/lib/lifecycle/index.d.ts.map +1 -0
- package/lib/typescript/lib/logger/index.d.ts +19 -0
- package/lib/typescript/lib/logger/index.d.ts.map +1 -0
- package/lib/typescript/lib/session/index.d.ts +41 -0
- package/lib/typescript/lib/session/index.d.ts.map +1 -0
- package/lib/typescript/lib/storage/AsyncStorageAdapter.d.ts +48 -0
- package/lib/typescript/lib/storage/AsyncStorageAdapter.d.ts.map +1 -0
- package/lib/typescript/lib/storage/MemoryStorage.d.ts +18 -0
- package/lib/typescript/lib/storage/MemoryStorage.d.ts.map +1 -0
- package/lib/typescript/lib/storage/StorageBlueprint.d.ts +21 -0
- package/lib/typescript/lib/storage/StorageBlueprint.d.ts.map +1 -0
- package/lib/typescript/lib/storage/StorageManager.d.ts +45 -0
- package/lib/typescript/lib/storage/StorageManager.d.ts.map +1 -0
- package/lib/typescript/lib/storage/index.d.ts +5 -0
- package/lib/typescript/lib/storage/index.d.ts.map +1 -0
- package/lib/typescript/lib/storage/types.d.ts +22 -0
- package/lib/typescript/lib/storage/types.d.ts.map +1 -0
- package/lib/typescript/lib/wagmi/WagmiEventHandler.d.ts +104 -0
- package/lib/typescript/lib/wagmi/WagmiEventHandler.d.ts.map +1 -0
- package/lib/typescript/lib/wagmi/index.d.ts +3 -0
- package/lib/typescript/lib/wagmi/index.d.ts.map +1 -0
- package/lib/typescript/lib/wagmi/types.d.ts +54 -0
- package/lib/typescript/lib/wagmi/types.d.ts.map +1 -0
- package/lib/typescript/types/base.d.ts +219 -0
- package/lib/typescript/types/base.d.ts.map +1 -0
- package/lib/typescript/types/events.d.ts +111 -0
- package/lib/typescript/types/events.d.ts.map +1 -0
- package/lib/typescript/types/index.d.ts +3 -0
- package/lib/typescript/types/index.d.ts.map +1 -0
- package/lib/typescript/utils/address.d.ts +25 -0
- package/lib/typescript/utils/address.d.ts.map +1 -0
- package/lib/typescript/utils/hash.d.ts +10 -0
- package/lib/typescript/utils/hash.d.ts.map +1 -0
- package/lib/typescript/utils/helpers.d.ts +26 -0
- package/lib/typescript/utils/helpers.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +6 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/lib/typescript/utils/timestamp.d.ts +13 -0
- package/lib/typescript/utils/timestamp.d.ts.map +1 -0
- package/lib/typescript/utils/trafficSource.d.ts +30 -0
- package/lib/typescript/utils/trafficSource.d.ts.map +1 -0
- package/lib/typescript/version.d.ts +2 -0
- package/lib/typescript/version.d.ts.map +1 -0
- package/package.json +143 -0
- package/src/FormoAnalytics.ts +685 -0
- package/src/FormoAnalyticsProvider.tsx +296 -0
- package/src/constants/config.ts +62 -0
- package/src/constants/events.ts +26 -0
- package/src/constants/index.ts +3 -0
- package/src/constants/storage.ts +16 -0
- package/src/index.ts +55 -0
- package/src/lib/consent/index.ts +52 -0
- package/src/lib/event/EventFactory.ts +682 -0
- package/src/lib/event/EventManager.ts +50 -0
- package/src/lib/event/EventQueue.ts +371 -0
- package/src/lib/event/index.ts +4 -0
- package/src/lib/event/types.ts +107 -0
- package/src/lib/lifecycle/index.ts +215 -0
- package/src/lib/logger/index.ts +56 -0
- package/src/lib/session/index.ts +103 -0
- package/src/lib/storage/AsyncStorageAdapter.ts +173 -0
- package/src/lib/storage/MemoryStorage.ts +43 -0
- package/src/lib/storage/StorageBlueprint.ts +30 -0
- package/src/lib/storage/StorageManager.ts +121 -0
- package/src/lib/storage/index.ts +4 -0
- package/src/lib/storage/types.ts +23 -0
- package/src/lib/wagmi/WagmiEventHandler.ts +574 -0
- package/src/lib/wagmi/index.ts +2 -0
- package/src/lib/wagmi/types.ts +71 -0
- package/src/types/base.ts +287 -0
- package/src/types/events.ts +140 -0
- package/src/types/index.ts +2 -0
- package/src/utils/address.ts +84 -0
- package/src/utils/hash.ts +23 -0
- package/src/utils/helpers.ts +139 -0
- package/src/utils/index.ts +5 -0
- package/src/utils/timestamp.ts +25 -0
- package/src/utils/trafficSource.ts +153 -0
- package/src/version.ts +3 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import StorageBlueprint from "./StorageBlueprint";
|
|
2
|
+
import { logger } from "../logger";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* AsyncStorage adapter for React Native
|
|
6
|
+
* Provides persistent storage across app restarts
|
|
7
|
+
*/
|
|
8
|
+
class AsyncStorageAdapter extends StorageBlueprint {
|
|
9
|
+
asyncStorage = null;
|
|
10
|
+
cache = new Map();
|
|
11
|
+
constructor(writeKey, asyncStorage) {
|
|
12
|
+
super(writeKey);
|
|
13
|
+
if (asyncStorage) {
|
|
14
|
+
this.asyncStorage = asyncStorage;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Initialize with AsyncStorage instance and preload all Formo keys
|
|
20
|
+
* This ensures consent flags and other critical data are available synchronously
|
|
21
|
+
*/
|
|
22
|
+
async initialize(asyncStorage) {
|
|
23
|
+
this.asyncStorage = asyncStorage;
|
|
24
|
+
|
|
25
|
+
// Preload all Formo keys into cache for synchronous access
|
|
26
|
+
// This is critical for consent checks on cold start (GDPR compliance)
|
|
27
|
+
try {
|
|
28
|
+
const allKeys = await asyncStorage.getAllKeys();
|
|
29
|
+
// getKey("") returns "formo_rn_{writeKey}_" - use this exact prefix
|
|
30
|
+
// to avoid matching keys from other instances (e.g., "abc" matching "abc123")
|
|
31
|
+
const formoPrefix = this.getKey("");
|
|
32
|
+
|
|
33
|
+
// Filter to only our keys (exact prefix match including trailing underscore)
|
|
34
|
+
const formoKeys = allKeys.filter(key => key.startsWith(formoPrefix));
|
|
35
|
+
if (formoKeys.length > 0) {
|
|
36
|
+
const pairs = await asyncStorage.multiGet(formoKeys);
|
|
37
|
+
for (const [key, value] of pairs) {
|
|
38
|
+
if (value !== null) {
|
|
39
|
+
this.cache.set(key, value);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
logger.debug(`AsyncStorageAdapter: Preloaded ${formoKeys.length} keys into cache`);
|
|
43
|
+
}
|
|
44
|
+
} catch (error) {
|
|
45
|
+
logger.error("AsyncStorageAdapter: Failed to preload keys", error);
|
|
46
|
+
}
|
|
47
|
+
logger.debug("AsyncStorageAdapter: Initialized");
|
|
48
|
+
}
|
|
49
|
+
isAvailable() {
|
|
50
|
+
return this.asyncStorage !== null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Synchronous get from cache (may return stale data)
|
|
55
|
+
* Use getAsync for guaranteed fresh data
|
|
56
|
+
*/
|
|
57
|
+
get(key) {
|
|
58
|
+
const cachedValue = this.cache.get(this.getKey(key));
|
|
59
|
+
if (cachedValue !== undefined) {
|
|
60
|
+
return cachedValue;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Trigger async fetch to populate cache
|
|
64
|
+
this.getAsync(key).catch(() => {
|
|
65
|
+
// Ignore errors in background fetch
|
|
66
|
+
});
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Async get from storage
|
|
72
|
+
*/
|
|
73
|
+
async getAsync(key) {
|
|
74
|
+
if (!this.asyncStorage) {
|
|
75
|
+
return this.cache.get(this.getKey(key)) ?? null;
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const fullKey = this.getKey(key);
|
|
79
|
+
const value = await this.asyncStorage.getItem(fullKey);
|
|
80
|
+
if (value !== null) {
|
|
81
|
+
this.cache.set(fullKey, value);
|
|
82
|
+
}
|
|
83
|
+
return value;
|
|
84
|
+
} catch (error) {
|
|
85
|
+
logger.error("AsyncStorageAdapter: Failed to get item", error);
|
|
86
|
+
return this.cache.get(this.getKey(key)) ?? null;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Synchronous set (writes to cache immediately, persists async)
|
|
92
|
+
*/
|
|
93
|
+
set(key, value) {
|
|
94
|
+
const fullKey = this.getKey(key);
|
|
95
|
+
this.cache.set(fullKey, value);
|
|
96
|
+
|
|
97
|
+
// Persist asynchronously
|
|
98
|
+
this.setAsync(key, value).catch(error => {
|
|
99
|
+
logger.error("AsyncStorageAdapter: Failed to persist item", error);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Async set to storage
|
|
105
|
+
*/
|
|
106
|
+
async setAsync(key, value) {
|
|
107
|
+
const fullKey = this.getKey(key);
|
|
108
|
+
this.cache.set(fullKey, value);
|
|
109
|
+
if (!this.asyncStorage) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
await this.asyncStorage.setItem(fullKey, value);
|
|
114
|
+
} catch (error) {
|
|
115
|
+
logger.error("AsyncStorageAdapter: Failed to set item", error);
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Synchronous remove (removes from cache immediately, persists async)
|
|
122
|
+
*/
|
|
123
|
+
remove(key) {
|
|
124
|
+
const fullKey = this.getKey(key);
|
|
125
|
+
this.cache.delete(fullKey);
|
|
126
|
+
|
|
127
|
+
// Persist asynchronously
|
|
128
|
+
this.removeAsync(key).catch(error => {
|
|
129
|
+
logger.error("AsyncStorageAdapter: Failed to remove item", error);
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Async remove from storage
|
|
135
|
+
*/
|
|
136
|
+
async removeAsync(key) {
|
|
137
|
+
const fullKey = this.getKey(key);
|
|
138
|
+
this.cache.delete(fullKey);
|
|
139
|
+
if (!this.asyncStorage) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
try {
|
|
143
|
+
await this.asyncStorage.removeItem(fullKey);
|
|
144
|
+
} catch (error) {
|
|
145
|
+
logger.error("AsyncStorageAdapter: Failed to remove item", error);
|
|
146
|
+
throw error;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Clear all cached data
|
|
152
|
+
*/
|
|
153
|
+
clearCache() {
|
|
154
|
+
this.cache.clear();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
export default AsyncStorageAdapter;
|
|
158
|
+
//# sourceMappingURL=AsyncStorageAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StorageBlueprint","logger","AsyncStorageAdapter","asyncStorage","cache","Map","constructor","writeKey","initialize","allKeys","getAllKeys","formoPrefix","getKey","formoKeys","filter","key","startsWith","length","pairs","multiGet","value","set","debug","error","isAvailable","get","cachedValue","undefined","getAsync","catch","fullKey","getItem","setAsync","setItem","remove","delete","removeAsync","removeItem","clearCache","clear"],"sourceRoot":"../../../../src","sources":["lib/storage/AsyncStorageAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import StorageBlueprint from "./StorageBlueprint";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* In-memory storage fallback
|
|
5
|
+
* Data is lost when the app is closed
|
|
6
|
+
*/
|
|
7
|
+
class MemoryStorage extends StorageBlueprint {
|
|
8
|
+
storage = new Map();
|
|
9
|
+
isAvailable() {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
get(key) {
|
|
13
|
+
return this.storage.get(this.getKey(key)) ?? null;
|
|
14
|
+
}
|
|
15
|
+
async getAsync(key) {
|
|
16
|
+
return this.get(key);
|
|
17
|
+
}
|
|
18
|
+
set(key, value) {
|
|
19
|
+
this.storage.set(this.getKey(key), value);
|
|
20
|
+
}
|
|
21
|
+
async setAsync(key, value) {
|
|
22
|
+
this.set(key, value);
|
|
23
|
+
}
|
|
24
|
+
remove(key) {
|
|
25
|
+
this.storage.delete(this.getKey(key));
|
|
26
|
+
}
|
|
27
|
+
async removeAsync(key) {
|
|
28
|
+
this.remove(key);
|
|
29
|
+
}
|
|
30
|
+
clear() {
|
|
31
|
+
this.storage.clear();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export default MemoryStorage;
|
|
35
|
+
//# sourceMappingURL=MemoryStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StorageBlueprint","MemoryStorage","storage","Map","isAvailable","get","key","getKey","getAsync","set","value","setAsync","remove","delete","removeAsync","clear"],"sourceRoot":"../../../../src","sources":["lib/storage/MemoryStorage.ts"],"mappings":"AAAA,OAAOA,gBAAgB,MAAM,oBAAoB;;AAEjD;AACA;AACA;AACA;AACA,MAAMC,aAAa,SAASD,gBAAgB,CAAC;EACnCE,OAAO,GAAwB,IAAIC,GAAG,CAAC,CAAC;EAEzCC,WAAWA,CAAA,EAAY;IAC5B,OAAO,IAAI;EACb;EAEOC,GAAGA,CAACC,GAAW,EAAiB;IACrC,OAAO,IAAI,CAACJ,OAAO,CAACG,GAAG,CAAC,IAAI,CAACE,MAAM,CAACD,GAAG,CAAC,CAAC,IAAI,IAAI;EACnD;EAEA,MAAaE,QAAQA,CAACF,GAAW,EAA0B;IACzD,OAAO,IAAI,CAACD,GAAG,CAACC,GAAG,CAAC;EACtB;EAEOG,GAAGA,CAACH,GAAW,EAAEI,KAAa,EAAQ;IAC3C,IAAI,CAACR,OAAO,CAACO,GAAG,CAAC,IAAI,CAACF,MAAM,CAACD,GAAG,CAAC,EAAEI,KAAK,CAAC;EAC3C;EAEA,MAAaC,QAAQA,CAACL,GAAW,EAAEI,KAAa,EAAiB;IAC/D,IAAI,CAACD,GAAG,CAACH,GAAG,EAAEI,KAAK,CAAC;EACtB;EAEOE,MAAMA,CAACN,GAAW,EAAQ;IAC/B,IAAI,CAACJ,OAAO,CAACW,MAAM,CAAC,IAAI,CAACN,MAAM,CAACD,GAAG,CAAC,CAAC;EACvC;EAEA,MAAaQ,WAAWA,CAACR,GAAW,EAAiB;IACnD,IAAI,CAACM,MAAM,CAACN,GAAG,CAAC;EAClB;EAEOS,KAAKA,CAAA,EAAS;IACnB,IAAI,CAACb,OAAO,CAACa,KAAK,CAAC,CAAC;EACtB;AACF;AAEA,eAAed,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { STORAGE_PREFIX } from "../../constants";
|
|
2
|
+
/**
|
|
3
|
+
* Base storage class with key prefixing
|
|
4
|
+
*/
|
|
5
|
+
class StorageBlueprint {
|
|
6
|
+
constructor(writeKey) {
|
|
7
|
+
this.writeKey = writeKey;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Generate storage key with prefix
|
|
12
|
+
*/
|
|
13
|
+
getKey(key) {
|
|
14
|
+
return `${STORAGE_PREFIX}${this.writeKey}_${key}`;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export default StorageBlueprint;
|
|
18
|
+
//# sourceMappingURL=StorageBlueprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["STORAGE_PREFIX","StorageBlueprint","constructor","writeKey","getKey","key"],"sourceRoot":"../../../../src","sources":["lib/storage/StorageBlueprint.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,iBAAiB;AAGhD;AACA;AACA;AACA,MAAeC,gBAAgB,CAAqB;EAGlDC,WAAWA,CAACC,QAAgB,EAAE;IAC5B,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC1B;;EAEA;AACF;AACA;EACSC,MAAMA,CAACC,GAAW,EAAU;IACjC,OAAO,GAAGL,cAAc,GAAG,IAAI,CAACG,QAAQ,IAAIE,GAAG,EAAE;EACnD;AASF;AAEA,eAAeJ,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { logger } from "../logger";
|
|
2
|
+
import AsyncStorageAdapter from "./AsyncStorageAdapter";
|
|
3
|
+
import MemoryStorage from "./MemoryStorage";
|
|
4
|
+
/**
|
|
5
|
+
* Storage manager for React Native SDK
|
|
6
|
+
* Uses AsyncStorage as primary storage with MemoryStorage fallback
|
|
7
|
+
*/
|
|
8
|
+
export class StorageManager {
|
|
9
|
+
storages = new Map();
|
|
10
|
+
constructor(writeKey) {
|
|
11
|
+
this.writeKey = writeKey;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Initialize with AsyncStorage instance
|
|
16
|
+
* This should be called during SDK initialization
|
|
17
|
+
*/
|
|
18
|
+
async initialize(asyncStorage) {
|
|
19
|
+
// Create and initialize the AsyncStorage adapter directly.
|
|
20
|
+
// We bypass getStorage() here because it checks isAvailable() which
|
|
21
|
+
// returns false on an uninitialized adapter and would fall back to
|
|
22
|
+
// MemoryStorage, causing a crash when we call adapter.initialize().
|
|
23
|
+
const adapter = new AsyncStorageAdapter(this.writeKey);
|
|
24
|
+
await adapter.initialize(asyncStorage);
|
|
25
|
+
this.storages.set("asyncStorage", adapter);
|
|
26
|
+
logger.debug("StorageManager: Initialized with AsyncStorage");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Get storage instance by type
|
|
31
|
+
*/
|
|
32
|
+
getStorage(type) {
|
|
33
|
+
if (!this.storages.has(type)) {
|
|
34
|
+
const storage = this.createStorage(type);
|
|
35
|
+
|
|
36
|
+
// If storage is not available, fallback to memory and cache the fallback
|
|
37
|
+
if (!storage.isAvailable() && type !== "memoryStorage") {
|
|
38
|
+
logger.warn(`Storage ${type} is not available, falling back to memoryStorage`);
|
|
39
|
+
const fallback = this.getStorage("memoryStorage");
|
|
40
|
+
this.storages.set(type, fallback);
|
|
41
|
+
return fallback;
|
|
42
|
+
}
|
|
43
|
+
this.storages.set(type, storage);
|
|
44
|
+
}
|
|
45
|
+
return this.storages.get(type);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Create storage instance
|
|
50
|
+
*/
|
|
51
|
+
createStorage(type) {
|
|
52
|
+
switch (type) {
|
|
53
|
+
case "asyncStorage":
|
|
54
|
+
return new AsyncStorageAdapter(this.writeKey);
|
|
55
|
+
case "memoryStorage":
|
|
56
|
+
default:
|
|
57
|
+
return new MemoryStorage(this.writeKey);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Get primary storage (AsyncStorage with fallback)
|
|
63
|
+
*/
|
|
64
|
+
getPrimaryStorage() {
|
|
65
|
+
const asyncStorage = this.getStorage("asyncStorage");
|
|
66
|
+
if (asyncStorage.isAvailable()) {
|
|
67
|
+
return asyncStorage;
|
|
68
|
+
}
|
|
69
|
+
return this.getStorage("memoryStorage");
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Check if persistent storage (AsyncStorage) has been initialized.
|
|
74
|
+
* Returns false if only MemoryStorage is available.
|
|
75
|
+
*/
|
|
76
|
+
hasPersistentStorage() {
|
|
77
|
+
const stored = this.storages.get("asyncStorage");
|
|
78
|
+
return stored instanceof AsyncStorageAdapter && stored.isAvailable();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Global storage manager instance
|
|
83
|
+
let storageManagerInstance = null;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Initialize global storage manager
|
|
87
|
+
*/
|
|
88
|
+
export function initStorageManager(writeKey) {
|
|
89
|
+
if (!storageManagerInstance || storageManagerInstance["writeKey"] !== writeKey) {
|
|
90
|
+
// Clean up old instance before creating new one
|
|
91
|
+
if (storageManagerInstance) {
|
|
92
|
+
logger.debug("StorageManager: Replacing instance with new writeKey");
|
|
93
|
+
}
|
|
94
|
+
storageManagerInstance = new StorageManager(writeKey);
|
|
95
|
+
}
|
|
96
|
+
return storageManagerInstance;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Get global storage manager instance
|
|
101
|
+
*/
|
|
102
|
+
export function getStorageManager() {
|
|
103
|
+
return storageManagerInstance;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Get primary storage
|
|
108
|
+
*/
|
|
109
|
+
export function storage() {
|
|
110
|
+
if (!storageManagerInstance) {
|
|
111
|
+
throw new Error("StorageManager not initialized. Call initStorageManager first.");
|
|
112
|
+
}
|
|
113
|
+
return storageManagerInstance.getPrimaryStorage();
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=StorageManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["logger","AsyncStorageAdapter","MemoryStorage","StorageManager","storages","Map","constructor","writeKey","initialize","asyncStorage","adapter","set","debug","getStorage","type","has","storage","createStorage","isAvailable","warn","fallback","get","getPrimaryStorage","hasPersistentStorage","stored","storageManagerInstance","initStorageManager","getStorageManager","Error"],"sourceRoot":"../../../../src","sources":["lib/storage/StorageManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","AsyncStorageAdapter","MemoryStorage"],"sourceRoot":"../../../../src","sources":["lib/storage/index.ts"],"mappings":"AAAA,cAAc,kBAAkB;AAChC,cAAc,SAAS;AACvB,SAASA,OAAO,IAAIC,mBAAmB,QAAQ,uBAAuB;AACtE,SAASD,OAAO,IAAIE,aAAa,QAAQ,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["lib/storage/types.ts"],"mappings":"","ignoreList":[]}
|