react-native-nitro-storage 0.5.4 → 0.5.6
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 +90 -7
- package/android/build.gradle +5 -5
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +12 -25
- package/app.plugin.js +114 -9
- package/docs/api-reference.md +39 -36
- package/docs/batch-transactions-migrations.md +1 -1
- package/docs/recipes.md +1 -1
- package/docs/secure-storage.md +15 -4
- package/docs/web-backends.md +5 -0
- package/lib/commonjs/index.js +49 -9
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +71 -11
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/indexeddb-backend.js +28 -0
- package/lib/commonjs/indexeddb-backend.js.map +1 -1
- package/lib/commonjs/storage-hooks.js.map +1 -1
- package/lib/commonjs/web-storage-backend.js.map +1 -1
- package/lib/module/index.js +49 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +71 -11
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/indexeddb-backend.js +28 -0
- package/lib/module/indexeddb-backend.js.map +1 -1
- package/lib/module/storage-hooks.js.map +1 -1
- package/lib/module/web-storage-backend.js.map +1 -1
- package/lib/typescript/index.d.ts +21 -9
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +10 -3
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/indexeddb-backend.d.ts.map +1 -1
- package/lib/typescript/storage-hooks.d.ts +5 -4
- package/lib/typescript/storage-hooks.d.ts.map +1 -1
- package/lib/typescript/web-storage-backend.d.ts +1 -0
- package/lib/typescript/web-storage-backend.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +96 -19
- package/src/index.web.ts +107 -11
- package/src/indexeddb-backend.ts +30 -0
- package/src/storage-hooks.ts +6 -6
- package/src/web-storage-backend.ts +1 -0
|
@@ -1 +1 @@
|
|
|
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","assertEnumInteger","value","min","max","label","Number","isFinite","Error","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","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","measureOperation","fn","start","createDefaultDiskBackend","name","includeKey","key","startsWith","createDefaultSecureBackend","webDiskStorageBackend","webSecureStorageBackend","externalSyncUnsubscribers","getBackendName","backend","scopeName","getWebSecureEncryptionStatus","createWebStorageError","error","backendName","message","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","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","None","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","parseInt","writeMigrationVersion","version","storage","subscribeKey","subscribePrefix","subscribeNamespace","namespace","setEventObserver","observer","previousValues","getAll","clearAll","clearNamespace","affectedKeys","keyPrefix","getByPrefix","scopeCache","clearBiometric","result","val","export","setAccessControl","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","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","_biometricLevel","_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","groupedKeysToSet","createSecureAuthStorage","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","assertEnumInteger","value","min","max","label","Number","isFinite","Error","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","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","eventObserverRedactSecureValues","metricsCounters","storageEvents","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","measureOperation","fn","start","createDefaultDiskBackend","name","includeKey","key","startsWith","createDefaultSecureBackend","webDiskStorageBackend","webSecureStorageBackend","externalSyncUnsubscribers","getBackendName","backend","scopeName","getWebSecureEncryptionStatus","createWebStorageError","error","backendName","message","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","closeWebBackend","close","window","addEventListener","getScopeRawCache","hasCachedRawValue","registry","listeners","listener","values","addKeyListener","scopedListeners","size","getEventRawValue","Memory","getRawValue","createKeyChange","source","type","hasStorageChangeObservers","hasListeners","shouldReadPreviousEventValues","SECURE_EVENT_REDACTED_VALUE","redactSecureKeyChange","eventForGlobalObserver","changes","map","emitKey","emitBatchChange","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","storageKeys","getMany","flatMap","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometryOnly","None","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","parseInt","writeMigrationVersion","version","storage","subscribeKey","subscribePrefix","subscribeNamespace","namespace","setEventObserver","observer","options","redactSecureValues","previousValues","getAll","clearAll","clearNamespace","affectedKeys","keyPrefix","getByPrefix","scopeCache","clearBiometric","result","val","export","includeSecureValues","exportSecureUnsafe","setAccessControl","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","previousBackend","nextBackend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","flushes","diskFlush","flush","secureFlush","all","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","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","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_biometricLevel","_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","groupedKeysToSet","createSecureAuthStorage","ns","itemConfig","expirationConfig","isKeychainLockedError","err"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -57,9 +57,15 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
57
57
|
const pendingWrites = new Set();
|
|
58
58
|
const pendingErrors = [];
|
|
59
59
|
const subscribers = new Set();
|
|
60
|
+
let closed = false;
|
|
60
61
|
const sourceId = `nitro-storage-${Math.random().toString(36).slice(2)}`;
|
|
61
62
|
const channelName = options.channelName ?? `nitro-storage:${dbName}:${storeName}`;
|
|
62
63
|
const channel = typeof BroadcastChannel !== "undefined" ? new BroadcastChannel(channelName) : null;
|
|
64
|
+
function assertOpen() {
|
|
65
|
+
if (closed) {
|
|
66
|
+
throw new Error(`IndexedDB backend "${dbName}/${storeName}" is closed.`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
63
69
|
function emitExternal(event) {
|
|
64
70
|
subscribers.forEach(subscriber => {
|
|
65
71
|
subscriber(event);
|
|
@@ -71,6 +77,9 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
71
77
|
options.onError?.(normalized);
|
|
72
78
|
}
|
|
73
79
|
channel?.addEventListener("message", event => {
|
|
80
|
+
if (closed) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
74
83
|
const data = event.data;
|
|
75
84
|
if (!data || data.sourceId === sourceId) {
|
|
76
85
|
return;
|
|
@@ -162,9 +171,11 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
162
171
|
const backend = {
|
|
163
172
|
name: `indexeddb:${dbName}/${storeName}`,
|
|
164
173
|
getItem(key) {
|
|
174
|
+
assertOpen();
|
|
165
175
|
return cache.get(key) ?? null;
|
|
166
176
|
},
|
|
167
177
|
setItem(key, value) {
|
|
178
|
+
assertOpen();
|
|
168
179
|
cache.set(key, value);
|
|
169
180
|
persistSet(key, value);
|
|
170
181
|
publish({
|
|
@@ -173,6 +184,7 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
173
184
|
});
|
|
174
185
|
},
|
|
175
186
|
removeItem(key) {
|
|
187
|
+
assertOpen();
|
|
176
188
|
cache.delete(key);
|
|
177
189
|
persistDelete(key);
|
|
178
190
|
publish({
|
|
@@ -181,6 +193,7 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
181
193
|
});
|
|
182
194
|
},
|
|
183
195
|
clear() {
|
|
196
|
+
assertOpen();
|
|
184
197
|
cache.clear();
|
|
185
198
|
persistClear();
|
|
186
199
|
publish({
|
|
@@ -189,12 +202,15 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
189
202
|
});
|
|
190
203
|
},
|
|
191
204
|
getAllKeys() {
|
|
205
|
+
assertOpen();
|
|
192
206
|
return Array.from(cache.keys());
|
|
193
207
|
},
|
|
194
208
|
getMany(keys) {
|
|
209
|
+
assertOpen();
|
|
195
210
|
return keys.map(key => cache.get(key) ?? null);
|
|
196
211
|
},
|
|
197
212
|
setMany(entries) {
|
|
213
|
+
assertOpen();
|
|
198
214
|
entries.forEach(([key, value]) => {
|
|
199
215
|
cache.set(key, value);
|
|
200
216
|
});
|
|
@@ -214,6 +230,7 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
214
230
|
}
|
|
215
231
|
},
|
|
216
232
|
removeMany(keys) {
|
|
233
|
+
assertOpen();
|
|
217
234
|
keys.forEach(key => {
|
|
218
235
|
cache.delete(key);
|
|
219
236
|
});
|
|
@@ -233,9 +250,11 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
233
250
|
}
|
|
234
251
|
},
|
|
235
252
|
size() {
|
|
253
|
+
assertOpen();
|
|
236
254
|
return cache.size;
|
|
237
255
|
},
|
|
238
256
|
subscribe(listener) {
|
|
257
|
+
assertOpen();
|
|
239
258
|
subscribers.add(listener);
|
|
240
259
|
return () => {
|
|
241
260
|
subscribers.delete(listener);
|
|
@@ -248,6 +267,15 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
248
267
|
}
|
|
249
268
|
const [error] = pendingErrors.splice(0);
|
|
250
269
|
throw error;
|
|
270
|
+
},
|
|
271
|
+
close() {
|
|
272
|
+
if (closed) {
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
closed = true;
|
|
276
|
+
subscribers.clear();
|
|
277
|
+
channel?.close();
|
|
278
|
+
db.close();
|
|
251
279
|
}
|
|
252
280
|
};
|
|
253
281
|
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","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":";;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,aAAsB,GAAG,EAAE;EACjC,MAAMC,WAAW,GAAG,IAAIF,GAAG,CAAyC,CAAC;EACrE,
|
|
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","closed","sourceId","Math","random","toString","slice","channelName","channel","BroadcastChannel","assertOpen","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","close"],"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,aAAsB,GAAG,EAAE;EACjC,MAAMC,WAAW,GAAG,IAAIF,GAAG,CAAyC,CAAC;EACrE,IAAIG,MAAM,GAAG,KAAK;EAClB,MAAMC,QAAQ,GAAG,iBAAiBC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE;EACvE,MAAMC,WAAW,GACfb,OAAO,CAACa,WAAW,IAAI,iBAAiBhC,MAAM,IAAIC,SAAS,EAAE;EAC/D,MAAMgC,OAAO,GACX,OAAOC,gBAAgB,KAAK,WAAW,GACnC,IAAIA,gBAAgB,CAACF,WAAW,CAAC,GACjC,IAAI;EAEV,SAASG,UAAUA,CAAA,EAAS;IAC1B,IAAIT,MAAM,EAAE;MACV,MAAM,IAAIpB,KAAK,CAAC,sBAAsBN,MAAM,IAAIC,SAAS,cAAc,CAAC;IAC1E;EACF;EAEA,SAASmC,YAAYA,CAACC,KAA4B,EAAQ;IACxDZ,WAAW,CAACa,OAAO,CAAEC,UAAU,IAAK;MAClCA,UAAU,CAACF,KAAK,CAAC;IACnB,CAAC,CAAC;EACJ;EAEA,SAASG,gBAAgBA,CAACvB,KAAc,EAAQ;IAC9C,MAAMwB,UAAU,GACdxB,KAAK,YAAYX,KAAK,GAClBW,KAAK,GACL,IAAIX,KAAK,CAACoC,MAAM,CAACzB,KAAK,IAAI,yBAAyB,CAAC,CAAC;IAC3DO,aAAa,CAACmB,IAAI,CAACF,UAAU,CAAC;IAC9BtB,OAAO,CAACyB,OAAO,GAAGH,UAAU,CAAC;EAC/B;EAEAR,OAAO,EAAEY,gBAAgB,CAAC,SAAS,EAAGR,KAAmB,IAAK;IAC5D,IAAIX,MAAM,EAAE;MACV;IACF;IAEA,MAAMoB,IAAI,GAAGT,KAAK,CAACS,IAEN;IACb,IAAI,CAACA,IAAI,IAAIA,IAAI,CAACnB,QAAQ,KAAKA,QAAQ,EAAE;MACvC;IACF;IAEA,IAAImB,IAAI,CAACC,GAAG,KAAK,IAAI,EAAE;MACrB3B,KAAK,CAAC4B,KAAK,CAAC,CAAC;IACf,CAAC,MAAM,IAAIF,IAAI,CAACG,QAAQ,KAAK,IAAI,EAAE;MACjC7B,KAAK,CAAC8B,MAAM,CAACJ,IAAI,CAACC,GAAG,CAAC;IACxB,CAAC,MAAM;MACL3B,KAAK,CAAC+B,GAAG,CAACL,IAAI,CAACC,GAAG,EAAED,IAAI,CAACG,QAAQ,CAAC;IACpC;IAEAb,YAAY,CAAC;MACXW,GAAG,EAAED,IAAI,CAACC,GAAG;MACbE,QAAQ,EAAEH,IAAI,CAACG;IACjB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASG,OAAOA,CAACf,KAA4B,EAAQ;IACnDJ,OAAO,EAAEoB,WAAW,CAAC;MACnB,GAAGhB,KAAK;MACRV;IACF,CAAC,CAAC;EACJ;;EAEA;EACA,MAAM,IAAIzB,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC3C,MAAMkD,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,UAAU,CAAC;IAChD,MAAMuD,KAAK,GAAGF,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC;IACvC,MAAMM,OAAO,GAAGiD,KAAK,CAACE,UAAU,CAAC,CAAC;IAElCnD,OAAO,CAACQ,SAAS,GAAG,MAAM;MACxB,MAAM4C,MAAM,GAAGpD,OAAO,CAACI,MAAM;MAC7B,IAAIgD,MAAM,EAAE;QACV,MAAMC,KAAK,GAAGD,MAAM,CAACC,KAAgB;QACrC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;UAC7BxC,KAAK,CAAC+B,GAAG,CAACT,MAAM,CAACiB,MAAM,CAACZ,GAAG,CAAC,EAAEa,KAAK,CAAC;QACtC;QACAD,MAAM,CAACE,QAAQ,CAAC,CAAC;MACnB;IACF,CAAC;IAEDP,EAAE,CAACQ,UAAU,GAAG,MAAM3D,OAAO,CAAC,CAAC;IAC/BmD,EAAE,CAACtC,OAAO,GAAG,MACXZ,MAAM,CAACkD,EAAE,CAACrC,KAAK,IAAI,IAAIX,KAAK,CAAC,mCAAmC,CAAC,CAAC;EACtE,CAAC,CAAC;EAEF,SAASyD,UAAUA,CAACT,EAAkB,EAAQ;IAC5C,MAAMU,OAAO,GAAG,IAAI9D,OAAO,CAAQC,OAAO,IAAK;MAC7CmD,EAAE,CAACQ,UAAU,GAAG,MAAM3D,OAAO,CAAC,CAAC;MAC/BmD,EAAE,CAACtC,OAAO,GAAG,MAAM;QACjBwB,gBAAgB,CACdc,EAAE,CAACrC,KAAK,IAAI,IAAIX,KAAK,CAAC,0CAA0C,CAClE,CAAC;QACDH,OAAO,CAAC,CAAC;MACX,CAAC;MACDmD,EAAE,CAACW,OAAO,GAAG,MAAM;QACjBzB,gBAAgB,CACdc,EAAE,CAACrC,KAAK,IAAI,IAAIX,KAAK,CAAC,oCAAoC,CAC5D,CAAC;QACDH,OAAO,CAAC,CAAC;MACX,CAAC;IACH,CAAC,CAAC;IACFmB,aAAa,CAAC4C,GAAG,CAACF,OAAO,CAAC;IAC1B,KAAKA,OAAO,CAACG,OAAO,CAAC,MAAM;MACzB7C,aAAa,CAAC4B,MAAM,CAACc,OAAO,CAAC;IAC/B,CAAC,CAAC;EACJ;;EAEA;AACF;EACE,SAASI,UAAUA,CAACrB,GAAW,EAAEa,KAAa,EAAQ;IACpD,IAAI;MACF,MAAMN,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,WAAW,CAAC;MACjDqD,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC,CAACoE,GAAG,CAACT,KAAK,EAAEb,GAAG,CAAC;MACzCgB,UAAU,CAACT,EAAE,CAAC;IAChB,CAAC,CAAC,MAAM;MACNd,gBAAgB,CACd,IAAIlC,KAAK,CAAC,wCAAwCyC,GAAG,IAAI,CAC3D,CAAC;IACH;EACF;EAEA,SAASuB,aAAaA,CAACvB,GAAW,EAAQ;IACxC,IAAI;MACF,MAAMO,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,WAAW,CAAC;MACjDqD,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC,CAACiD,MAAM,CAACH,GAAG,CAAC;MACrCgB,UAAU,CAACT,EAAE,CAAC;IAChB,CAAC,CAAC,MAAM;MACNd,gBAAgB,CACd,IAAIlC,KAAK,CAAC,yCAAyCyC,GAAG,IAAI,CAC5D,CAAC;IACH;EACF;EAEA,SAASwB,YAAYA,CAAA,EAAS;IAC5B,IAAI;MACF,MAAMjB,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,WAAW,CAAC;MACjDqD,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC,CAAC+C,KAAK,CAAC,CAAC;MACjCe,UAAU,CAACT,EAAE,CAAC;IAChB,CAAC,CAAC,MAAM;MACNd,gBAAgB,CAAC,IAAIlC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACjE;EACF;EAEA,MAAMkE,OAAgC,GAAG;IACvCC,IAAI,EAAE,aAAazE,MAAM,IAAIC,SAAS,EAAE;IACxCyE,OAAOA,CAAC3B,GAAW,EAAiB;MAClCZ,UAAU,CAAC,CAAC;MACZ,OAAOf,KAAK,CAACuD,GAAG,CAAC5B,GAAG,CAAC,IAAI,IAAI;IAC/B,CAAC;IAED6B,OAAOA,CAAC7B,GAAW,EAAEa,KAAa,EAAQ;MACxCzB,UAAU,CAAC,CAAC;MACZf,KAAK,CAAC+B,GAAG,CAACJ,GAAG,EAAEa,KAAK,CAAC;MACrBQ,UAAU,CAACrB,GAAG,EAAEa,KAAK,CAAC;MACtBR,OAAO,CAAC;QAAEL,GAAG;QAAEE,QAAQ,EAAEW;MAAM,CAAC,CAAC;IACnC,CAAC;IAEDiB,UAAUA,CAAC9B,GAAW,EAAQ;MAC5BZ,UAAU,CAAC,CAAC;MACZf,KAAK,CAAC8B,MAAM,CAACH,GAAG,CAAC;MACjBuB,aAAa,CAACvB,GAAG,CAAC;MAClBK,OAAO,CAAC;QAAEL,GAAG;QAAEE,QAAQ,EAAE;MAAK,CAAC,CAAC;IAClC,CAAC;IAEDD,KAAKA,CAAA,EAAS;MACZb,UAAU,CAAC,CAAC;MACZf,KAAK,CAAC4B,KAAK,CAAC,CAAC;MACbuB,YAAY,CAAC,CAAC;MACdnB,OAAO,CAAC;QAAEL,GAAG,EAAE,IAAI;QAAEE,QAAQ,EAAE;MAAK,CAAC,CAAC;IACxC,CAAC;IAED6B,UAAUA,CAAA,EAAa;MACrB3C,UAAU,CAAC,CAAC;MACZ,OAAO4C,KAAK,CAACC,IAAI,CAAC5D,KAAK,CAAC6D,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;IACDC,OAAOA,CAACD,IAAc,EAAqB;MACzC9C,UAAU,CAAC,CAAC;MACZ,OAAO8C,IAAI,CAACE,GAAG,CAAEpC,GAAG,IAAK3B,KAAK,CAACuD,GAAG,CAAC5B,GAAG,CAAC,IAAI,IAAI,CAAC;IAClD,CAAC;IACDqC,OAAOA,CAACC,OAAO,EAAQ;MACrBlD,UAAU,CAAC,CAAC;MACZkD,OAAO,CAAC/C,OAAO,CAAC,CAAC,CAACS,GAAG,EAAEa,KAAK,CAAC,KAAK;QAChCxC,KAAK,CAAC+B,GAAG,CAACJ,GAAG,EAAEa,KAAK,CAAC;MACvB,CAAC,CAAC;MACF,IAAI;QACF,MAAMN,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,WAAW,CAAC;QACjD,MAAMuD,KAAK,GAAGF,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC;QACvCoF,OAAO,CAAC/C,OAAO,CAAC,CAAC,CAACS,GAAG,EAAEa,KAAK,CAAC,KAAK;UAChCJ,KAAK,CAACa,GAAG,CAACT,KAAK,EAAEb,GAAG,CAAC;UACrBK,OAAO,CAAC;YAAEL,GAAG;YAAEE,QAAQ,EAAEW;UAAM,CAAC,CAAC;QACnC,CAAC,CAAC;QACFG,UAAU,CAACT,EAAE,CAAC;MAChB,CAAC,CAAC,MAAM;QACNd,gBAAgB,CAAC,IAAIlC,KAAK,CAAC,wCAAwC,CAAC,CAAC;MACvE;IACF,CAAC;IACDgF,UAAUA,CAACL,IAAc,EAAQ;MAC/B9C,UAAU,CAAC,CAAC;MACZ8C,IAAI,CAAC3C,OAAO,CAAES,GAAG,IAAK;QACpB3B,KAAK,CAAC8B,MAAM,CAACH,GAAG,CAAC;MACnB,CAAC,CAAC;MACF,IAAI;QACF,MAAMO,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,WAAW,CAAC;QACjD,MAAMuD,KAAK,GAAGF,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC;QACvCgF,IAAI,CAAC3C,OAAO,CAAES,GAAG,IAAK;UACpBS,KAAK,CAACN,MAAM,CAACH,GAAG,CAAC;UACjBK,OAAO,CAAC;YAAEL,GAAG;YAAEE,QAAQ,EAAE;UAAK,CAAC,CAAC;QAClC,CAAC,CAAC;QACFc,UAAU,CAACT,EAAE,CAAC;MAChB,CAAC,CAAC,MAAM;QACNd,gBAAgB,CAAC,IAAIlC,KAAK,CAAC,yCAAyC,CAAC,CAAC;MACxE;IACF,CAAC;IACDiF,IAAIA,CAAA,EAAW;MACbpD,UAAU,CAAC,CAAC;MACZ,OAAOf,KAAK,CAACmE,IAAI;IACnB,CAAC;IACDC,SAASA,CAACC,QAAQ,EAAc;MAC9BtD,UAAU,CAAC,CAAC;MACZV,WAAW,CAACyC,GAAG,CAACuB,QAAQ,CAAC;MACzB,OAAO,MAAM;QACXhE,WAAW,CAACyB,MAAM,CAACuC,QAAQ,CAAC;MAC9B,CAAC;IACH,CAAC;IACD,MAAMC,KAAKA,CAAA,EAAkB;MAC3B,MAAMxF,OAAO,CAACyF,GAAG,CAACZ,KAAK,CAACC,IAAI,CAAC1D,aAAa,CAAC,CAAC;MAC5C,IAAIE,aAAa,CAACoE,MAAM,KAAK,CAAC,EAAE;QAC9B;MACF;MAEA,MAAM,CAAC3E,KAAK,CAAC,GAAGO,aAAa,CAACqE,MAAM,CAAC,CAAC,CAAC;MACvC,MAAM5E,KAAK;IACb,CAAC;IACD6E,KAAKA,CAAA,EAAS;MACZ,IAAIpE,MAAM,EAAE;QACV;MACF;MACAA,MAAM,GAAG,IAAI;MACbD,WAAW,CAACuB,KAAK,CAAC,CAAC;MACnBf,OAAO,EAAE6D,KAAK,CAAC,CAAC;MAChBpF,EAAE,CAACoF,KAAK,CAAC,CAAC;IACZ;EACF,CAAC;EAED,OAAOtB,OAAO;AAChB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useSyncExternalStore","useStorage","item","value","subscribe","get","set","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage"],"sourceRoot":"../../src","sources":["storage-hooks.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["useRef","useSyncExternalStore","useStorage","item","value","subscribe","get","set","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage"],"sourceRoot":"../../src","sources":["storage-hooks.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,OAAO;AAUpD,OAAO,SAASC,UAAUA,CAAIC,IAAwB,EAAyB;EAC7E,MAAMC,KAAK,GAAGH,oBAAoB,CAACE,IAAI,CAACE,SAAS,EAAEF,IAAI,CAACG,GAAG,EAAEH,IAAI,CAACG,GAAG,CAAC;EACtE,OAAO,CAACF,KAAK,EAAED,IAAI,CAACI,GAAG,CAAC;AAC1B;AAEA,OAAO,SAASC,kBAAkBA,CAChCL,IAAwB,EACxBM,QAAiC,EACjCC,OAAsD,GAAGC,MAAM,CAACC,EAAE,EACnC;EAC/B,MAAMC,WAAW,GAAGb,MAAM,CAExB;IACAc,QAAQ,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;IAChC,MAAMC,YAAY,GAAGP,QAAQ,CAACN,IAAI,CAACG,GAAG,CAAC,CAAC,CAAC;IACzC,MAAMW,OAAO,GAAGJ,WAAW,CAACI,OAAO;IACnC,IAAIA,OAAO,CAACH,QAAQ,IAAIJ,OAAO,CAACO,OAAO,CAACb,KAAK,EAAEY,YAAY,CAAC,EAAE;MAC5D,OAAOC,OAAO,CAACb,KAAK;IACtB;IAEAS,WAAW,CAACI,OAAO,GAAG;MAAEH,QAAQ,EAAE,IAAI;MAAEV,KAAK,EAAEY;IAAa,CAAC;IAC7D,OAAOA,YAAY;EACrB,CAAC;EAED,MAAME,aAAa,GAAGjB,oBAAoB,CACxCE,IAAI,CAACE,SAAS,EACdU,mBAAmB,EACnBA,mBACF,CAAC;EACD,OAAO,CAACG,aAAa,EAAEf,IAAI,CAACI,GAAG,CAAC;AAClC;AAEA,OAAO,SAASY,aAAaA,CAAIhB,IAAwB,EAAoB;EAC3E,OAAOA,IAAI,CAACI,GAAG;AACjB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getResolvedStorage","resolveStorage","globalThis","localStorage","undefined","createLocalStorageWebBackend","options","includeKey","listKeys","storage","keys","index","length","key","push","name","getItem","setItem","value","removeItem","clear","forEach","getAllKeys","getMany","map","setMany","entries","removeMany","size"],"sourceRoot":"../../src","sources":["web-storage-backend.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["getResolvedStorage","resolveStorage","globalThis","localStorage","undefined","createLocalStorageWebBackend","options","includeKey","listKeys","storage","keys","index","length","key","push","name","getItem","setItem","value","removeItem","clear","forEach","getAllKeys","getMany","map","setMany","entries","removeMany","size"],"sourceRoot":"../../src","sources":["web-storage-backend.ts"],"mappings":"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","ignoreList":[]}
|