react-native-nitro-storage 0.4.0 → 0.4.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 +51 -0
- package/android/src/main/cpp/cpp-adapter.cpp +3 -1
- package/lib/commonjs/index.js +57 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +51 -1
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/indexeddb-backend.js +130 -0
- package/lib/commonjs/indexeddb-backend.js.map +1 -0
- package/lib/module/index.js +51 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +45 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/indexeddb-backend.js +126 -0
- package/lib/module/indexeddb-backend.js.map +1 -0
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +2 -0
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/indexeddb-backend.d.ts +29 -0
- package/lib/typescript/indexeddb-backend.d.ts.map +1 -0
- package/nitrogen/generated/android/NitroStorageOnLoad.cpp +22 -17
- package/nitrogen/generated/android/NitroStorageOnLoad.hpp +13 -4
- package/package.json +7 -3
- package/src/index.ts +56 -1
- package/src/index.web.ts +49 -1
- package/src/indexeddb-backend.ts +143 -0
|
@@ -1 +1 @@
|
|
|
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","hasWebStorageEventSubscription","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","Date","now","createLocalStorageWebSecureBackend","getItem","key","globalThis","localStorage","setItem","value","removeItem","clear","getAllKeys","storage","index","length","push","webSecureStorageBackend","getBrowserStorage","undefined","toSecureStorageKey","fromSecureStorageKey","slice","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","startsWith","add","ensureWebScopeKeyIndex","handleWebStorageEvent","event","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","newValue","delete","cacheRawValue","notifyKeyListeners","ensureWebStorageEventSubscription","window","addEventListener","getScopeRawCache","readCachedRawValue","hasCachedRawValue","registry","forEach","listener","listeners","addKeyListener","scopedListeners","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","groupedSetWrites","keysToRemove","accessControl","resolvedAccessControl","AccessControl","WhenUnlocked","existingGroup","group","WebStorage","setSecureAccessControl","setBatch","removeBatch","scheduleSecureWrite","pendingWrite","name","equals","other","dispose","storageKey","remove","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometricLevel","BiometryOnly","_level","__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","getByPrefix","result","getAll","val","setAccessControl","_group","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","setWebSecureStorageBackend","backend","getWebSecureStorageBackend","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","_defaultValue","items","assertBatchScope","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","secureEntries","internal","canUseSecureBatchPath","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","rollbackEntries","entries","reverse","previousValue","keysToSet","valuesToSet","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_Storage","require","_internal","_migration","_storageHooks","_indexeddbBackend","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","hasWebStorageEventSubscription","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","Date","now","createLocalStorageWebSecureBackend","getItem","key","globalThis","localStorage","setItem","value","removeItem","clear","getAllKeys","storage","index","length","push","webSecureStorageBackend","getBrowserStorage","undefined","toSecureStorageKey","fromSecureStorageKey","slice","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","startsWith","add","ensureWebScopeKeyIndex","handleWebStorageEvent","event","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","newValue","delete","cacheRawValue","notifyKeyListeners","ensureWebStorageEventSubscription","window","addEventListener","getScopeRawCache","readCachedRawValue","hasCachedRawValue","registry","forEach","listener","listeners","addKeyListener","scopedListeners","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","groupedSetWrites","keysToRemove","accessControl","resolvedAccessControl","AccessControl","WhenUnlocked","existingGroup","group","WebStorage","setSecureAccessControl","setBatch","removeBatch","scheduleSecureWrite","pendingWrite","name","equals","other","dispose","storageKey","remove","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometricLevel","BiometryOnly","_level","__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","getByPrefix","result","getAll","val","setAccessControl","_group","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","import","data","setWebSecureStorageBackend","backend","getWebSecureStorageBackend","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","items","assertBatchScope","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","rollbackEntries","entries","reverse","previousValue","keysToSet","valuesToSet","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createIndexedDBBackend = createIndexedDBBackend;
|
|
7
|
+
const DEFAULT_DB_NAME = "nitro-storage-secure";
|
|
8
|
+
const DEFAULT_STORE_NAME = "keyvalue";
|
|
9
|
+
const DB_VERSION = 1;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Opens (or creates) an IndexedDB database and returns the underlying IDBDatabase.
|
|
13
|
+
* Rejects if IndexedDB is unavailable in the current environment.
|
|
14
|
+
*/
|
|
15
|
+
function openDB(dbName, storeName) {
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
if (typeof indexedDB === "undefined") {
|
|
18
|
+
reject(new Error("IndexedDB is not available in this environment."));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const request = indexedDB.open(dbName, DB_VERSION);
|
|
22
|
+
request.onupgradeneeded = () => {
|
|
23
|
+
const db = request.result;
|
|
24
|
+
if (!db.objectStoreNames.contains(storeName)) {
|
|
25
|
+
db.createObjectStore(storeName);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
request.onsuccess = () => resolve(request.result);
|
|
29
|
+
request.onerror = () => reject(request.error ?? new Error("Failed to open IndexedDB database."));
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Creates a `WebSecureStorageBackend` backed by IndexedDB.
|
|
35
|
+
*
|
|
36
|
+
* IndexedDB is async, but `WebSecureStorageBackend` requires a synchronous
|
|
37
|
+
* interface. This implementation bridges the gap with a write-through in-memory
|
|
38
|
+
* cache:
|
|
39
|
+
*
|
|
40
|
+
* - **Reads** are always served from the in-memory cache (synchronous, O(1)).
|
|
41
|
+
* - **Writes** update the cache synchronously, then persist to IndexedDB
|
|
42
|
+
* asynchronously in the background.
|
|
43
|
+
* - **Initialisation**: the returned backend pre-loads all persisted entries
|
|
44
|
+
* from IndexedDB into memory before resolving, so the first synchronous read
|
|
45
|
+
* after `await createIndexedDBBackend()` already returns the correct value.
|
|
46
|
+
*
|
|
47
|
+
* @param dbName Name of the IndexedDB database. Defaults to `"nitro-storage-secure"`.
|
|
48
|
+
* @param storeName Name of the object store inside the database. Defaults to `"keyvalue"`.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* import { setWebSecureStorageBackend } from "react-native-nitro-storage";
|
|
53
|
+
* import { createIndexedDBBackend } from "react-native-nitro-storage/indexeddb-backend";
|
|
54
|
+
*
|
|
55
|
+
* const backend = await createIndexedDBBackend();
|
|
56
|
+
* setWebSecureStorageBackend(backend);
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFAULT_STORE_NAME) {
|
|
60
|
+
const db = await openDB(dbName, storeName);
|
|
61
|
+
const cache = new Map();
|
|
62
|
+
|
|
63
|
+
// Hydrate the in-memory cache from IndexedDB.
|
|
64
|
+
await new Promise((resolve, reject) => {
|
|
65
|
+
const tx = db.transaction(storeName, "readonly");
|
|
66
|
+
const store = tx.objectStore(storeName);
|
|
67
|
+
const request = store.openCursor();
|
|
68
|
+
request.onsuccess = () => {
|
|
69
|
+
const cursor = request.result;
|
|
70
|
+
if (cursor) {
|
|
71
|
+
const value = cursor.value;
|
|
72
|
+
if (typeof value === "string") {
|
|
73
|
+
cache.set(String(cursor.key), value);
|
|
74
|
+
}
|
|
75
|
+
cursor.continue();
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
tx.oncomplete = () => resolve();
|
|
79
|
+
tx.onerror = () => reject(tx.error ?? new Error("Failed to load IndexedDB entries."));
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
/** Fire-and-forget IndexedDB write. Errors are silently ignored to avoid
|
|
83
|
+
* breaking the synchronous caller — the in-memory cache is always authoritative. */
|
|
84
|
+
function persistSet(key, value) {
|
|
85
|
+
try {
|
|
86
|
+
const tx = db.transaction(storeName, "readwrite");
|
|
87
|
+
tx.objectStore(storeName).put(value, key);
|
|
88
|
+
} catch {
|
|
89
|
+
// Best-effort; cache is the source of truth.
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function persistDelete(key) {
|
|
93
|
+
try {
|
|
94
|
+
const tx = db.transaction(storeName, "readwrite");
|
|
95
|
+
tx.objectStore(storeName).delete(key);
|
|
96
|
+
} catch {
|
|
97
|
+
// Best-effort.
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function persistClear() {
|
|
101
|
+
try {
|
|
102
|
+
const tx = db.transaction(storeName, "readwrite");
|
|
103
|
+
tx.objectStore(storeName).clear();
|
|
104
|
+
} catch {
|
|
105
|
+
// Best-effort.
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const backend = {
|
|
109
|
+
getItem(key) {
|
|
110
|
+
return cache.get(key) ?? null;
|
|
111
|
+
},
|
|
112
|
+
setItem(key, value) {
|
|
113
|
+
cache.set(key, value);
|
|
114
|
+
persistSet(key, value);
|
|
115
|
+
},
|
|
116
|
+
removeItem(key) {
|
|
117
|
+
cache.delete(key);
|
|
118
|
+
persistDelete(key);
|
|
119
|
+
},
|
|
120
|
+
clear() {
|
|
121
|
+
cache.clear();
|
|
122
|
+
persistClear();
|
|
123
|
+
},
|
|
124
|
+
getAllKeys() {
|
|
125
|
+
return Array.from(cache.keys());
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
return backend;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=indexeddb-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_DB_NAME","DEFAULT_STORE_NAME","DB_VERSION","openDB","dbName","storeName","Promise","resolve","reject","indexedDB","Error","request","open","onupgradeneeded","db","result","objectStoreNames","contains","createObjectStore","onsuccess","onerror","error","createIndexedDBBackend","cache","Map","tx","transaction","store","objectStore","openCursor","cursor","value","set","String","key","continue","oncomplete","persistSet","put","persistDelete","delete","persistClear","clear","backend","getItem","get","setItem","removeItem","getAllKeys","Array","from","keys"],"sourceRoot":"../../src","sources":["indexeddb-backend.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -423,6 +423,27 @@ export const storage = {
|
|
|
423
423
|
},
|
|
424
424
|
resetMetrics: () => {
|
|
425
425
|
metricsCounters.clear();
|
|
426
|
+
},
|
|
427
|
+
import: (data, scope) => {
|
|
428
|
+
measureOperation("storage:import", scope, () => {
|
|
429
|
+
assertValidScope(scope);
|
|
430
|
+
const keys = Object.keys(data);
|
|
431
|
+
if (keys.length === 0) return;
|
|
432
|
+
const values = keys.map(k => data[k]);
|
|
433
|
+
if (scope === StorageScope.Memory) {
|
|
434
|
+
keys.forEach((key, index) => {
|
|
435
|
+
memoryStore.set(key, values[index]);
|
|
436
|
+
});
|
|
437
|
+
keys.forEach(key => notifyKeyListeners(memoryListeners, key));
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
if (scope === StorageScope.Secure) {
|
|
441
|
+
flushSecureWrites();
|
|
442
|
+
getStorageModule().setSecureAccessControl(secureDefaultAccessControl);
|
|
443
|
+
}
|
|
444
|
+
getStorageModule().setBatch(keys, values, scope);
|
|
445
|
+
keys.forEach((key, index) => cacheRawValue(scope, key, values[index]));
|
|
446
|
+
}, Object.keys(data).length);
|
|
426
447
|
}
|
|
427
448
|
};
|
|
428
449
|
export function setWebSecureStorageBackend(_backend) {
|
|
@@ -606,6 +627,7 @@ export function createStorageItem(config) {
|
|
|
606
627
|
onExpired?.(storageKey);
|
|
607
628
|
lastValue = ensureValidatedValue(defaultValue, false);
|
|
608
629
|
hasLastValue = true;
|
|
630
|
+
listeners.forEach(cb => cb());
|
|
609
631
|
return lastValue;
|
|
610
632
|
}
|
|
611
633
|
}
|
|
@@ -641,6 +663,7 @@ export function createStorageItem(config) {
|
|
|
641
663
|
onExpired?.(storageKey);
|
|
642
664
|
lastValue = ensureValidatedValue(defaultValue, false);
|
|
643
665
|
hasLastValue = true;
|
|
666
|
+
listeners.forEach(cb => cb());
|
|
644
667
|
return lastValue;
|
|
645
668
|
}
|
|
646
669
|
deserializableRaw = parsed.payload;
|
|
@@ -730,6 +753,9 @@ export function createStorageItem(config) {
|
|
|
730
753
|
invalidateParsedCache();
|
|
731
754
|
listeners.forEach(listener => listener());
|
|
732
755
|
},
|
|
756
|
+
_invalidateParsedCacheOnly: () => {
|
|
757
|
+
invalidateParsedCache();
|
|
758
|
+
},
|
|
733
759
|
_hasValidation: validate !== undefined,
|
|
734
760
|
_hasExpiration: expiration !== undefined,
|
|
735
761
|
_readCacheEnabled: readCache,
|
|
@@ -744,6 +770,7 @@ export function createStorageItem(config) {
|
|
|
744
770
|
return storageItem;
|
|
745
771
|
}
|
|
746
772
|
export { useStorage, useStorageSelector, useSetStorage } from "./storage-hooks";
|
|
773
|
+
export { createIndexedDBBackend } from "./indexeddb-backend";
|
|
747
774
|
export function getBatch(items, scope) {
|
|
748
775
|
return measureOperation("batch:get", scope, () => {
|
|
749
776
|
assertBatchScope(items, scope);
|
|
@@ -798,10 +825,33 @@ export function setBatch(items, scope) {
|
|
|
798
825
|
measureOperation("batch:set", scope, () => {
|
|
799
826
|
assertBatchScope(items.map(batchEntry => batchEntry.item), scope);
|
|
800
827
|
if (scope === StorageScope.Memory) {
|
|
828
|
+
// Determine if any item needs per-item handling (validation or TTL)
|
|
829
|
+
const needsIndividualSets = items.some(({
|
|
830
|
+
item
|
|
831
|
+
}) => {
|
|
832
|
+
const internal = asInternal(item);
|
|
833
|
+
return internal._hasValidation || internal._hasExpiration;
|
|
834
|
+
});
|
|
835
|
+
if (needsIndividualSets) {
|
|
836
|
+
// Fall back to individual sets to preserve validation and TTL semantics
|
|
837
|
+
items.forEach(({
|
|
838
|
+
item,
|
|
839
|
+
value
|
|
840
|
+
}) => item.set(value));
|
|
841
|
+
return;
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
// Atomic write: update all values in memoryStore, invalidate caches, then batch-notify
|
|
801
845
|
items.forEach(({
|
|
802
846
|
item,
|
|
803
847
|
value
|
|
804
|
-
}) =>
|
|
848
|
+
}) => {
|
|
849
|
+
memoryStore.set(item.key, value);
|
|
850
|
+
asInternal(item)._invalidateParsedCacheOnly();
|
|
851
|
+
});
|
|
852
|
+
items.forEach(({
|
|
853
|
+
item
|
|
854
|
+
}) => notifyKeyListeners(memoryListeners, item.key));
|
|
805
855
|
return;
|
|
806
856
|
}
|
|
807
857
|
if (scope === StorageScope.Secure) {
|