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.
Files changed (40) hide show
  1. package/README.md +90 -7
  2. package/android/build.gradle +5 -5
  3. package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +12 -25
  4. package/app.plugin.js +114 -9
  5. package/docs/api-reference.md +39 -36
  6. package/docs/batch-transactions-migrations.md +1 -1
  7. package/docs/recipes.md +1 -1
  8. package/docs/secure-storage.md +15 -4
  9. package/docs/web-backends.md +5 -0
  10. package/lib/commonjs/index.js +49 -9
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/index.web.js +71 -11
  13. package/lib/commonjs/index.web.js.map +1 -1
  14. package/lib/commonjs/indexeddb-backend.js +28 -0
  15. package/lib/commonjs/indexeddb-backend.js.map +1 -1
  16. package/lib/commonjs/storage-hooks.js.map +1 -1
  17. package/lib/commonjs/web-storage-backend.js.map +1 -1
  18. package/lib/module/index.js +49 -9
  19. package/lib/module/index.js.map +1 -1
  20. package/lib/module/index.web.js +71 -11
  21. package/lib/module/index.web.js.map +1 -1
  22. package/lib/module/indexeddb-backend.js +28 -0
  23. package/lib/module/indexeddb-backend.js.map +1 -1
  24. package/lib/module/storage-hooks.js.map +1 -1
  25. package/lib/module/web-storage-backend.js.map +1 -1
  26. package/lib/typescript/index.d.ts +21 -9
  27. package/lib/typescript/index.d.ts.map +1 -1
  28. package/lib/typescript/index.web.d.ts +10 -3
  29. package/lib/typescript/index.web.d.ts.map +1 -1
  30. package/lib/typescript/indexeddb-backend.d.ts.map +1 -1
  31. package/lib/typescript/storage-hooks.d.ts +5 -4
  32. package/lib/typescript/storage-hooks.d.ts.map +1 -1
  33. package/lib/typescript/web-storage-backend.d.ts +1 -0
  34. package/lib/typescript/web-storage-backend.d.ts.map +1 -1
  35. package/package.json +4 -4
  36. package/src/index.ts +96 -19
  37. package/src/index.web.ts +107 -11
  38. package/src/indexeddb-backend.ts +30 -0
  39. package/src/storage-hooks.ts +6 -6
  40. package/src/web-storage-backend.ts +1 -0
@@ -126,6 +126,7 @@ let hasWarnedAboutWebBiometricFallback = false;
126
126
  let hasWindowStorageEventSubscription = false;
127
127
  let metricsObserver;
128
128
  let eventObserver;
129
+ let eventObserverRedactSecureValues = true;
129
130
  const metricsCounters = new Map();
130
131
  const storageEvents = new _storageEvents.StorageEventRegistry();
