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
package/README.md
CHANGED
|
@@ -18,6 +18,8 @@ Synchronous Memory, Disk, and Secure storage in one unified API — powered by [
|
|
|
18
18
|
- **Versioned writes** — optimistic concurrency with `item.getWithVersion()` and `item.setIfVersion(...)`
|
|
19
19
|
- **Performance metrics** — observe operation timings and aggregate snapshots
|
|
20
20
|
- **Web secure backend override** — plug custom secure storage backend on web
|
|
21
|
+
- **IndexedDB backend** — drop-in `createIndexedDBBackend` factory for persistent web Secure storage with large payloads
|
|
22
|
+
- **Bulk import** — load a raw `Record<string, string>` into any scope atomically with `storage.import`
|
|
21
23
|
- **Transactions** — grouped writes with automatic rollback on error
|
|
22
24
|
- **Migrations** — versioned data migrations with `registerMigration` / `migrateToLatest`
|
|
23
25
|
- **MMKV migration** — drop-in `migrateFromMMKV` for painless migration from MMKV
|
|
@@ -39,6 +41,8 @@ Every feature in this package is documented with at least one runnable example i
|
|
|
39
41
|
- Versioned item API (`getWithVersion`, `setIfVersion`) — see Optimistic Versioned Writes
|
|
40
42
|
- Metrics API (`setMetricsObserver`, `getMetricsSnapshot`, `resetMetrics`) — see Storage Metrics Instrumentation
|
|
41
43
|
- Web secure backend override (`setWebSecureStorageBackend`, `getWebSecureStorageBackend`) — see Custom Web Secure Backend
|
|
44
|
+
- IndexedDB backend factory (`createIndexedDBBackend`) — see IndexedDB Backend for Web
|
|
45
|
+
- Bulk import (`storage.import`) — see Bulk Data Import
|
|
42
46
|
- Batch APIs (`getBatch`, `setBatch`, `removeBatch`) — see Batch Operations and Bulk Bootstrap with Batch APIs
|
|
43
47
|
- Transactions — see Transactions and Atomic Balance Transfer
|
|
44
48
|
- Migrations (`registerMigration`, `migrateToLatest`) — see Migrations
|
|
@@ -276,6 +280,7 @@ import { storage, StorageScope } from "react-native-nitro-storage";
|
|
|
276
280
|
| `storage.setSecureWritesAsync(enabled)` | Toggle async secure writes on Android (`false` by default) |
|
|
277
281
|
| `storage.flushSecureWrites()` | Force flush of queued secure writes when coalescing is enabled |
|
|
278
282
|
| `storage.setKeychainAccessGroup(group)` | Set keychain access group for app sharing (native only) |
|
|
283
|
+
| `storage.import(data, scope)` | Bulk-load a `Record<string, string>` of raw key/value pairs into a scope |
|
|
279
284
|
| `storage.setMetricsObserver(observer?)` | Subscribe to per-operation timing events |
|
|
280
285
|
| `storage.getMetricsSnapshot()` | Get aggregate counters/latency stats keyed by operation |
|
|
281
286
|
| `storage.resetMetrics()` | Reset in-memory metrics counters |
|
|
@@ -349,6 +354,33 @@ console.log("custom backend active:", backend !== undefined);
|
|
|
349
354
|
|
|
350
355
|
---
|
|
351
356
|
|
|
357
|
+
### IndexedDB Backend for Web
|
|
358
|
+
|
|
359
|
+
The default web Secure backend uses `localStorage`, which is synchronous and size-limited. For large payloads or when you need true persistence across tab reloads, use the built-in IndexedDB-backed factory.
|
|
360
|
+
|
|
361
|
+
```ts
|
|
362
|
+
import { setWebSecureStorageBackend } from "react-native-nitro-storage";
|
|
363
|
+
import { createIndexedDBBackend } from "react-native-nitro-storage/indexeddb-backend";
|
|
364
|
+
|
|
365
|
+
// call once at app startup, before rendering any components that read secure items
|
|
366
|
+
const backend = await createIndexedDBBackend();
|
|
367
|
+
setWebSecureStorageBackend(backend);
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
**How it works:**
|
|
371
|
+
|
|
372
|
+
- **Async init**: `createIndexedDBBackend()` opens (or creates) the IndexedDB database and hydrates an in-memory cache from all stored entries before resolving.
|
|
373
|
+
- **Synchronous reads**: all `getItem` calls are served from the in-memory cache — no async overhead after init.
|
|
374
|
+
- **Fire-and-forget writes**: `setItem`, `removeItem`, and `clear` update the cache synchronously, then persist to IndexedDB in the background. The cache is always the authoritative source.
|
|
375
|
+
- **Custom database/store**: optionally pass `dbName` and `storeName` to isolate databases per environment or tenant.
|
|
376
|
+
|
|
377
|
+
```ts
|
|
378
|
+
const backend = await createIndexedDBBackend("my-app-db", "secure-kv");
|
|
379
|
+
setWebSecureStorageBackend(backend);
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
352
384
|
### `createSecureAuthStorage<K>(config, options?)`
|
|
353
385
|
|
|
354
386
|
One-liner factory for authentication flows. Creates multiple `StorageItem<string>` entries in Secure scope.
|
|
@@ -755,6 +787,25 @@ sessionToken.set("token-v2");
|
|
|
755
787
|
storage.flushSecureWrites();
|
|
756
788
|
```
|
|
757
789
|
|
|
790
|
+
### Bulk Data Import
|
|
791
|
+
|
|
792
|
+
Load server-fetched data into storage in one atomic call. All keys become visible simultaneously before any listener fires.
|
|
793
|
+
|
|
794
|
+
```ts
|
|
795
|
+
import { storage, StorageScope } from "react-native-nitro-storage";
|
|
796
|
+
|
|
797
|
+
// seed local cache from a server response
|
|
798
|
+
const serverData = await fetchInitialData(); // Record<string, string>
|
|
799
|
+
storage.import(serverData, StorageScope.Disk);
|
|
800
|
+
|
|
801
|
+
// all imported keys are immediately readable
|
|
802
|
+
const value = storage.has("remote-config", StorageScope.Disk);
|
|
803
|
+
```
|
|
804
|
+
|
|
805
|
+
> `storage.import` writes raw string values directly — serialization is bypassed. Use it for bootstrapping data that was already serialized by the server or exported via `storage.getAll`.
|
|
806
|
+
|
|
807
|
+
---
|
|
808
|
+
|
|
758
809
|
### Storage Snapshots and Cleanup
|
|
759
810
|
|
|
760
811
|
```ts
|
|
@@ -3,5 +3,7 @@
|
|
|
3
3
|
#include "../../../nitrogen/generated/android/NitroStorageOnLoad.hpp"
|
|
4
4
|
|
|
5
5
|
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
|
|
6
|
-
return
|
|
6
|
+
return facebook::jni::initialize(vm, []() {
|
|
7
|
+
margelo::nitro::NitroStorage::registerAllNatives();
|
|
8
|
+
});
|
|
7
9
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "StorageScope", {
|
|
|
21
21
|
return _Storage.StorageScope;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "createIndexedDBBackend", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _indexeddbBackend.createIndexedDBBackend;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
24
30
|
exports.createSecureAuthStorage = createSecureAuthStorage;
|
|
25
31
|
exports.createStorageItem = createStorageItem;
|
|
26
32
|
exports.getBatch = getBatch;
|
|
@@ -61,6 +67,7 @@ var _Storage = require("./Storage.types");
|
|
|
61
67
|
var _internal = require("./internal");
|
|
62
68
|
var _migration = require("./migration");
|
|
63
69
|
var _storageHooks = require("./storage-hooks");
|
|
70
|
+
var _indexeddbBackend = require("./indexeddb-backend");
|
|
64
71
|
function asInternal(item) {
|
|
65
72
|
return item;
|
|
66
73
|
}
|
|
@@ -479,6 +486,27 @@ const storage = exports.storage = {
|
|
|
479
486
|
},
|
|
480
487
|
resetMetrics: () => {
|
|
481
488
|
metricsCounters.clear();
|
|
489
|
+
},
|
|
490
|
+
import: (data, scope) => {
|
|
491
|
+
measureOperation("storage:import", scope, () => {
|
|
492
|
+
(0, _internal.assertValidScope)(scope);
|
|
493
|
+
const keys = Object.keys(data);
|
|
494
|
+
if (keys.length === 0) return;
|
|
495
|
+
const values = keys.map(k => data[k]);
|
|
496
|
+
if (scope === _Storage.StorageScope.Memory) {
|
|
497
|
+
keys.forEach((key, index) => {
|
|
498
|
+
memoryStore.set(key, values[index]);
|
|
499
|
+
});
|
|
500
|
+
keys.forEach(key => notifyKeyListeners(memoryListeners, key));
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
503
|
+
if (scope === _Storage.StorageScope.Secure) {
|
|
504
|
+
flushSecureWrites();
|
|
505
|
+
getStorageModule().setSecureAccessControl(secureDefaultAccessControl);
|
|
506
|
+
}
|
|
507
|
+
getStorageModule().setBatch(keys, values, scope);
|
|
508
|
+
keys.forEach((key, index) => cacheRawValue(scope, key, values[index]));
|
|
509
|
+
}, Object.keys(data).length);
|
|
482
510
|
}
|
|
483
511
|
};
|
|
484
512
|
function setWebSecureStorageBackend(_backend) {
|
|
@@ -662,6 +690,7 @@ function createStorageItem(config) {
|
|
|
662
690
|
onExpired?.(storageKey);
|
|
663
691
|
lastValue = ensureValidatedValue(defaultValue, false);
|
|
664
692
|
hasLastValue = true;
|
|
693
|
+
listeners.forEach(cb => cb());
|
|
665
694
|
return lastValue;
|
|
666
695
|
}
|
|
667
696
|
}
|
|
@@ -697,6 +726,7 @@ function createStorageItem(config) {
|
|
|
697
726
|
onExpired?.(storageKey);
|
|
698
727
|
lastValue = ensureValidatedValue(defaultValue, false);
|
|
699
728
|
hasLastValue = true;
|
|
729
|
+
listeners.forEach(cb => cb());
|
|
700
730
|
return lastValue;
|
|
701
731
|
}
|
|
702
732
|
deserializableRaw = parsed.payload;
|
|
@@ -786,6 +816,9 @@ function createStorageItem(config) {
|
|
|
786
816
|
invalidateParsedCache();
|
|
787
817
|
listeners.forEach(listener => listener());
|
|
788
818
|
},
|
|
819
|
+
_invalidateParsedCacheOnly: () => {
|
|
820
|
+
invalidateParsedCache();
|
|
821
|
+
},
|
|
789
822
|
_hasValidation: validate !== undefined,
|
|
790
823
|
_hasExpiration: expiration !== undefined,
|
|
791
824
|
_readCacheEnabled: readCache,
|
|
@@ -853,10 +886,33 @@ function setBatch(items, scope) {
|
|
|
853
886
|
measureOperation("batch:set", scope, () => {
|
|
854
887
|
(0, _internal.assertBatchScope)(items.map(batchEntry => batchEntry.item), scope);
|
|
855
888
|
if (scope === _Storage.StorageScope.Memory) {
|
|
889
|
+
// Determine if any item needs per-item handling (validation or TTL)
|
|
890
|
+
const needsIndividualSets = items.some(({
|
|
891
|
+
item
|
|
892
|
+
}) => {
|
|
893
|
+
const internal = asInternal(item);
|
|
894
|
+
return internal._hasValidation || internal._hasExpiration;
|
|
895
|
+
});
|
|
896
|
+
if (needsIndividualSets) {
|
|
897
|
+
// Fall back to individual sets to preserve validation and TTL semantics
|
|
898
|
+
items.forEach(({
|
|
899
|
+
item,
|
|
900
|
+
value
|
|
901
|
+
}) => item.set(value));
|
|
902
|
+
return;
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
// Atomic write: update all values in memoryStore, invalidate caches, then batch-notify
|
|
856
906
|
items.forEach(({
|
|
857
907
|
item,
|
|
858
908
|
value
|
|
859
|
-
}) =>
|
|
909
|
+
}) => {
|
|
910
|
+
memoryStore.set(item.key, value);
|
|
911
|
+
asInternal(item)._invalidateParsedCacheOnly();
|
|
912
|
+
});
|
|
913
|
+
items.forEach(({
|
|
914
|
+
item
|
|
915
|
+
}) => notifyKeyListeners(memoryListeners, item.key));
|
|
860
916
|
return;
|
|
861
917
|
}
|
|
862
918
|
if (scope === _Storage.StorageScope.Secure) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeNitroModules","require","_Storage","_internal","_migration","_storageHooks","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","_storageModule","getStorageModule","NitroModules","createHybridObject","memoryStore","memoryListeners","scopedListeners","StorageScope","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","WhenUnlocked","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","Date","now","getScopedListeners","getScopeRawCache","cacheRawValue","key","value","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","groupedSetWrites","keysToRemove","accessControl","undefined","push","resolvedAccessControl","existingGroup","group","storageModule","setSecureAccessControl","setBatch","length","removeBatch","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","remove","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","storage","exports","clearAll","clearNamespace","namespace","isNamespaced","keyPrefix","prefixKey","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","prefix","filter","startsWith","getByPrefix","result","getBatch","idx","decodeNativeBatchValue","getAll","val","setAccessControl","level","setSecureWritesAsync","enabled","setKeychainAccessGroup","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","BiometricLevel","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","newValue","setIfVersion","currentVersion","deleteItem","hasItem","hasSecureBiometric","subscribe","storageItem","_triggerListeners","_readCacheEnabled","_defaultValue","items","assertBatchScope","map","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","index","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","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","previousValue","keysToSet","valuesToSet","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_Storage","_internal","_migration","_storageHooks","_indexeddbBackend","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","_storageModule","getStorageModule","NitroModules","createHybridObject","memoryStore","memoryListeners","scopedListeners","StorageScope","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","WhenUnlocked","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","Date","now","getScopedListeners","getScopeRawCache","cacheRawValue","key","value","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","groupedSetWrites","keysToRemove","accessControl","undefined","push","resolvedAccessControl","existingGroup","group","storageModule","setSecureAccessControl","setBatch","length","removeBatch","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","remove","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","storage","exports","clearAll","clearNamespace","namespace","isNamespaced","keyPrefix","prefixKey","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","prefix","filter","startsWith","getByPrefix","result","getBatch","idx","decodeNativeBatchValue","getAll","val","setAccessControl","level","setSecureWritesAsync","enabled","setKeychainAccessGroup","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","import","data","map","k","index","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","BiometricLevel","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","newValue","setIfVersion","currentVersion","deleteItem","hasItem","hasSecureBiometric","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","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","previousValue","keysToSet","valuesToSet","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "StorageScope", {
|
|
|
21
21
|
return _Storage.StorageScope;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "createIndexedDBBackend", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _indexeddbBackend.createIndexedDBBackend;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
24
30
|
exports.createSecureAuthStorage = createSecureAuthStorage;
|
|
25
31
|
exports.createStorageItem = createStorageItem;
|
|
26
32
|
exports.getBatch = getBatch;
|
|
@@ -60,6 +66,7 @@ var _Storage = require("./Storage.types");
|
|
|
60
66
|
var _internal = require("./internal");
|
|
61
67
|
var _migration = require("./migration");
|
|
62
68
|
var _storageHooks = require("./storage-hooks");
|
|
69
|
+
var _indexeddbBackend = require("./indexeddb-backend");
|
|
63
70
|
function asInternal(item) {
|
|
64
71
|
return item;
|
|
65
72
|
}
|
|
@@ -779,6 +786,22 @@ const storage = exports.storage = {
|
|
|
779
786
|
},
|
|
780
787
|
resetMetrics: () => {
|
|
781
788
|
metricsCounters.clear();
|
|
789
|
+
},
|
|
790
|
+
import: (data, scope) => {
|
|
791
|
+
measureOperation("storage:import", scope, () => {
|
|
792
|
+
(0, _internal.assertValidScope)(scope);
|
|
793
|
+
const keys = Object.keys(data);
|
|
794
|
+
if (keys.length === 0) return;
|
|
795
|
+
const values = keys.map(k => data[k]);
|
|
796
|
+
if (scope === _Storage.StorageScope.Memory) {
|
|
797
|
+
keys.forEach((key, index) => {
|
|
798
|
+
memoryStore.set(key, values[index]);
|
|
799
|
+
});
|
|
800
|
+
keys.forEach(key => notifyKeyListeners(memoryListeners, key));
|
|
801
|
+
return;
|
|
802
|
+
}
|
|
803
|
+
WebStorage.setBatch(keys, values, scope);
|
|
804
|
+
}, Object.keys(data).length);
|
|
782
805
|
}
|
|
783
806
|
};
|
|
784
807
|
function setWebSecureStorageBackend(backend) {
|
|
@@ -963,6 +986,7 @@ function createStorageItem(config) {
|
|
|
963
986
|
onExpired?.(storageKey);
|
|
964
987
|
lastValue = ensureValidatedValue(defaultValue, false);
|
|
965
988
|
hasLastValue = true;
|
|
989
|
+
listeners.forEach(cb => cb());
|
|
966
990
|
return lastValue;
|
|
967
991
|
}
|
|
968
992
|
}
|
|
@@ -998,6 +1022,7 @@ function createStorageItem(config) {
|
|
|
998
1022
|
onExpired?.(storageKey);
|
|
999
1023
|
lastValue = ensureValidatedValue(defaultValue, false);
|
|
1000
1024
|
hasLastValue = true;
|
|
1025
|
+
listeners.forEach(cb => cb());
|
|
1001
1026
|
return lastValue;
|
|
1002
1027
|
}
|
|
1003
1028
|
deserializableRaw = parsed.payload;
|
|
@@ -1084,6 +1109,9 @@ function createStorageItem(config) {
|
|
|
1084
1109
|
invalidateParsedCache();
|
|
1085
1110
|
listeners.forEach(listener => listener());
|
|
1086
1111
|
},
|
|
1112
|
+
_invalidateParsedCacheOnly: () => {
|
|
1113
|
+
invalidateParsedCache();
|
|
1114
|
+
},
|
|
1087
1115
|
_hasValidation: validate !== undefined,
|
|
1088
1116
|
_hasExpiration: expiration !== undefined,
|
|
1089
1117
|
_readCacheEnabled: readCache,
|
|
@@ -1151,10 +1179,32 @@ function setBatch(items, scope) {
|
|
|
1151
1179
|
measureOperation("batch:set", scope, () => {
|
|
1152
1180
|
(0, _internal.assertBatchScope)(items.map(batchEntry => batchEntry.item), scope);
|
|
1153
1181
|
if (scope === _Storage.StorageScope.Memory) {
|
|
1182
|
+
// Determine if any item needs per-item handling (validation or TTL)
|
|
1183
|
+
const needsIndividualSets = items.some(({
|
|
1184
|
+
item
|
|
1185
|
+
}) => {
|
|
1186
|
+
const internal = asInternal(item);
|
|
1187
|
+
return internal._hasValidation || internal._hasExpiration;
|
|
1188
|
+
});
|
|
1189
|
+
if (needsIndividualSets) {
|
|
1190
|
+
items.forEach(({
|
|
1191
|
+
item,
|
|
1192
|
+
value
|
|
1193
|
+
}) => item.set(value));
|
|
1194
|
+
return;
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
// Atomic write: update all values in memoryStore, invalidate caches, then batch-notify
|
|
1154
1198
|
items.forEach(({
|
|
1155
1199
|
item,
|
|
1156
1200
|
value
|
|
1157
|
-
}) =>
|
|
1201
|
+
}) => {
|
|
1202
|
+
memoryStore.set(item.key, value);
|
|
1203
|
+
asInternal(item)._invalidateParsedCacheOnly();
|
|
1204
|
+
});
|
|
1205
|
+
items.forEach(({
|
|
1206
|
+
item
|
|
1207
|
+
}) => notifyKeyListeners(memoryListeners, item.key));
|
|
1158
1208
|
return;
|
|
1159
1209
|
}
|
|
1160
1210
|
if (scope === _Storage.StorageScope.Secure) {
|