react-native-nitro-storage 0.5.0 → 0.5.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 +42 -8
- package/docs/api-reference.md +95 -31
- package/docs/batch-transactions-migrations.md +23 -9
- package/docs/benchmarks.md +1 -1
- package/docs/recipes.md +30 -9
- package/docs/secure-storage.md +20 -1
- package/lib/commonjs/index.js +214 -13
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +166 -11
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/indexeddb-backend.js +7 -0
- package/lib/commonjs/indexeddb-backend.js.map +1 -1
- package/lib/commonjs/storage-events.js +117 -0
- package/lib/commonjs/storage-events.js.map +1 -0
- package/lib/module/index.js +214 -13
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +166 -11
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/indexeddb-backend.js +7 -0
- package/lib/module/indexeddb-backend.js.map +1 -1
- package/lib/module/storage-events.js +112 -0
- package/lib/module/storage-events.js.map +1 -0
- package/lib/typescript/index.d.ts +14 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +14 -0
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/indexeddb-backend.d.ts.map +1 -1
- package/lib/typescript/storage-events.d.ts +37 -0
- package/lib/typescript/storage-events.d.ts.map +1 -0
- package/package.json +5 -4
- package/src/index.ts +534 -13
- package/src/index.web.ts +459 -22
- package/src/indexeddb-backend.ts +8 -0
- package/src/storage-events.ts +184 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","createLocalStorageWebBackend","getStorageErrorCode","isLockedStorageErrorCode","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","memoryStore","memoryListeners","webScopeListeners","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWindowStorageEventSubscription","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","createDefaultDiskBackend","name","includeKey","key","startsWith","createDefaultSecureBackend","webDiskStorageBackend","webSecureStorageBackend","externalSyncUnsubscribers","getBackendName","backend","scopeName","getWebSecureEncryptionStatus","createWebStorageError","error","backendName","message","Error","String","withWebBackendOperation","ensureExternalSyncSubscriptions","getWebBackend","toSecureStorageKey","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","clear","getAllKeys","add","ensureWebScopeKeyIndex","applyExternalChangeEvent","newValue","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","delete","cacheRawValue","undefined","notifyKeyListeners","getItem","handleWebStorageEvent","event","subscribeToBackendChanges","subscribe","unsubscribe","resetBackendChangeSubscription","window","addEventListener","getScopeRawCache","value","readCachedRawValue","hasCachedRawValue","registry","listeners","listener","values","addKeyListener","scopedListeners","size","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","forEach","push","WebStorage","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","equals","other","dispose","storageKey","setItem","remove","removeMany","removeItem","entries","index","setMany","getBatch","map","storageKeys","getMany","flatMap","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","getRawValue","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","storage","clearAll","clearNamespace","namespace","keyPrefix","scopeCache","clearBiometric","getByPrefix","result","getAll","val","setAccessControl","level","setDiskWritesAsync","enabled","_group","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureBackend","secureStorage","encrypted","keychainAccessGroup","hardwareBacked","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","getSecureMetadata","biometricProtected","exists","kind","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","setWebSecureStorageBackend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","flushes","diskFlush","flush","secureFlush","all","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","useStorage","useStorageSelector","useSetStorage","createIndexedDBBackend","items","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","NOT_SET","Symbol","rollback","rememberRollback","tx","rollbackEntries","reverse","previousValue","createSecureAuthStorage","options","ns","itemConfig","expirationConfig","isKeychainLockedError","err"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","createLocalStorageWebBackend","getStorageErrorCode","isLockedStorageErrorCode","StorageEventRegistry","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","memoryStore","memoryListeners","webScopeListeners","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWindowStorageEventSubscription","metricsObserver","eventObserver","metricsCounters","storageEvents","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","createDefaultDiskBackend","name","includeKey","key","startsWith","createDefaultSecureBackend","webDiskStorageBackend","webSecureStorageBackend","externalSyncUnsubscribers","getBackendName","backend","scopeName","getWebSecureEncryptionStatus","createWebStorageError","error","backendName","message","Error","String","withWebBackendOperation","ensureExternalSyncSubscriptions","getWebBackend","toSecureStorageKey","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","clear","getAllKeys","add","ensureWebScopeKeyIndex","applyExternalChangeEvent","newValue","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","oldValue","readCachedRawValue","delete","cacheRawValue","undefined","notifyKeyListeners","emitKeyChange","getItem","handleWebStorageEvent","event","subscribeToBackendChanges","subscribe","unsubscribe","resetBackendChangeSubscription","window","addEventListener","getScopeRawCache","value","hasCachedRawValue","registry","listeners","listener","values","addKeyListener","scopedListeners","size","getEventRawValue","Memory","getRawValue","createKeyChange","source","type","hasStorageChangeObservers","hasListeners","emitKey","emitBatchChange","changes","emitBatch","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","forEach","push","WebStorage","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","equals","other","dispose","storageKey","setItem","remove","removeMany","removeItem","entries","index","setMany","getBatch","map","storageKeys","getMany","flatMap","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","storage","subscribeKey","subscribePrefix","subscribeNamespace","namespace","setEventObserver","observer","previousValues","getAll","clearAll","clearNamespace","affectedKeys","keyPrefix","getByPrefix","scopeCache","clearBiometric","result","val","export","setAccessControl","level","setDiskWritesAsync","enabled","_group","setMetricsObserver","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureBackend","secureStorage","encrypted","keychainAccessGroup","hardwareBacked","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","getSecureMetadata","biometricProtected","exists","kind","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","setWebSecureStorageBackend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","flushes","diskFlush","flush","secureFlush","all","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribeSelector","selector","options","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","useStorage","useStorageSelector","useSetStorage","createIndexedDBBackend","items","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","oldValues","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","rollbackEntries","reverse","createSecureAuthStorage","ns","itemConfig","expirationConfig","isKeychainLockedError","err"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -55,6 +55,7 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
55
55
|
const db = await openDB(dbName, storeName);
|
|
56
56
|
const cache = new Map();
|
|
57
57
|
const pendingWrites = new Set();
|
|
58
|
+
const pendingErrors = [];
|
|
58
59
|
const subscribers = new Set();
|
|
59
60
|
const sourceId = `nitro-storage-${Math.random().toString(36).slice(2)}`;
|
|
60
61
|
const channelName = options.channelName ?? `nitro-storage:${dbName}:${storeName}`;
|
|
@@ -66,6 +67,7 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
66
67
|
}
|
|
67
68
|
function handleAsyncError(error) {
|
|
68
69
|
const normalized = error instanceof Error ? error : new Error(String(error ?? "Unknown IndexedDB error"));
|
|
70
|
+
pendingErrors.push(normalized);
|
|
69
71
|
options.onError?.(normalized);
|
|
70
72
|
}
|
|
71
73
|
channel?.addEventListener("message", event => {
|
|
@@ -241,6 +243,11 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
241
243
|
},
|
|
242
244
|
async flush() {
|
|
243
245
|
await Promise.all(Array.from(pendingWrites));
|
|
246
|
+
if (pendingErrors.length === 0) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
const [error] = pendingErrors.splice(0);
|
|
250
|
+
throw error;
|
|
244
251
|
}
|
|
245
252
|
};
|
|
246
253
|
return backend;
|
|
@@ -1 +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","options","cache","Map","pendingWrites","Set","subscribers","sourceId","Math","random","toString","slice","channelName","channel","BroadcastChannel","emitExternal","event","forEach","subscriber","handleAsyncError","normalized","String","onError","addEventListener","data","key","clear","newValue","delete","set","publish","postMessage","tx","transaction","store","objectStore","openCursor","cursor","value","continue","oncomplete","trackWrite","pending","onabort","add","finally","persistSet","put","persistDelete","persistClear","backend","name","getItem","get","setItem","removeItem","getAllKeys","Array","from","keys","getMany","map","setMany","entries","removeMany","size","subscribe","listener","flush","all"],"sourceRoot":"../../src","sources":["indexeddb-backend.ts"],"mappings":";;AAKA,MAAMA,eAAe,GAAG,sBAAsB;AAC9C,MAAMC,kBAAkB,GAAG,UAAU;AACrC,MAAMC,UAAU,GAAG,CAAC;AAOpB;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACC,MAAc,EAAEC,SAAiB,EAAwB;EACvE,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAI,OAAOC,SAAS,KAAK,WAAW,EAAE;MACpCD,MAAM,CAAC,IAAIE,KAAK,CAAC,iDAAiD,CAAC,CAAC;MACpE;IACF;IAEA,MAAMC,OAAO,GAAGF,SAAS,CAACG,IAAI,CAACR,MAAM,EAAEF,UAAU,CAAC;IAElDS,OAAO,CAACE,eAAe,GAAG,MAAM;MAC9B,MAAMC,EAAE,GAAGH,OAAO,CAACI,MAAM;MACzB,IAAI,CAACD,EAAE,CAACE,gBAAgB,CAACC,QAAQ,CAACZ,SAAS,CAAC,EAAE;QAC5CS,EAAE,CAACI,iBAAiB,CAACb,SAAS,CAAC;MACjC;IACF,CAAC;IAEDM,OAAO,CAACQ,SAAS,GAAG,MAAMZ,OAAO,CAACI,OAAO,CAACI,MAAM,CAAC;IACjDJ,OAAO,CAACS,OAAO,GAAG,MAChBZ,MAAM,CAACG,OAAO,CAACU,KAAK,IAAI,IAAIX,KAAK,CAAC,oCAAoC,CAAC,CAAC;EAC5E,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeY,sBAAsBA,CAC1ClB,MAAM,GAAGJ,eAAe,EACxBK,SAAS,GAAGJ,kBAAkB,EAC9BsB,OAAgC,GAAG,CAAC,CAAC,EACH;EAClC,MAAMT,EAAE,GAAG,MAAMX,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC;EAC1C,MAAMmB,KAAK,GAAG,IAAIC,GAAG,CAAiB,CAAC;EACvC,MAAMC,aAAa,GAAG,IAAIC,GAAG,CAAgB,CAAC;EAC9C,MAAMC,WAAW,GAAG,
|
|
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","options","cache","Map","pendingWrites","Set","pendingErrors","subscribers","sourceId","Math","random","toString","slice","channelName","channel","BroadcastChannel","emitExternal","event","forEach","subscriber","handleAsyncError","normalized","String","push","onError","addEventListener","data","key","clear","newValue","delete","set","publish","postMessage","tx","transaction","store","objectStore","openCursor","cursor","value","continue","oncomplete","trackWrite","pending","onabort","add","finally","persistSet","put","persistDelete","persistClear","backend","name","getItem","get","setItem","removeItem","getAllKeys","Array","from","keys","getMany","map","setMany","entries","removeMany","size","subscribe","listener","flush","all","length","splice"],"sourceRoot":"../../src","sources":["indexeddb-backend.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function addListener(registry, scope, listener) {
|
|
4
|
+
let listeners = registry.get(scope);
|
|
5
|
+
if (!listeners) {
|
|
6
|
+
listeners = new Set();
|
|
7
|
+
registry.set(scope, listeners);
|
|
8
|
+
}
|
|
9
|
+
listeners.add(listener);
|
|
10
|
+
return () => {
|
|
11
|
+
const scopedListeners = registry.get(scope);
|
|
12
|
+
if (!scopedListeners) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
scopedListeners.delete(listener);
|
|
16
|
+
if (scopedListeners.size === 0) {
|
|
17
|
+
registry.delete(scope);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export class StorageEventRegistry {
|
|
22
|
+
scopeListeners = new Map();
|
|
23
|
+
keyListeners = new Map();
|
|
24
|
+
prefixListeners = new Map();
|
|
25
|
+
subscribe(scope, listener) {
|
|
26
|
+
return addListener(this.scopeListeners, scope, listener);
|
|
27
|
+
}
|
|
28
|
+
hasListeners(scope) {
|
|
29
|
+
return (this.scopeListeners.get(scope)?.size ?? 0) > 0 || (this.keyListeners.get(scope)?.size ?? 0) > 0 || (this.prefixListeners.get(scope)?.size ?? 0) > 0;
|
|
30
|
+
}
|
|
31
|
+
subscribeKey(scope, key, listener) {
|
|
32
|
+
let scopedListeners = this.keyListeners.get(scope);
|
|
33
|
+
if (!scopedListeners) {
|
|
34
|
+
scopedListeners = new Map();
|
|
35
|
+
this.keyListeners.set(scope, scopedListeners);
|
|
36
|
+
}
|
|
37
|
+
let keyListeners = scopedListeners.get(key);
|
|
38
|
+
if (!keyListeners) {
|
|
39
|
+
keyListeners = new Set();
|
|
40
|
+
scopedListeners.set(key, keyListeners);
|
|
41
|
+
}
|
|
42
|
+
keyListeners.add(listener);
|
|
43
|
+
return () => {
|
|
44
|
+
const currentScopedListeners = this.keyListeners.get(scope);
|
|
45
|
+
const currentKeyListeners = currentScopedListeners?.get(key);
|
|
46
|
+
if (!currentKeyListeners) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
currentKeyListeners.delete(listener);
|
|
50
|
+
if (currentKeyListeners.size === 0) {
|
|
51
|
+
currentScopedListeners?.delete(key);
|
|
52
|
+
}
|
|
53
|
+
if (currentScopedListeners?.size === 0) {
|
|
54
|
+
this.keyListeners.delete(scope);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
subscribePrefix(scope, prefix, listener) {
|
|
59
|
+
const entry = {
|
|
60
|
+
prefix,
|
|
61
|
+
listener
|
|
62
|
+
};
|
|
63
|
+
return addListener(this.prefixListeners, scope, entry);
|
|
64
|
+
}
|
|
65
|
+
emitKey(event) {
|
|
66
|
+
this.emitToScope(event);
|
|
67
|
+
this.emitToKey(event);
|
|
68
|
+
this.emitToPrefixes(event);
|
|
69
|
+
}
|
|
70
|
+
emitBatch(event) {
|
|
71
|
+
this.emitToScope(event);
|
|
72
|
+
event.changes.forEach(change => {
|
|
73
|
+
this.emitToKey(change);
|
|
74
|
+
});
|
|
75
|
+
this.emitBatchToPrefixes(event);
|
|
76
|
+
}
|
|
77
|
+
emitToScope(event) {
|
|
78
|
+
this.scopeListeners.get(event.scope)?.forEach(listener => {
|
|
79
|
+
listener(event);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
emitToKey(event) {
|
|
83
|
+
this.keyListeners.get(event.scope)?.get(event.key)?.forEach(listener => {
|
|
84
|
+
listener(event);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
emitToPrefixes(event) {
|
|
88
|
+
this.prefixListeners.get(event.scope)?.forEach(({
|
|
89
|
+
prefix,
|
|
90
|
+
listener
|
|
91
|
+
}) => {
|
|
92
|
+
if (event.key.startsWith(prefix)) {
|
|
93
|
+
listener(event);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
emitBatchToPrefixes(event) {
|
|
98
|
+
this.prefixListeners.get(event.scope)?.forEach(({
|
|
99
|
+
prefix,
|
|
100
|
+
listener
|
|
101
|
+
}) => {
|
|
102
|
+
const changes = event.changes.filter(change => change.key.startsWith(prefix));
|
|
103
|
+
if (changes.length > 0) {
|
|
104
|
+
listener({
|
|
105
|
+
...event,
|
|
106
|
+
changes
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=storage-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["addListener","registry","scope","listener","listeners","get","Set","set","add","scopedListeners","delete","size","StorageEventRegistry","scopeListeners","Map","keyListeners","prefixListeners","subscribe","hasListeners","subscribeKey","key","currentScopedListeners","currentKeyListeners","subscribePrefix","prefix","entry","emitKey","event","emitToScope","emitToKey","emitToPrefixes","emitBatch","changes","forEach","change","emitBatchToPrefixes","startsWith","filter","length"],"sourceRoot":"../../src","sources":["storage-events.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
2
2
|
import type { WebDiskStorageBackend, WebSecureStorageBackend } from "./web-storage-backend";
|
|
3
3
|
import { type SecureStorageMetadata, type SecurityCapabilities, type StorageCapabilities } from "./storage-runtime";
|
|
4
|
+
import { type StorageEventListener } from "./storage-events";
|
|
4
5
|
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
5
6
|
export type { Storage } from "./Storage.nitro";
|
|
6
7
|
export { migrateFromMMKV } from "./migration";
|
|
7
8
|
export { getStorageErrorCode, type SecureStorageMetadata, type SecurityCapabilities, type StorageCapabilities, type StorageErrorCode, } from "./storage-runtime";
|
|
9
|
+
export type { StorageBatchChangeEvent, StorageChangeEvent, StorageChangeOperation, StorageChangeSource, StorageEventListener, StorageKeyChangeEvent, } from "./storage-events";
|
|
8
10
|
export type { WebStorageBackend, WebStorageChangeEvent, WebStorageScope, } from "./web-storage-backend";
|
|
9
11
|
export type Validator<T> = (value: unknown) => value is T;
|
|
10
12
|
export type ExpirationConfig = {
|
|
@@ -28,6 +30,11 @@ export type StorageMetricSummary = {
|
|
|
28
30
|
avgDurationMs: number;
|
|
29
31
|
maxDurationMs: number;
|
|
30
32
|
};
|
|
33
|
+
export type StorageSelectorListener<TSelected> = (value: TSelected, previousValue: TSelected) => void;
|
|
34
|
+
export type StorageSelectorSubscribeOptions<TSelected> = {
|
|
35
|
+
isEqual?: (previousValue: TSelected, nextValue: TSelected) => boolean;
|
|
36
|
+
fireImmediately?: boolean;
|
|
37
|
+
};
|
|
31
38
|
export type MigrationContext = {
|
|
32
39
|
scope: StorageScope;
|
|
33
40
|
getRaw: (key: string) => string | undefined;
|
|
@@ -45,6 +52,11 @@ export type TransactionContext = {
|
|
|
45
52
|
removeItem: (item: Pick<StorageItem<unknown>, "scope" | "key" | "delete">) => void;
|
|
46
53
|
};
|
|
47
54
|
export declare const storage: {
|
|
55
|
+
subscribe: (scope: StorageScope, listener: StorageEventListener) => (() => void);
|
|
56
|
+
subscribeKey: (scope: StorageScope, key: string, listener: StorageEventListener) => (() => void);
|
|
57
|
+
subscribePrefix: (scope: StorageScope, prefix: string, listener: StorageEventListener) => (() => void);
|
|
58
|
+
subscribeNamespace: (namespace: string, scope: StorageScope, listener: StorageEventListener) => (() => void);
|
|
59
|
+
setEventObserver: (observer?: StorageEventListener) => void;
|
|
48
60
|
clear: (scope: StorageScope) => void;
|
|
49
61
|
clearAll: () => void;
|
|
50
62
|
clearNamespace: (namespace: string, scope: StorageScope) => void;
|
|
@@ -54,6 +66,7 @@ export declare const storage: {
|
|
|
54
66
|
getKeysByPrefix: (prefix: string, scope: StorageScope) => string[];
|
|
55
67
|
getByPrefix: (prefix: string, scope: StorageScope) => Record<string, string>;
|
|
56
68
|
getAll: (scope: StorageScope) => Record<string, string>;
|
|
69
|
+
export: (scope: StorageScope) => Record<string, string>;
|
|
57
70
|
size: (scope: StorageScope) => number;
|
|
58
71
|
setAccessControl: (level: AccessControl) => void;
|
|
59
72
|
setSecureWritesAsync: (enabled: boolean) => void;
|
|
@@ -104,6 +117,7 @@ export interface StorageItem<T> {
|
|
|
104
117
|
delete: () => void;
|
|
105
118
|
has: () => boolean;
|
|
106
119
|
subscribe: (callback: () => void) => () => void;
|
|
120
|
+
subscribeSelector: <TSelected>(selector: (value: T) => TSelected, listener: StorageSelectorListener<TSelected>, options?: StorageSelectorSubscribeOptions<TSelected>) => () => void;
|
|
107
121
|
serialize: (value: T) => string;
|
|
108
122
|
deserialize: (value: string) => T;
|
|
109
123
|
scope: StorageScope;
|