131
132
  function recordMetric(operation, scope, durationMs, keysCount = 1) {
@@ -321,6 +322,16 @@ function resetBackendChangeSubscription(scope) {
321
322
  externalSyncUnsubscribers.get(scope)?.();
322
323
  externalSyncUnsubscribers.delete(scope);
323
324
  }
325
+ function closeWebBackend(scope, backend) {
326
+ if (!backend?.close) {
327
+ return;
328
+ }
329
+ try {
330
+ backend.close();
331
+ } catch (error) {
332
+ throw createWebStorageError(scope, "close", error, backend);
333
+ }
334
+ }
324
335
  function ensureExternalSyncSubscriptions() {
325
336
  if (!hasWindowStorageEventSubscription && typeof window !== "undefined" && typeof window.addEventListener === "function") {
326
337
  window.addEventListener("storage", handleWebStorageEvent);
@@ -401,10 +412,42 @@ function createKeyChange(scope, key, oldValue, newValue, operation, source) {
401
412
  function hasStorageChangeObservers(scope) {
402
413
  return storageEvents.hasListeners(scope) || eventObserver !== undefined;
403
414
  }
415
+ function shouldReadPreviousEventValues(scope) {
416
+ if (storageEvents.hasListeners(scope)) {
417
+ return true;
418
+ }
419
+ if (!eventObserver) {
420
+ return false;
421
+ }
422
+ return scope !== _Storage.StorageScope.Secure || !eventObserverRedactSecureValues;
423
+ }
424
+ const SECURE_EVENT_REDACTED_VALUE = "[secure]";
425
+ function redactSecureKeyChange(event) {
426
+ if (event.scope !== _Storage.StorageScope.Secure) {
427
+ return event;
428
+ }
429
+ return {
430
+ ...event,
431
+ oldValue: event.oldValue === undefined ? undefined : SECURE_EVENT_REDACTED_VALUE,
432
+ newValue: event.newValue === undefined ? undefined : SECURE_EVENT_REDACTED_VALUE
433
+ };
434
+ }
435
+ function eventForGlobalObserver(event) {
436
+ if (!eventObserverRedactSecureValues || event.scope !== _Storage.StorageScope.Secure) {
437
+ return event;
438
+ }
439
+ if (event.type === "key") {
440
+ return redactSecureKeyChange(event);
441
+ }
442
+ return {
443
+ ...event,
444
+ changes: event.changes.map(redactSecureKeyChange)
445
+ };
446
+ }
404
447
  function emitKeyChange(scope, key, oldValue, newValue, operation, source) {
405
448
  const event = createKeyChange(scope, key, oldValue, newValue, operation, source);
406
449
  storageEvents.emitKey(event);
407
- eventObserver?.(event);
450
+ eventObserver?.(eventForGlobalObserver(event));
408
451
  }
409
452
  function emitBatchChange(scope, operation, source, changes) {
410
453
  if (changes.length === 0) {
@@ -418,7 +461,7 @@ function emitBatchChange(scope, operation, source, changes) {
418
461
  changes
419
462
  };
420
463
  storageEvents.emitBatch(event);
421
- eventObserver?.(event);
464
+ eventObserver?.(eventForGlobalObserver(event));
422
465
  }
423
466
  function readPendingSecureWrite(key) {
424
467
  return pendingSecureWrites.get(key)?.value;
@@ -866,15 +909,16 @@ const storage = exports.storage = {
866
909
  subscribeNamespace: (namespace, scope, listener) => {
867
910
  return storage.subscribePrefix(scope, (0, _internal.prefixKey)(namespace, ""), listener);
868
911
  },
869
- setEventObserver: observer => {
912
+ setEventObserver: (observer, options = {}) => {
870
913
  eventObserver = observer;
914
+ eventObserverRedactSecureValues = options.redactSecureValues !== false;
871
915
  if (observer) {
872
916
  ensureExternalSyncSubscriptions();
873
917
  }
874
918
  },
875
919
  clear: scope => {
876
920
  measureOperation("storage:clear", scope, () => {
877
- const previousValues = hasStorageChangeObservers(scope) ? storage.getAll(scope) : {};
921
+ const previousValues = shouldReadPreviousEventValues(scope) ? storage.getAll(scope) : {};
878
922
  if (scope === _Storage.StorageScope.Memory) {
879
923
  memoryStore.clear();
880
924
  notifyAllListeners(memoryListeners);
@@ -924,7 +968,7 @@ const storage = exports.storage = {
924
968
  return;
925
969
  }
926
970
  const keyPrefix = (0, _internal.prefixKey)(namespace, "");
927
- const previousValues = hasStorageChangeObservers(scope) ? storage.getByPrefix(keyPrefix, scope) : {};
971
+ const previousValues = shouldReadPreviousEventValues(scope) ? storage.getByPrefix(keyPrefix, scope) : {};
928
972
  if (scope === _Storage.StorageScope.Disk) {
929
973
  flushDiskWrites();
930
974
  }
@@ -1047,9 +1091,15 @@ const storage = exports.storage = {
1047
1091
  return result;
1048
1092
  });
1049
1093
  },
1050
- export: scope => {
1094
+ export: (scope, options = {}) => {
1095
+ if (scope === _Storage.StorageScope.Secure && options.includeSecureValues !== true) {
1096
+ throw new Error("NitroStorage: exporting Secure scope exposes raw secret values. Pass { includeSecureValues: true } or use exportSecureUnsafe().");
1097
+ }
1051
1098
  return measureOperation("storage:export", scope, () => storage.getAll(scope));
1052
1099
  },
1100
+ exportSecureUnsafe: () => {
1101
+ return measureOperation("storage:exportSecureUnsafe", _Storage.StorageScope.Secure, () => storage.getAll(_Storage.StorageScope.Secure));
1102
+ },
1053
1103
  size: scope => {
1054
1104
  return measureOperation("storage:size", scope, () => {
1055
1105
  (0, _internal.assertValidScope)(scope);
@@ -1217,23 +1267,33 @@ const storage = exports.storage = {
1217
1267
  }
1218
1268
  };
1219
1269
  function setWebSecureStorageBackend(backend) {
1270
+ const previousBackend = webSecureStorageBackend;
1271
+ const nextBackend = backend ?? createDefaultSecureBackend();
1220
1272
  pendingSecureWrites.clear();
1221
- webSecureStorageBackend = backend ?? createDefaultSecureBackend();
1222
1273
  resetBackendChangeSubscription(_Storage.StorageScope.Secure);
1274
+ webSecureStorageBackend = nextBackend;
1223
1275
  hydratedWebScopeKeyIndex.delete(_Storage.StorageScope.Secure);
1224
1276
  clearScopeRawCache(_Storage.StorageScope.Secure);
1225
1277
  ensureExternalSyncSubscriptions();
1278
+ if (previousBackend !== nextBackend) {
1279
+ closeWebBackend(_Storage.StorageScope.Secure, previousBackend);
1280
+ }
1226
1281
  }
1227
1282
  function getWebSecureStorageBackend() {
1228
1283
  return webSecureStorageBackend;
1229
1284
  }
1230
1285
  function setWebDiskStorageBackend(backend) {
1286
+ const previousBackend = webDiskStorageBackend;
1287
+ const nextBackend = backend ?? createDefaultDiskBackend();
1231
1288
  pendingDiskWrites.clear();
1232
- webDiskStorageBackend = backend ?? createDefaultDiskBackend();
1233
1289
  resetBackendChangeSubscription(_Storage.StorageScope.Disk);
1290
+ webDiskStorageBackend = nextBackend;
1234
1291
  hydratedWebScopeKeyIndex.delete(_Storage.StorageScope.Disk);
1235
1292
  clearScopeRawCache(_Storage.StorageScope.Disk);
1236
1293
  ensureExternalSyncSubscriptions();
1294
+ if (previousBackend !== nextBackend) {
1295
+ closeWebBackend(_Storage.StorageScope.Disk, previousBackend);
1296
+ }
1237
1297
  }
1238
1298
  function getWebDiskStorageBackend() {
1239
1299
  return webDiskStorageBackend;
@@ -1761,7 +1821,7 @@ function setBatch(items, scope) {
1761
1821
  const keys = secureEntries.map(({
1762
1822
  item
1763
1823
  }) => item.key);
1764
- const oldValues = hasStorageChangeObservers(scope) ? WebStorage.getBatch(keys, scope) : [];
1824
+ const oldValues = shouldReadPreviousEventValues(scope) ? WebStorage.getBatch(keys, scope) : [];
1765
1825
  const groupedByAccessControl = new Map();
1766
1826
  secureEntries.forEach(({
1767
1827
  item,
@@ -1804,7 +1864,7 @@ function setBatch(items, scope) {
1804
1864
  }
1805
1865
  const keys = items.map(entry => entry.item.key);
1806
1866
  const values = items.map(entry => entry.item.serialize(entry.value));
1807
- const oldValues = hasStorageChangeObservers(scope) ? WebStorage.getBatch(keys, scope) : [];
1867
+ const oldValues = shouldReadPreviousEventValues(scope) ? WebStorage.getBatch(keys, scope) : [];
1808
1868
  WebStorage.setBatch(keys, values, scope);
1809
1869
  keys.forEach((key, index) => cacheRawValue(scope, key, values[index]));
1810
1870
  emitBatchChange(scope, "setBatch", "web", keys.map((key, index) => createKeyChange(scope, key, oldValues[index], values[index], "setBatch", "web")));
@@ -1826,7 +1886,7 @@ function removeBatch(items, scope) {
1826
1886
  if (scope === _Storage.StorageScope.Secure) {
1827
1887
  flushSecureWrites();
1828
1888
  }
1829
- const oldValues = hasStorageChangeObservers(scope) ? WebStorage.getBatch(keys, scope) : [];
1889
+ const oldValues = shouldReadPreviousEventValues(scope) ? WebStorage.getBatch(keys, scope) : [];
1830
1890
  WebStorage.removeBatch(keys, scope);
1831
1891
  keys.forEach(key => cacheRawValue(scope, key, undefined));
1832
1892
  emitBatchChange(scope, "removeBatch", "web", keys.map((key, index) => createKeyChange(scope, key, oldValues[index], undefined, "removeBatch", "web")));
@@ -1 +1 @@
1
- {"version":3,"names":["_Storage","require","_internal","_webStorageBackend","_storageRuntime","_storageEvents","_migration","_storageHooks","_indexeddbBackend","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","StorageScope","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","WhenUnlocked","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWindowStorageEventSubscription","metricsObserver","eventObserver","metricsCounters","storageEvents","StorageEventRegistry","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","measureOperation","fn","start","createDefaultDiskBackend","createLocalStorageWebBackend","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","BiometricLevel","BiometryOnly","None","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","assertValidScope","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","parseInt","writeMigrationVersion","version","storage","exports","subscribeKey","subscribePrefix","subscribeNamespace","namespace","prefixKey","setEventObserver","observer","previousValues","getAll","clearAll","clearNamespace","affectedKeys","isNamespaced","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","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","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","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribeSelector","selector","options","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_biometricLevel","_defaultValue","items","assertBatchScope","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","isLockedStorageErrorCode","getStorageErrorCode"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_Storage","require","_internal","_webStorageBackend","_storageRuntime","_storageEvents","_migration","_storageHooks","_indexeddbBackend","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","StorageScope","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","WhenUnlocked","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWindowStorageEventSubscription","metricsObserver","eventObserver","eventObserverRedactSecureValues","metricsCounters","storageEvents","StorageEventRegistry","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","measureOperation","fn","start","createDefaultDiskBackend","createLocalStorageWebBackend","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","BiometricLevel","BiometryOnly","None","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","assertValidScope","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","parseInt","writeMigrationVersion","version","storage","exports","subscribeKey","subscribePrefix","subscribeNamespace","namespace","prefixKey","setEventObserver","observer","options","redactSecureValues","previousValues","getAll","clearAll","clearNamespace","affectedKeys","isNamespaced","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","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","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","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribeSelector","selector","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_biometricLevel","_defaultValue","items","assertBatchScope","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","isLockedStorageErrorCode","getStorageErrorCode"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}