react-native-nitro-storage 0.3.1 → 0.3.2
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 +199 -10
- package/android/CMakeLists.txt +2 -0
- package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +4 -0
- package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +1 -0
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +36 -13
- package/cpp/bindings/HybridStorage.cpp +55 -9
- package/cpp/bindings/HybridStorage.hpp +19 -2
- package/cpp/core/NativeStorageAdapter.hpp +1 -0
- package/ios/IOSStorageAdapterCpp.hpp +1 -0
- package/ios/IOSStorageAdapterCpp.mm +7 -1
- package/lib/commonjs/index.js +139 -63
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +236 -89
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/storage-hooks.js +36 -0
- package/lib/commonjs/storage-hooks.js.map +1 -0
- package/lib/module/index.js +121 -60
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +219 -87
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/storage-hooks.js +30 -0
- package/lib/module/storage-hooks.js.map +1 -0
- package/lib/typescript/Storage.nitro.d.ts +2 -0
- package/lib/typescript/Storage.nitro.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +3 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +5 -3
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/storage-hooks.d.ts +10 -0
- package/lib/typescript/storage-hooks.d.ts.map +1 -0
- package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +2 -0
- package/package.json +5 -3
- package/src/Storage.nitro.ts +2 -0
- package/src/index.ts +143 -83
- package/src/index.web.ts +255 -112
- package/src/storage-hooks.ts +48 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_Storage","_internal","_migration","asInternal","item","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","StorageScope","Disk","Secure","scopedRawCache","pendingSecureWrites","secureFlushScheduled","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","getBrowserStorage","scope","globalThis","localStorage","undefined","toSecureStorageKey","key","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getScopedListeners","get","getScopeRawCache","cacheRawValue","value","set","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","scopedListeners","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","push","WebStorage","setBatch","removeBatch","scheduleSecureWrite","name","equals","other","dispose","storage","storageKey","setItem","getItem","remove","removeItem","i","startsWith","keys","index","getBatch","map","addOnChange","_scope","_callback","getAllKeys","k","setSecureAccessControl","setKeychainAccessGroup","setSecureBiometric","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","exports","clearAll","clearNamespace","namespace","isNamespaced","namespacedKeys","filter","clearBiometric","getAll","result","val","setAccessControl","_level","_group","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","prefixKey","serialize","deserialize","isMemory","isBiometric","biometric","secureAccessControl","accessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","nonMemoryScope","Error","unsubscribe","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","isStoredEnvelope","valueOrFn","currentValue","newValue","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useSyncExternalStore","useStorageSelector","selector","isEqual","Object","is","selectedRef","useRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage","items","assertBatchScope","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","entries","reverse","previousValue","createSecureAuthStorage","options","ns","itemConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_Storage","require","_internal","_migration","_storageHooks","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","StorageScope","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingSecureWrites","secureFlushScheduled","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","getBrowserStorage","scope","globalThis","localStorage","undefined","toSecureStorageKey","key","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","get","hydrateWebScopeKeyIndex","has","storage","keyIndex","clear","index","startsWith","add","ensureWebScopeKeyIndex","getScopedListeners","getScopeRawCache","cacheRawValue","value","set","readCachedRawValue","hasCachedRawValue","clearScopeRawCache","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","scopedListeners","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","push","WebStorage","setBatch","removeBatch","scheduleSecureWrite","name","equals","other","dispose","storageKey","setItem","getItem","remove","removeItem","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getAllKeys","setSecureAccessControl","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","k","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","exports","clearAll","clearNamespace","namespace","isNamespaced","keyPrefix","prefixKey","clearBiometric","getAll","result","val","setAccessControl","_level","_group","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","serialize","deserialize","isMemory","isBiometric","biometric","secureAccessControl","accessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","newValue","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","items","assertBatchScope","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","secureEntries","internal","canUseSecureBatchPath","groupedByAccessControl","AccessControl","WhenUnlocked","existingGroup","group","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","entries","reverse","previousValue","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useSetStorage = useSetStorage;
|
|
7
|
+
exports.useStorage = useStorage;
|
|
8
|
+
exports.useStorageSelector = useStorageSelector;
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
function useStorage(item) {
|
|
11
|
+
const value = (0, _react.useSyncExternalStore)(item.subscribe, item.get, item.get);
|
|
12
|
+
return [value, item.set];
|
|
13
|
+
}
|
|
14
|
+
function useStorageSelector(item, selector, isEqual = Object.is) {
|
|
15
|
+
const selectedRef = (0, _react.useRef)({
|
|
16
|
+
hasValue: false
|
|
17
|
+
});
|
|
18
|
+
const getSelectedSnapshot = () => {
|
|
19
|
+
const nextSelected = selector(item.get());
|
|
20
|
+
const current = selectedRef.current;
|
|
21
|
+
if (current.hasValue && isEqual(current.value, nextSelected)) {
|
|
22
|
+
return current.value;
|
|
23
|
+
}
|
|
24
|
+
selectedRef.current = {
|
|
25
|
+
hasValue: true,
|
|
26
|
+
value: nextSelected
|
|
27
|
+
};
|
|
28
|
+
return nextSelected;
|
|
29
|
+
};
|
|
30
|
+
const selectedValue = (0, _react.useSyncExternalStore)(item.subscribe, getSelectedSnapshot, getSelectedSnapshot);
|
|
31
|
+
return [selectedValue, item.set];
|
|
32
|
+
}
|
|
33
|
+
function useSetStorage(item) {
|
|
34
|
+
return item.set;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=storage-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","useStorage","item","value","useSyncExternalStore","subscribe","get","set","useStorageSelector","selector","isEqual","Object","is","selectedRef","useRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage"],"sourceRoot":"../../src","sources":["storage-hooks.ts"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAQO,SAASC,UAAUA,CACxBC,IAAwB,EACoB;EAC5C,MAAMC,KAAK,GAAG,IAAAC,2BAAoB,EAACF,IAAI,CAACG,SAAS,EAAEH,IAAI,CAACI,GAAG,EAAEJ,IAAI,CAACI,GAAG,CAAC;EACtE,OAAO,CAACH,KAAK,EAAED,IAAI,CAACK,GAAG,CAAC;AAC1B;AAEO,SAASC,kBAAkBA,CAChCN,IAAwB,EACxBO,QAAiC,EACjCC,OAAsD,GAAGC,MAAM,CAACC,EAAE,EACd;EACpD,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAExB;IACAC,QAAQ,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;IAChC,MAAMC,YAAY,GAAGR,QAAQ,CAACP,IAAI,CAACI,GAAG,CAAC,CAAC,CAAC;IACzC,MAAMY,OAAO,GAAGL,WAAW,CAACK,OAAO;IACnC,IAAIA,OAAO,CAACH,QAAQ,IAAIL,OAAO,CAACQ,OAAO,CAACf,KAAK,EAAEc,YAAY,CAAC,EAAE;MAC5D,OAAOC,OAAO,CAACf,KAAK;IACtB;IAEAU,WAAW,CAACK,OAAO,GAAG;MAAEH,QAAQ,EAAE,IAAI;MAAEZ,KAAK,EAAEc;IAAa,CAAC;IAC7D,OAAOA,YAAY;EACrB,CAAC;EAED,MAAME,aAAa,GAAG,IAAAf,2BAAoB,EACxCF,IAAI,CAACG,SAAS,EACdW,mBAAmB,EACnBA,mBACF,CAAC;EACD,OAAO,CAACG,aAAa,EAAEjB,IAAI,CAACK,GAAG,CAAC;AAClC;AAEO,SAASa,aAAaA,CAAIlB,IAAwB,EAAE;EACzD,OAAOA,IAAI,CAACK,GAAG;AACjB","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useRef, useSyncExternalStore } from "react";
|
|
4
3
|
import { NitroModules } from "react-native-nitro-modules";
|
|
5
4
|
import { StorageScope, AccessControl } from "./Storage.types";
|
|
6
5
|
import { MIGRATION_VERSION_KEY, isStoredEnvelope, assertBatchScope, assertValidScope, decodeNativeBatchValue, serializeWithPrimitiveFastPath, deserializeWithPrimitiveFastPath, prefixKey, isNamespaced } from "./internal";
|
|
@@ -9,6 +8,12 @@ export { migrateFromMMKV } from "./migration";
|
|
|
9
8
|
function asInternal(item) {
|
|
10
9
|
return item;
|
|
11
10
|
}
|
|
11
|
+
function isUpdater(valueOrFn) {
|
|
12
|
+
return typeof valueOrFn === "function";
|
|
13
|
+
}
|
|
14
|
+
function typedKeys(record) {
|
|
15
|
+
return Object.keys(record);
|
|
16
|
+
}
|
|
12
17
|
const registeredMigrations = new Map();
|
|
13
18
|
const runMicrotask = typeof queueMicrotask === "function" ? queueMicrotask : task => {
|
|
14
19
|
Promise.resolve().then(task);
|
|
@@ -220,9 +225,6 @@ export const storage = {
|
|
|
220
225
|
}
|
|
221
226
|
clearScopeRawCache(scope);
|
|
222
227
|
getStorageModule().clear(scope);
|
|
223
|
-
if (scope === StorageScope.Secure) {
|
|
224
|
-
getStorageModule().clearSecureBiometric();
|
|
225
|
-
}
|
|
226
228
|
},
|
|
227
229
|
clearAll: () => {
|
|
228
230
|
storage.clear(StorageScope.Memory);
|
|
@@ -240,18 +242,12 @@ export const storage = {
|
|
|
240
242
|
notifyAllListeners(memoryListeners);
|
|
241
243
|
return;
|
|
242
244
|
}
|
|
245
|
+
const keyPrefix = prefixKey(namespace, "");
|
|
243
246
|
if (scope === StorageScope.Secure) {
|
|
244
247
|
flushSecureWrites();
|
|
245
248
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
if (namespacedKeys.length > 0) {
|
|
249
|
-
getStorageModule().removeBatch(namespacedKeys, scope);
|
|
250
|
-
namespacedKeys.forEach(k => cacheRawValue(scope, k, undefined));
|
|
251
|
-
if (scope === StorageScope.Secure) {
|
|
252
|
-
namespacedKeys.forEach(k => clearPendingSecureWrite(k));
|
|
253
|
-
}
|
|
254
|
-
}
|
|
249
|
+
clearScopeRawCache(scope);
|
|
250
|
+
getStorageModule().removeByPrefix(keyPrefix, scope);
|
|
255
251
|
},
|
|
256
252
|
clearBiometric: () => {
|
|
257
253
|
getStorageModule().clearSecureBiometric();
|
|
@@ -299,6 +295,12 @@ export const storage = {
|
|
|
299
295
|
secureDefaultAccessControl = level;
|
|
300
296
|
getStorageModule().setSecureAccessControl(level);
|
|
301
297
|
},
|
|
298
|
+
setSecureWritesAsync: enabled => {
|
|
299
|
+
getStorageModule().setSecureWritesAsync(enabled);
|
|
300
|
+
},
|
|
301
|
+
flushSecureWrites: () => {
|
|
302
|
+
flushSecureWrites();
|
|
303
|
+
},
|
|
302
304
|
setKeychainAccessGroup: group => {
|
|
303
305
|
getStorageModule().setKeychainAccessGroup(group);
|
|
304
306
|
}
|
|
@@ -306,6 +308,9 @@ export const storage = {
|
|
|
306
308
|
function canUseRawBatchPath(item) {
|
|
307
309
|
return item._hasExpiration === false && item._hasValidation === false && item._isBiometric !== true && item._secureAccessControl === undefined;
|
|
308
310
|
}
|
|
311
|
+
function canUseSecureRawBatchPath(item) {
|
|
312
|
+
return item._hasExpiration === false && item._hasValidation === false && item._isBiometric !== true;
|
|
313
|
+
}
|
|
309
314
|
function defaultSerialize(value) {
|
|
310
315
|
return serializeWithPrimitiveFastPath(value);
|
|
311
316
|
}
|
|
@@ -327,6 +332,7 @@ export function createStorageItem(config) {
|
|
|
327
332
|
const memoryExpiration = expiration && isMemory ? new Map() : null;
|
|
328
333
|
const readCache = !isMemory && config.readCache === true;
|
|
329
334
|
const coalesceSecureWrites = config.scope === StorageScope.Secure && config.coalesceSecureWrites === true && !isBiometric && secureAccessControl === undefined;
|
|
335
|
+
const defaultValue = config.defaultValue;
|
|
330
336
|
const nonMemoryScope = config.scope === StorageScope.Disk ? StorageScope.Disk : config.scope === StorageScope.Secure ? StorageScope.Secure : null;
|
|
331
337
|
if (expiration && expiration.ttlMs <= 0) {
|
|
332
338
|
throw new Error("expiration.ttlMs must be greater than 0.");
|
|
@@ -336,10 +342,12 @@ export function createStorageItem(config) {
|
|
|
336
342
|
let lastRaw = undefined;
|
|
337
343
|
let lastValue;
|
|
338
344
|
let hasLastValue = false;
|
|
345
|
+
let lastExpiresAt = undefined;
|
|
339
346
|
const invalidateParsedCache = () => {
|
|
340
347
|
lastRaw = undefined;
|
|
341
348
|
lastValue = undefined;
|
|
342
349
|
hasLastValue = false;
|
|
350
|
+
lastExpiresAt = undefined;
|
|
343
351
|
};
|
|
344
352
|
const ensureSubscription = () => {
|
|
345
353
|
if (unsubscribe) {
|
|
@@ -441,7 +449,7 @@ export function createStorageItem(config) {
|
|
|
441
449
|
if (onValidationError) {
|
|
442
450
|
return onValidationError(invalidValue);
|
|
443
451
|
}
|
|
444
|
-
return
|
|
452
|
+
return defaultValue;
|
|
445
453
|
};
|
|
446
454
|
const ensureValidatedValue = (candidate, hadStoredValue) => {
|
|
447
455
|
if (!validate || validate(candidate)) {
|
|
@@ -449,7 +457,7 @@ export function createStorageItem(config) {
|
|
|
449
457
|
}
|
|
450
458
|
const resolved = resolveInvalidValue(candidate);
|
|
451
459
|
if (validate && !validate(resolved)) {
|
|
452
|
-
return
|
|
460
|
+
return defaultValue;
|
|
453
461
|
}
|
|
454
462
|
if (hadStoredValue) {
|
|
455
463
|
writeValueWithoutValidation(resolved);
|
|
@@ -458,31 +466,53 @@ export function createStorageItem(config) {
|
|
|
458
466
|
};
|
|
459
467
|
const get = () => {
|
|
460
468
|
const raw = readStoredRaw();
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
469
|
+
if (!memoryExpiration && raw === lastRaw && hasLastValue) {
|
|
470
|
+
if (!expiration || lastExpiresAt === null) {
|
|
471
|
+
return lastValue;
|
|
472
|
+
}
|
|
473
|
+
if (typeof lastExpiresAt === "number") {
|
|
474
|
+
if (lastExpiresAt > Date.now()) {
|
|
475
|
+
return lastValue;
|
|
476
|
+
}
|
|
477
|
+
removeStoredRaw();
|
|
478
|
+
invalidateParsedCache();
|
|
479
|
+
onExpired?.(storageKey);
|
|
480
|
+
lastValue = ensureValidatedValue(defaultValue, false);
|
|
481
|
+
hasLastValue = true;
|
|
482
|
+
return lastValue;
|
|
483
|
+
}
|
|
464
484
|
}
|
|
465
485
|
lastRaw = raw;
|
|
466
486
|
if (raw === undefined) {
|
|
467
|
-
|
|
487
|
+
lastExpiresAt = undefined;
|
|
488
|
+
lastValue = ensureValidatedValue(defaultValue, false);
|
|
468
489
|
hasLastValue = true;
|
|
469
490
|
return lastValue;
|
|
470
491
|
}
|
|
471
492
|
if (isMemory) {
|
|
493
|
+
lastExpiresAt = undefined;
|
|
472
494
|
lastValue = ensureValidatedValue(raw, true);
|
|
473
495
|
hasLastValue = true;
|
|
474
496
|
return lastValue;
|
|
475
497
|
}
|
|
498
|
+
if (typeof raw !== "string") {
|
|
499
|
+
lastExpiresAt = undefined;
|
|
500
|
+
lastValue = ensureValidatedValue(defaultValue, false);
|
|
501
|
+
hasLastValue = true;
|
|
502
|
+
return lastValue;
|
|
503
|
+
}
|
|
476
504
|
let deserializableRaw = raw;
|
|
477
505
|
if (expiration) {
|
|
506
|
+
let envelopeExpiresAt = null;
|
|
478
507
|
try {
|
|
479
508
|
const parsed = JSON.parse(raw);
|
|
480
509
|
if (isStoredEnvelope(parsed)) {
|
|
510
|
+
envelopeExpiresAt = parsed.expiresAt;
|
|
481
511
|
if (parsed.expiresAt <= Date.now()) {
|
|
482
512
|
removeStoredRaw();
|
|
483
513
|
invalidateParsedCache();
|
|
484
514
|
onExpired?.(storageKey);
|
|
485
|
-
lastValue = ensureValidatedValue(
|
|
515
|
+
lastValue = ensureValidatedValue(defaultValue, false);
|
|
486
516
|
hasLastValue = true;
|
|
487
517
|
return lastValue;
|
|
488
518
|
}
|
|
@@ -491,14 +521,16 @@ export function createStorageItem(config) {
|
|
|
491
521
|
} catch {
|
|
492
522
|
// Keep backward compatibility with legacy raw values.
|
|
493
523
|
}
|
|
524
|
+
lastExpiresAt = envelopeExpiresAt;
|
|
525
|
+
} else {
|
|
526
|
+
lastExpiresAt = undefined;
|
|
494
527
|
}
|
|
495
528
|
lastValue = ensureValidatedValue(deserialize(deserializableRaw), true);
|
|
496
529
|
hasLastValue = true;
|
|
497
530
|
return lastValue;
|
|
498
531
|
};
|
|
499
532
|
const set = valueOrFn => {
|
|
500
|
-
const
|
|
501
|
-
const newValue = typeof valueOrFn === "function" ? valueOrFn(currentValue) : valueOrFn;
|
|
533
|
+
const newValue = isUpdater(valueOrFn) ? valueOrFn(get()) : valueOrFn;
|
|
502
534
|
invalidateParsedCache();
|
|
503
535
|
if (validate && !validate(newValue)) {
|
|
504
536
|
throw new Error(`Validation failed for key "${storageKey}" in scope "${StorageScope[config.scope]}".`);
|
|
@@ -552,44 +584,21 @@ export function createStorageItem(config) {
|
|
|
552
584
|
_hasExpiration: expiration !== undefined,
|
|
553
585
|
_readCacheEnabled: readCache,
|
|
554
586
|
_isBiometric: isBiometric,
|
|
555
|
-
|
|
587
|
+
...(secureAccessControl !== undefined ? {
|
|
588
|
+
_secureAccessControl: secureAccessControl
|
|
589
|
+
} : {}),
|
|
556
590
|
scope: config.scope,
|
|
557
591
|
key: storageKey
|
|
558
592
|
};
|
|
559
593
|
return storageItem;
|
|
560
594
|
}
|
|
561
|
-
export
|
|
562
|
-
const value = useSyncExternalStore(item.subscribe, item.get, item.get);
|
|
563
|
-
return [value, item.set];
|
|
564
|
-
}
|
|
565
|
-
export function useStorageSelector(item, selector, isEqual = Object.is) {
|
|
566
|
-
const selectedRef = useRef({
|
|
567
|
-
hasValue: false
|
|
568
|
-
});
|
|
569
|
-
const getSelectedSnapshot = () => {
|
|
570
|
-
const nextSelected = selector(item.get());
|
|
571
|
-
const current = selectedRef.current;
|
|
572
|
-
if (current.hasValue && isEqual(current.value, nextSelected)) {
|
|
573
|
-
return current.value;
|
|
574
|
-
}
|
|
575
|
-
selectedRef.current = {
|
|
576
|
-
hasValue: true,
|
|
577
|
-
value: nextSelected
|
|
578
|
-
};
|
|
579
|
-
return nextSelected;
|
|
580
|
-
};
|
|
581
|
-
const selectedValue = useSyncExternalStore(item.subscribe, getSelectedSnapshot, getSelectedSnapshot);
|
|
582
|
-
return [selectedValue, item.set];
|
|
583
|
-
}
|
|
584
|
-
export function useSetStorage(item) {
|
|
585
|
-
return item.set;
|
|
586
|
-
}
|
|
595
|
+
export { useStorage, useStorageSelector, useSetStorage } from "./storage-hooks";
|
|
587
596
|
export function getBatch(items, scope) {
|
|
588
597
|
assertBatchScope(items, scope);
|
|
589
598
|
if (scope === StorageScope.Memory) {
|
|
590
599
|
return items.map(item => item.get());
|
|
591
600
|
}
|
|
592
|
-
const useRawBatchPath = items.every(item => canUseRawBatchPath(item));
|
|
601
|
+
const useRawBatchPath = items.every(item => scope === StorageScope.Secure ? canUseSecureRawBatchPath(item) : canUseRawBatchPath(item));
|
|
593
602
|
if (!useRawBatchPath) {
|
|
594
603
|
return items.map(item => item.get());
|
|
595
604
|
}
|
|
@@ -618,6 +627,9 @@ export function getBatch(items, scope) {
|
|
|
618
627
|
fetchedValues.forEach((value, index) => {
|
|
619
628
|
const key = keysToFetch[index];
|
|
620
629
|
const targetIndex = keyIndexes[index];
|
|
630
|
+
if (key === undefined || targetIndex === undefined) {
|
|
631
|
+
return;
|
|
632
|
+
}
|
|
621
633
|
rawValues[targetIndex] = value;
|
|
622
634
|
cacheRawValue(scope, key, value);
|
|
623
635
|
});
|
|
@@ -639,6 +651,52 @@ export function setBatch(items, scope) {
|
|
|
639
651
|
}) => item.set(value));
|
|
640
652
|
return;
|
|
641
653
|
}
|
|
654
|
+
if (scope === StorageScope.Secure) {
|
|
655
|
+
const secureEntries = items.map(({
|
|
656
|
+
item,
|
|
657
|
+
value
|
|
658
|
+
}) => ({
|
|
659
|
+
item,
|
|
660
|
+
value,
|
|
661
|
+
internal: asInternal(item)
|
|
662
|
+
}));
|
|
663
|
+
const canUseSecureBatchPath = secureEntries.every(({
|
|
664
|
+
internal
|
|
665
|
+
}) => canUseSecureRawBatchPath(internal));
|
|
666
|
+
if (!canUseSecureBatchPath) {
|
|
667
|
+
items.forEach(({
|
|
668
|
+
item,
|
|
669
|
+
value
|
|
670
|
+
}) => item.set(value));
|
|
671
|
+
return;
|
|
672
|
+
}
|
|
673
|
+
flushSecureWrites();
|
|
674
|
+
const storageModule = getStorageModule();
|
|
675
|
+
const groupedByAccessControl = new Map();
|
|
676
|
+
secureEntries.forEach(({
|
|
677
|
+
item,
|
|
678
|
+
value,
|
|
679
|
+
internal
|
|
680
|
+
}) => {
|
|
681
|
+
const accessControl = internal._secureAccessControl ?? secureDefaultAccessControl;
|
|
682
|
+
const existingGroup = groupedByAccessControl.get(accessControl);
|
|
683
|
+
const group = existingGroup ?? {
|
|
684
|
+
keys: [],
|
|
685
|
+
values: []
|
|
686
|
+
};
|
|
687
|
+
group.keys.push(item.key);
|
|
688
|
+
group.values.push(item.serialize(value));
|
|
689
|
+
if (!existingGroup) {
|
|
690
|
+
groupedByAccessControl.set(accessControl, group);
|
|
691
|
+
}
|
|
692
|
+
});
|
|
693
|
+
groupedByAccessControl.forEach((group, accessControl) => {
|
|
694
|
+
storageModule.setSecureAccessControl(accessControl);
|
|
695
|
+
storageModule.setBatch(group.keys, group.values, scope);
|
|
696
|
+
group.keys.forEach((key, index) => cacheRawValue(scope, key, group.values[index]));
|
|
697
|
+
});
|
|
698
|
+
return;
|
|
699
|
+
}
|
|
642
700
|
const useRawBatchPath = items.every(({
|
|
643
701
|
item
|
|
644
702
|
}) => canUseRawBatchPath(asInternal(item)));
|
|
@@ -651,10 +709,6 @@ export function setBatch(items, scope) {
|
|
|
651
709
|
}
|
|
652
710
|
const keys = items.map(entry => entry.item.key);
|
|
653
711
|
const values = items.map(entry => entry.item.serialize(entry.value));
|
|
654
|
-
if (scope === StorageScope.Secure) {
|
|
655
|
-
flushSecureWrites();
|
|
656
|
-
getStorageModule().setSecureAccessControl(secureDefaultAccessControl);
|
|
657
|
-
}
|
|
658
712
|
getStorageModule().setBatch(keys, values, scope);
|
|
659
713
|
keys.forEach((key, index) => cacheRawValue(scope, key, values[index]));
|
|
660
714
|
}
|
|
@@ -756,18 +810,25 @@ export function runTransaction(scope, transaction) {
|
|
|
756
810
|
export function createSecureAuthStorage(config, options) {
|
|
757
811
|
const ns = options?.namespace ?? "auth";
|
|
758
812
|
const result = {};
|
|
759
|
-
for (const key of
|
|
813
|
+
for (const key of typedKeys(config)) {
|
|
760
814
|
const itemConfig = config[key];
|
|
815
|
+
const expirationConfig = itemConfig.ttlMs !== undefined ? {
|
|
816
|
+
ttlMs: itemConfig.ttlMs
|
|
817
|
+
} : undefined;
|
|
761
818
|
result[key] = createStorageItem({
|
|
762
819
|
key,
|
|
763
820
|
scope: StorageScope.Secure,
|
|
764
821
|
defaultValue: "",
|
|
765
822
|
namespace: ns,
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
823
|
+
...(itemConfig.biometric !== undefined ? {
|
|
824
|
+
biometric: itemConfig.biometric
|
|
825
|
+
} : {}),
|
|
826
|
+
...(itemConfig.accessControl !== undefined ? {
|
|
827
|
+
accessControl: itemConfig.accessControl
|
|
828
|
+
} : {}),
|
|
829
|
+
...(expirationConfig !== undefined ? {
|
|
830
|
+
expiration: expirationConfig
|
|
831
|
+
} : {})
|
|
771
832
|
});
|
|
772
833
|
}
|
|
773
834
|
return result;
|