react-native-nitro-storage 0.3.0 → 0.3.1
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 +414 -256
- package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +98 -11
- package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +15 -0
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +130 -33
- package/android/src/main/java/com/nitrostorage/NitroStoragePackage.kt +2 -2
- package/cpp/bindings/HybridStorage.cpp +121 -12
- package/cpp/bindings/HybridStorage.hpp +10 -0
- package/cpp/core/NativeStorageAdapter.hpp +15 -0
- package/ios/IOSStorageAdapterCpp.hpp +19 -0
- package/ios/IOSStorageAdapterCpp.mm +233 -32
- package/lib/commonjs/Storage.types.js +23 -1
- package/lib/commonjs/Storage.types.js.map +1 -1
- package/lib/commonjs/index.js +173 -32
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +289 -49
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/internal.js +10 -0
- package/lib/commonjs/internal.js.map +1 -1
- package/lib/module/Storage.types.js +22 -0
- package/lib/module/Storage.types.js.map +1 -1
- package/lib/module/index.js +163 -35
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +278 -51
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/internal.js +8 -0
- package/lib/module/internal.js.map +1 -1
- package/lib/typescript/Storage.nitro.d.ts +10 -0
- package/lib/typescript/Storage.nitro.d.ts.map +1 -1
- package/lib/typescript/Storage.types.d.ts +20 -0
- package/lib/typescript/Storage.types.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +30 -7
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +40 -7
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/internal.d.ts +2 -0
- package/lib/typescript/internal.d.ts.map +1 -1
- package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +10 -0
- package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +10 -0
- package/package.json +4 -1
- package/src/Storage.nitro.ts +11 -2
- package/src/Storage.types.ts +22 -0
- package/src/index.ts +270 -71
- package/src/index.web.ts +431 -90
- package/src/internal.ts +14 -4
- package/src/migration.ts +1 -1
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useSyncExternalStore","NitroModules","StorageScope","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","decodeNativeBatchValue","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","migrateFromMMKV","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","_storageModule","getStorageModule","createHybridObject","memoryStore","memoryListeners","scopedListeners","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingSecureWrites","secureFlushScheduled","getScopedListeners","scope","get","getScopeRawCache","cacheRawValue","key","value","set","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","undefined","push","storageModule","length","setBatch","removeBatch","scheduleSecureWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","getRawValue","Memory","setRawValue","removeRawValue","remove","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","storage","clearAll","canUseRawBatchPath","item","_hasExpiration","_hasValidation","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","validate","onValidationError","expiration","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","nonMemoryScope","Error","lastRaw","lastValue","hasLastValue","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","defaultValue","ensureValidatedValue","candidate","hadStoredValue","resolved","canUseCachedValue","deserializableRaw","parse","valueOrFn","currentValue","newValue","deleteItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage","getBatch","items","map","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","index","fetchedValues","targetIndex","batchEntry","keys","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","filter","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","entries","reverse","previousValue"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useRef","useSyncExternalStore","NitroModules","StorageScope","AccessControl","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","decodeNativeBatchValue","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","prefixKey","isNamespaced","BiometricLevel","migrateFromMMKV","asInternal","item","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","_storageModule","getStorageModule","createHybridObject","memoryStore","memoryListeners","scopedListeners","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","getScopedListeners","scope","get","getScopeRawCache","cacheRawValue","key","value","set","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","undefined","push","storageModule","setSecureAccessControl","length","setBatch","removeBatch","scheduleSecureWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","getRawValue","Memory","setRawValue","removeRawValue","remove","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","storage","clearSecureBiometric","clearAll","clearNamespace","namespace","keys","getAllKeys","namespacedKeys","filter","k","clearBiometric","getAll","result","getBatch","idx","val","setAccessControl","level","setKeychainAccessGroup","group","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","defaultSerialize","defaultDeserialize","createStorageItem","config","storageKey","serialize","deserialize","isMemory","isBiometric","biometric","secureAccessControl","accessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","nonMemoryScope","Error","lastRaw","lastValue","hasLastValue","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometric","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","defaultValue","ensureValidatedValue","candidate","hadStoredValue","resolved","canUseCachedValue","deserializableRaw","parse","valueOrFn","currentValue","newValue","deleteItem","hasItem","hasSecureBiometric","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage","items","map","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","index","fetchedValues","targetIndex","batchEntry","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","entries","reverse","previousValue","createSecureAuthStorage","options","ns","itemConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.web.js
CHANGED
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import { useRef, useSyncExternalStore } from "react";
|
|
4
4
|
import { StorageScope } from "./Storage.types";
|
|
5
|
-
import { MIGRATION_VERSION_KEY, isStoredEnvelope, assertBatchScope, assertValidScope, serializeWithPrimitiveFastPath, deserializeWithPrimitiveFastPath } from "./internal";
|
|
6
|
-
export { StorageScope } from "./Storage.types";
|
|
5
|
+
import { MIGRATION_VERSION_KEY, isStoredEnvelope, assertBatchScope, assertValidScope, serializeWithPrimitiveFastPath, deserializeWithPrimitiveFastPath, prefixKey, isNamespaced } from "./internal";
|
|
6
|
+
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
7
7
|
export { migrateFromMMKV } from "./migration";
|
|
8
|
+
function asInternal(item) {
|
|
9
|
+
return item;
|
|
10
|
+
}
|
|
8
11
|
const registeredMigrations = new Map();
|
|
9
12
|
const runMicrotask = typeof queueMicrotask === "function" ? queueMicrotask : task => {
|
|
10
13
|
Promise.resolve().then(task);
|
|
@@ -15,15 +18,30 @@ const webScopeListeners = new Map([[StorageScope.Disk, new Map()], [StorageScope
|
|
|
15
18
|
const scopedRawCache = new Map([[StorageScope.Disk, new Map()], [StorageScope.Secure, new Map()]]);
|
|
16
19
|
const pendingSecureWrites = new Map();
|
|
17
20
|
let secureFlushScheduled = false;
|
|
21
|
+
const SECURE_WEB_PREFIX = "__secure_";
|
|
22
|
+
const BIOMETRIC_WEB_PREFIX = "__bio_";
|
|
23
|
+
let hasWarnedAboutWebBiometricFallback = false;
|
|
18
24
|
function getBrowserStorage(scope) {
|
|
19
25
|
if (scope === StorageScope.Disk) {
|
|
20
26
|
return globalThis.localStorage;
|
|
21
27
|
}
|
|
22
28
|
if (scope === StorageScope.Secure) {
|
|
23
|
-
return globalThis.
|
|
29
|
+
return globalThis.localStorage;
|
|
24
30
|
}
|
|
25
31
|
return undefined;
|
|
26
32
|
}
|
|
33
|
+
function toSecureStorageKey(key) {
|
|
34
|
+
return `${SECURE_WEB_PREFIX}${key}`;
|
|
35
|
+
}
|
|
36
|
+
function fromSecureStorageKey(key) {
|
|
37
|
+
return key.slice(SECURE_WEB_PREFIX.length);
|
|
38
|
+
}
|
|
39
|
+
function toBiometricStorageKey(key) {
|
|
40
|
+
return `${BIOMETRIC_WEB_PREFIX}${key}`;
|
|
41
|
+
}
|
|
42
|
+
function fromBiometricStorageKey(key) {
|
|
43
|
+
return key.slice(BIOMETRIC_WEB_PREFIX.length);
|
|
44
|
+
}
|
|
27
45
|
function getScopedListeners(scope) {
|
|
28
46
|
return webScopeListeners.get(scope);
|
|
29
47
|
}
|
|
@@ -122,25 +140,61 @@ const WebStorage = {
|
|
|
122
140
|
dispose: () => {},
|
|
123
141
|
set: (key, value, scope) => {
|
|
124
142
|
const storage = getBrowserStorage(scope);
|
|
125
|
-
storage
|
|
143
|
+
if (!storage) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const storageKey = scope === StorageScope.Secure ? toSecureStorageKey(key) : key;
|
|
147
|
+
storage.setItem(storageKey, value);
|
|
126
148
|
if (scope === StorageScope.Disk || scope === StorageScope.Secure) {
|
|
127
149
|
notifyKeyListeners(getScopedListeners(scope), key);
|
|
128
150
|
}
|
|
129
151
|
},
|
|
130
152
|
get: (key, scope) => {
|
|
131
153
|
const storage = getBrowserStorage(scope);
|
|
132
|
-
|
|
154
|
+
const storageKey = scope === StorageScope.Secure ? toSecureStorageKey(key) : key;
|
|
155
|
+
return storage?.getItem(storageKey) ?? undefined;
|
|
133
156
|
},
|
|
134
157
|
remove: (key, scope) => {
|
|
135
158
|
const storage = getBrowserStorage(scope);
|
|
136
|
-
storage
|
|
159
|
+
if (!storage) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (scope === StorageScope.Secure) {
|
|
163
|
+
storage.removeItem(toSecureStorageKey(key));
|
|
164
|
+
storage.removeItem(toBiometricStorageKey(key));
|
|
165
|
+
} else {
|
|
166
|
+
storage.removeItem(key);
|
|
167
|
+
}
|
|
137
168
|
if (scope === StorageScope.Disk || scope === StorageScope.Secure) {
|
|
138
169
|
notifyKeyListeners(getScopedListeners(scope), key);
|
|
139
170
|
}
|
|
140
171
|
},
|
|
141
172
|
clear: scope => {
|
|
142
173
|
const storage = getBrowserStorage(scope);
|
|
143
|
-
storage
|
|
174
|
+
if (!storage) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
if (scope === StorageScope.Secure) {
|
|
178
|
+
const keysToRemove = [];
|
|
179
|
+
for (let i = 0; i < storage.length; i++) {
|
|
180
|
+
const key = storage.key(i);
|
|
181
|
+
if (key?.startsWith(SECURE_WEB_PREFIX) || key?.startsWith(BIOMETRIC_WEB_PREFIX)) {
|
|
182
|
+
keysToRemove.push(key);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
keysToRemove.forEach(key => storage.removeItem(key));
|
|
186
|
+
} else if (scope === StorageScope.Disk) {
|
|
187
|
+
const keysToRemove = [];
|
|
188
|
+
for (let i = 0; i < storage.length; i++) {
|
|
189
|
+
const key = storage.key(i);
|
|
190
|
+
if (key && !key.startsWith(SECURE_WEB_PREFIX) && !key.startsWith(BIOMETRIC_WEB_PREFIX)) {
|
|
191
|
+
keysToRemove.push(key);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
keysToRemove.forEach(key => storage.removeItem(key));
|
|
195
|
+
} else {
|
|
196
|
+
storage.clear();
|
|
197
|
+
}
|
|
144
198
|
if (scope === StorageScope.Disk || scope === StorageScope.Secure) {
|
|
145
199
|
notifyAllListeners(getScopedListeners(scope));
|
|
146
200
|
}
|
|
@@ -151,7 +205,8 @@ const WebStorage = {
|
|
|
151
205
|
return;
|
|
152
206
|
}
|
|
153
207
|
keys.forEach((key, index) => {
|
|
154
|
-
|
|
208
|
+
const storageKey = scope === StorageScope.Secure ? toSecureStorageKey(key) : key;
|
|
209
|
+
storage.setItem(storageKey, values[index]);
|
|
155
210
|
});
|
|
156
211
|
if (scope === StorageScope.Disk || scope === StorageScope.Secure) {
|
|
157
212
|
const listeners = getScopedListeners(scope);
|
|
@@ -160,23 +215,88 @@ const WebStorage = {
|
|
|
160
215
|
},
|
|
161
216
|
getBatch: (keys, scope) => {
|
|
162
217
|
const storage = getBrowserStorage(scope);
|
|
163
|
-
return keys.map(key =>
|
|
218
|
+
return keys.map(key => {
|
|
219
|
+
const storageKey = scope === StorageScope.Secure ? toSecureStorageKey(key) : key;
|
|
220
|
+
return storage?.getItem(storageKey) ?? undefined;
|
|
221
|
+
});
|
|
164
222
|
},
|
|
165
223
|
removeBatch: (keys, scope) => {
|
|
166
|
-
const storage = getBrowserStorage(scope);
|
|
167
|
-
if (!storage) {
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
224
|
keys.forEach(key => {
|
|
171
|
-
|
|
225
|
+
WebStorage.remove(key, scope);
|
|
172
226
|
});
|
|
173
|
-
if (scope === StorageScope.Disk || scope === StorageScope.Secure) {
|
|
174
|
-
const listeners = getScopedListeners(scope);
|
|
175
|
-
keys.forEach(key => notifyKeyListeners(listeners, key));
|
|
176
|
-
}
|
|
177
227
|
},
|
|
178
228
|
addOnChange: (_scope, _callback) => {
|
|
179
229
|
return () => {};
|
|
230
|
+
},
|
|
231
|
+
has: (key, scope) => {
|
|
232
|
+
const storage = getBrowserStorage(scope);
|
|
233
|
+
if (scope === StorageScope.Secure) {
|
|
234
|
+
return storage?.getItem(toSecureStorageKey(key)) !== null || storage?.getItem(toBiometricStorageKey(key)) !== null;
|
|
235
|
+
}
|
|
236
|
+
return storage?.getItem(key) !== null;
|
|
237
|
+
},
|
|
238
|
+
getAllKeys: scope => {
|
|
239
|
+
const storage = getBrowserStorage(scope);
|
|
240
|
+
if (!storage) return [];
|
|
241
|
+
const keys = new Set();
|
|
242
|
+
for (let i = 0; i < storage.length; i++) {
|
|
243
|
+
const k = storage.key(i);
|
|
244
|
+
if (!k) {
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
if (scope === StorageScope.Secure) {
|
|
248
|
+
if (k.startsWith(SECURE_WEB_PREFIX)) {
|
|
249
|
+
keys.add(fromSecureStorageKey(k));
|
|
250
|
+
} else if (k.startsWith(BIOMETRIC_WEB_PREFIX)) {
|
|
251
|
+
keys.add(fromBiometricStorageKey(k));
|
|
252
|
+
}
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
255
|
+
if (k.startsWith(SECURE_WEB_PREFIX) || k.startsWith(BIOMETRIC_WEB_PREFIX)) {
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
keys.add(k);
|
|
259
|
+
}
|
|
260
|
+
return Array.from(keys);
|
|
261
|
+
},
|
|
262
|
+
size: scope => {
|
|
263
|
+
return WebStorage.getAllKeys(scope).length;
|
|
264
|
+
},
|
|
265
|
+
setSecureAccessControl: () => {},
|
|
266
|
+
setKeychainAccessGroup: () => {},
|
|
267
|
+
setSecureBiometric: (key, value) => {
|
|
268
|
+
if (typeof __DEV__ !== "undefined" && __DEV__ && !hasWarnedAboutWebBiometricFallback) {
|
|
269
|
+
hasWarnedAboutWebBiometricFallback = true;
|
|
270
|
+
console.warn("[NitroStorage] Biometric storage is not supported on web. Using localStorage.");
|
|
271
|
+
}
|
|
272
|
+
globalThis.localStorage?.setItem(toBiometricStorageKey(key), value);
|
|
273
|
+
notifyKeyListeners(getScopedListeners(StorageScope.Secure), key);
|
|
274
|
+
},
|
|
275
|
+
getSecureBiometric: key => {
|
|
276
|
+
return globalThis.localStorage?.getItem(toBiometricStorageKey(key)) ?? undefined;
|
|
277
|
+
},
|
|
278
|
+
deleteSecureBiometric: key => {
|
|
279
|
+
globalThis.localStorage?.removeItem(toBiometricStorageKey(key));
|
|
280
|
+
notifyKeyListeners(getScopedListeners(StorageScope.Secure), key);
|
|
281
|
+
},
|
|
282
|
+
hasSecureBiometric: key => {
|
|
283
|
+
return globalThis.localStorage?.getItem(toBiometricStorageKey(key)) !== null;
|
|
284
|
+
},
|
|
285
|
+
clearSecureBiometric: () => {
|
|
286
|
+
const storage = globalThis.localStorage;
|
|
287
|
+
if (!storage) return;
|
|
288
|
+
const keysToNotify = [];
|
|
289
|
+
const toRemove = [];
|
|
290
|
+
for (let i = 0; i < storage.length; i++) {
|
|
291
|
+
const k = storage.key(i);
|
|
292
|
+
if (k?.startsWith(BIOMETRIC_WEB_PREFIX)) {
|
|
293
|
+
toRemove.push(k);
|
|
294
|
+
keysToNotify.push(fromBiometricStorageKey(k));
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
toRemove.forEach(k => storage.removeItem(k));
|
|
298
|
+
const listeners = getScopedListeners(StorageScope.Secure);
|
|
299
|
+
keysToNotify.forEach(key => notifyKeyListeners(listeners, key));
|
|
180
300
|
}
|
|
181
301
|
};
|
|
182
302
|
function getRawValue(key, scope) {
|
|
@@ -242,15 +362,78 @@ export const storage = {
|
|
|
242
362
|
}
|
|
243
363
|
clearScopeRawCache(scope);
|
|
244
364
|
WebStorage.clear(scope);
|
|
365
|
+
if (scope === StorageScope.Secure) {
|
|
366
|
+
WebStorage.clearSecureBiometric();
|
|
367
|
+
}
|
|
245
368
|
},
|
|
246
369
|
clearAll: () => {
|
|
247
370
|
storage.clear(StorageScope.Memory);
|
|
248
371
|
storage.clear(StorageScope.Disk);
|
|
249
372
|
storage.clear(StorageScope.Secure);
|
|
250
|
-
}
|
|
373
|
+
},
|
|
374
|
+
clearNamespace: (namespace, scope) => {
|
|
375
|
+
assertValidScope(scope);
|
|
376
|
+
if (scope === StorageScope.Memory) {
|
|
377
|
+
for (const key of memoryStore.keys()) {
|
|
378
|
+
if (isNamespaced(key, namespace)) {
|
|
379
|
+
memoryStore.delete(key);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
notifyAllListeners(memoryListeners);
|
|
383
|
+
return;
|
|
384
|
+
}
|
|
385
|
+
if (scope === StorageScope.Secure) {
|
|
386
|
+
flushSecureWrites();
|
|
387
|
+
}
|
|
388
|
+
const keys = WebStorage.getAllKeys(scope);
|
|
389
|
+
const namespacedKeys = keys.filter(k => isNamespaced(k, namespace));
|
|
390
|
+
if (namespacedKeys.length > 0) {
|
|
391
|
+
WebStorage.removeBatch(namespacedKeys, scope);
|
|
392
|
+
namespacedKeys.forEach(k => cacheRawValue(scope, k, undefined));
|
|
393
|
+
if (scope === StorageScope.Secure) {
|
|
394
|
+
namespacedKeys.forEach(k => clearPendingSecureWrite(k));
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
clearBiometric: () => {
|
|
399
|
+
WebStorage.clearSecureBiometric();
|
|
400
|
+
},
|
|
401
|
+
has: (key, scope) => {
|
|
402
|
+
assertValidScope(scope);
|
|
403
|
+
if (scope === StorageScope.Memory) return memoryStore.has(key);
|
|
404
|
+
return WebStorage.has(key, scope);
|
|
405
|
+
},
|
|
406
|
+
getAllKeys: scope => {
|
|
407
|
+
assertValidScope(scope);
|
|
408
|
+
if (scope === StorageScope.Memory) return Array.from(memoryStore.keys());
|
|
409
|
+
return WebStorage.getAllKeys(scope);
|
|
410
|
+
},
|
|
411
|
+
getAll: scope => {
|
|
412
|
+
assertValidScope(scope);
|
|
413
|
+
const result = {};
|
|
414
|
+
if (scope === StorageScope.Memory) {
|
|
415
|
+
memoryStore.forEach((value, key) => {
|
|
416
|
+
if (typeof value === "string") result[key] = value;
|
|
417
|
+
});
|
|
418
|
+
return result;
|
|
419
|
+
}
|
|
420
|
+
const keys = WebStorage.getAllKeys(scope);
|
|
421
|
+
keys.forEach(key => {
|
|
422
|
+
const val = WebStorage.get(key, scope);
|
|
423
|
+
if (val !== undefined) result[key] = val;
|
|
424
|
+
});
|
|
425
|
+
return result;
|
|
426
|
+
},
|
|
427
|
+
size: scope => {
|
|
428
|
+
assertValidScope(scope);
|
|
429
|
+
if (scope === StorageScope.Memory) return memoryStore.size;
|
|
430
|
+
return WebStorage.size(scope);
|
|
431
|
+
},
|
|
432
|
+
setAccessControl: _level => {},
|
|
433
|
+
setKeychainAccessGroup: _group => {}
|
|
251
434
|
};
|
|
252
435
|
function canUseRawBatchPath(item) {
|
|
253
|
-
return item._hasExpiration === false && item._hasValidation === false;
|
|
436
|
+
return item._hasExpiration === false && item._hasValidation === false && item._isBiometric !== true && item._secureAccessControl === undefined;
|
|
254
437
|
}
|
|
255
438
|
function defaultSerialize(value) {
|
|
256
439
|
return serializeWithPrimitiveFastPath(value);
|
|
@@ -259,16 +442,20 @@ function defaultDeserialize(value) {
|
|
|
259
442
|
return deserializeWithPrimitiveFastPath(value);
|
|
260
443
|
}
|
|
261
444
|
export function createStorageItem(config) {
|
|
445
|
+
const storageKey = prefixKey(config.namespace, config.key);
|
|
262
446
|
const serialize = config.serialize ?? defaultSerialize;
|
|
263
447
|
const deserialize = config.deserialize ?? defaultDeserialize;
|
|
264
448
|
const isMemory = config.scope === StorageScope.Memory;
|
|
449
|
+
const isBiometric = config.biometric === true && config.scope === StorageScope.Secure;
|
|
450
|
+
const secureAccessControl = config.accessControl;
|
|
265
451
|
const validate = config.validate;
|
|
266
452
|
const onValidationError = config.onValidationError;
|
|
267
453
|
const expiration = config.expiration;
|
|
454
|
+
const onExpired = config.onExpired;
|
|
268
455
|
const expirationTtlMs = expiration?.ttlMs;
|
|
269
456
|
const memoryExpiration = expiration && isMemory ? new Map() : null;
|
|
270
457
|
const readCache = !isMemory && config.readCache === true;
|
|
271
|
-
const coalesceSecureWrites = config.scope === StorageScope.Secure && config.coalesceSecureWrites === true;
|
|
458
|
+
const coalesceSecureWrites = config.scope === StorageScope.Secure && config.coalesceSecureWrites === true && !isBiometric && secureAccessControl === undefined;
|
|
272
459
|
const nonMemoryScope = config.scope === StorageScope.Disk ? StorageScope.Disk : config.scope === StorageScope.Secure ? StorageScope.Secure : null;
|
|
273
460
|
if (expiration && expiration.ttlMs <= 0) {
|
|
274
461
|
throw new Error("expiration.ttlMs must be greater than 0.");
|
|
@@ -292,65 +479,77 @@ export function createStorageItem(config) {
|
|
|
292
479
|
listeners.forEach(callback => callback());
|
|
293
480
|
};
|
|
294
481
|
if (isMemory) {
|
|
295
|
-
unsubscribe = addKeyListener(memoryListeners,
|
|
482
|
+
unsubscribe = addKeyListener(memoryListeners, storageKey, listener);
|
|
296
483
|
return;
|
|
297
484
|
}
|
|
298
|
-
unsubscribe = addKeyListener(getScopedListeners(nonMemoryScope),
|
|
485
|
+
unsubscribe = addKeyListener(getScopedListeners(nonMemoryScope), storageKey, listener);
|
|
299
486
|
};
|
|
300
487
|
const readStoredRaw = () => {
|
|
301
488
|
if (isMemory) {
|
|
302
489
|
if (memoryExpiration) {
|
|
303
|
-
const expiresAt = memoryExpiration.get(
|
|
490
|
+
const expiresAt = memoryExpiration.get(storageKey);
|
|
304
491
|
if (expiresAt !== undefined && expiresAt <= Date.now()) {
|
|
305
|
-
memoryExpiration.delete(
|
|
306
|
-
memoryStore.delete(
|
|
307
|
-
notifyKeyListeners(memoryListeners,
|
|
492
|
+
memoryExpiration.delete(storageKey);
|
|
493
|
+
memoryStore.delete(storageKey);
|
|
494
|
+
notifyKeyListeners(memoryListeners, storageKey);
|
|
495
|
+
onExpired?.(storageKey);
|
|
308
496
|
return undefined;
|
|
309
497
|
}
|
|
310
498
|
}
|
|
311
|
-
return memoryStore.get(
|
|
499
|
+
return memoryStore.get(storageKey);
|
|
312
500
|
}
|
|
313
|
-
if (nonMemoryScope === StorageScope.Secure && hasPendingSecureWrite(
|
|
314
|
-
return readPendingSecureWrite(
|
|
501
|
+
if (nonMemoryScope === StorageScope.Secure && !isBiometric && hasPendingSecureWrite(storageKey)) {
|
|
502
|
+
return readPendingSecureWrite(storageKey);
|
|
315
503
|
}
|
|
316
504
|
if (readCache) {
|
|
317
|
-
if (hasCachedRawValue(nonMemoryScope,
|
|
318
|
-
return readCachedRawValue(nonMemoryScope,
|
|
505
|
+
if (hasCachedRawValue(nonMemoryScope, storageKey)) {
|
|
506
|
+
return readCachedRawValue(nonMemoryScope, storageKey);
|
|
319
507
|
}
|
|
320
508
|
}
|
|
321
|
-
|
|
322
|
-
|
|
509
|
+
if (isBiometric) {
|
|
510
|
+
return WebStorage.getSecureBiometric(storageKey);
|
|
511
|
+
}
|
|
512
|
+
const raw = WebStorage.get(storageKey, config.scope);
|
|
513
|
+
cacheRawValue(nonMemoryScope, storageKey, raw);
|
|
323
514
|
return raw;
|
|
324
515
|
};
|
|
325
516
|
const writeStoredRaw = rawValue => {
|
|
326
|
-
|
|
517
|
+
if (isBiometric) {
|
|
518
|
+
WebStorage.setSecureBiometric(storageKey, rawValue);
|
|
519
|
+
return;
|
|
520
|
+
}
|
|
521
|
+
cacheRawValue(nonMemoryScope, storageKey, rawValue);
|
|
327
522
|
if (coalesceSecureWrites) {
|
|
328
|
-
scheduleSecureWrite(
|
|
523
|
+
scheduleSecureWrite(storageKey, rawValue);
|
|
329
524
|
return;
|
|
330
525
|
}
|
|
331
526
|
if (nonMemoryScope === StorageScope.Secure) {
|
|
332
|
-
clearPendingSecureWrite(
|
|
527
|
+
clearPendingSecureWrite(storageKey);
|
|
333
528
|
}
|
|
334
|
-
WebStorage.set(
|
|
529
|
+
WebStorage.set(storageKey, rawValue, config.scope);
|
|
335
530
|
};
|
|
336
531
|
const removeStoredRaw = () => {
|
|
337
|
-
|
|
532
|
+
if (isBiometric) {
|
|
533
|
+
WebStorage.deleteSecureBiometric(storageKey);
|
|
534
|
+
return;
|
|
535
|
+
}
|
|
536
|
+
cacheRawValue(nonMemoryScope, storageKey, undefined);
|
|
338
537
|
if (coalesceSecureWrites) {
|
|
339
|
-
scheduleSecureWrite(
|
|
538
|
+
scheduleSecureWrite(storageKey, undefined);
|
|
340
539
|
return;
|
|
341
540
|
}
|
|
342
541
|
if (nonMemoryScope === StorageScope.Secure) {
|
|
343
|
-
clearPendingSecureWrite(
|
|
542
|
+
clearPendingSecureWrite(storageKey);
|
|
344
543
|
}
|
|
345
|
-
WebStorage.remove(
|
|
544
|
+
WebStorage.remove(storageKey, config.scope);
|
|
346
545
|
};
|
|
347
546
|
const writeValueWithoutValidation = value => {
|
|
348
547
|
if (isMemory) {
|
|
349
548
|
if (memoryExpiration) {
|
|
350
|
-
memoryExpiration.set(
|
|
549
|
+
memoryExpiration.set(storageKey, Date.now() + (expirationTtlMs ?? 0));
|
|
351
550
|
}
|
|
352
|
-
memoryStore.set(
|
|
353
|
-
notifyKeyListeners(memoryListeners,
|
|
551
|
+
memoryStore.set(storageKey, value);
|
|
552
|
+
notifyKeyListeners(memoryListeners, storageKey);
|
|
354
553
|
return;
|
|
355
554
|
}
|
|
356
555
|
const serialized = serialize(value);
|
|
@@ -409,6 +608,7 @@ export function createStorageItem(config) {
|
|
|
409
608
|
if (parsed.expiresAt <= Date.now()) {
|
|
410
609
|
removeStoredRaw();
|
|
411
610
|
invalidateParsedCache();
|
|
611
|
+
onExpired?.(storageKey);
|
|
412
612
|
lastValue = ensureValidatedValue(config.defaultValue, false);
|
|
413
613
|
hasLastValue = true;
|
|
414
614
|
return lastValue;
|
|
@@ -428,7 +628,7 @@ export function createStorageItem(config) {
|
|
|
428
628
|
const newValue = typeof valueOrFn === "function" ? valueOrFn(currentValue) : valueOrFn;
|
|
429
629
|
invalidateParsedCache();
|
|
430
630
|
if (validate && !validate(newValue)) {
|
|
431
|
-
throw new Error(`Validation failed for key "${
|
|
631
|
+
throw new Error(`Validation failed for key "${storageKey}" in scope "${StorageScope[config.scope]}".`);
|
|
432
632
|
}
|
|
433
633
|
writeValueWithoutValidation(newValue);
|
|
434
634
|
};
|
|
@@ -436,14 +636,19 @@ export function createStorageItem(config) {
|
|
|
436
636
|
invalidateParsedCache();
|
|
437
637
|
if (isMemory) {
|
|
438
638
|
if (memoryExpiration) {
|
|
439
|
-
memoryExpiration.delete(
|
|
639
|
+
memoryExpiration.delete(storageKey);
|
|
440
640
|
}
|
|
441
|
-
memoryStore.delete(
|
|
442
|
-
notifyKeyListeners(memoryListeners,
|
|
641
|
+
memoryStore.delete(storageKey);
|
|
642
|
+
notifyKeyListeners(memoryListeners, storageKey);
|
|
443
643
|
return;
|
|
444
644
|
}
|
|
445
645
|
removeStoredRaw();
|
|
446
646
|
};
|
|
647
|
+
const hasItem = () => {
|
|
648
|
+
if (isMemory) return memoryStore.has(storageKey);
|
|
649
|
+
if (isBiometric) return WebStorage.hasSecureBiometric(storageKey);
|
|
650
|
+
return WebStorage.has(storageKey, config.scope);
|
|
651
|
+
};
|
|
447
652
|
const subscribe = callback => {
|
|
448
653
|
ensureSubscription();
|
|
449
654
|
listeners.add(callback);
|
|
@@ -459,6 +664,7 @@ export function createStorageItem(config) {
|
|
|
459
664
|
get,
|
|
460
665
|
set,
|
|
461
666
|
delete: deleteItem,
|
|
667
|
+
has: hasItem,
|
|
462
668
|
subscribe,
|
|
463
669
|
serialize,
|
|
464
670
|
deserialize,
|
|
@@ -469,8 +675,10 @@ export function createStorageItem(config) {
|
|
|
469
675
|
_hasValidation: validate !== undefined,
|
|
470
676
|
_hasExpiration: expiration !== undefined,
|
|
471
677
|
_readCacheEnabled: readCache,
|
|
678
|
+
_isBiometric: isBiometric,
|
|
679
|
+
_secureAccessControl: secureAccessControl,
|
|
472
680
|
scope: config.scope,
|
|
473
|
-
key:
|
|
681
|
+
key: storageKey
|
|
474
682
|
};
|
|
475
683
|
return storageItem;
|
|
476
684
|
}
|
|
@@ -557,7 +765,7 @@ export function setBatch(items, scope) {
|
|
|
557
765
|
}
|
|
558
766
|
const useRawBatchPath = items.every(({
|
|
559
767
|
item
|
|
560
|
-
}) => canUseRawBatchPath(item));
|
|
768
|
+
}) => canUseRawBatchPath(asInternal(item)));
|
|
561
769
|
if (!useRawBatchPath) {
|
|
562
770
|
items.forEach(({
|
|
563
771
|
item,
|
|
@@ -668,4 +876,23 @@ export function runTransaction(scope, transaction) {
|
|
|
668
876
|
throw error;
|
|
669
877
|
}
|
|
670
878
|
}
|
|
879
|
+
export function createSecureAuthStorage(config, options) {
|
|
880
|
+
const ns = options?.namespace ?? "auth";
|
|
881
|
+
const result = {};
|
|
882
|
+
for (const key of Object.keys(config)) {
|
|
883
|
+
const itemConfig = config[key];
|
|
884
|
+
result[key] = createStorageItem({
|
|
885
|
+
key,
|
|
886
|
+
scope: StorageScope.Secure,
|
|
887
|
+
defaultValue: "",
|
|
888
|
+
namespace: ns,
|
|
889
|
+
biometric: itemConfig.biometric,
|
|
890
|
+
accessControl: itemConfig.accessControl,
|
|
891
|
+
expiration: itemConfig.ttlMs ? {
|
|
892
|
+
ttlMs: itemConfig.ttlMs
|
|
893
|
+
} : undefined
|
|
894
|
+
});
|
|
895
|
+
}
|
|
896
|
+
return result;
|
|
897
|
+
}
|
|
671
898
|
//# sourceMappingURL=index.web.js.map
|