react-native-nitro-storage 0.4.1 → 0.4.3

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.
@@ -31,6 +31,7 @@ exports.createSecureAuthStorage = createSecureAuthStorage;
31
31
  exports.createStorageItem = createStorageItem;
32
32
  exports.getBatch = getBatch;
33
33
  exports.getWebSecureStorageBackend = getWebSecureStorageBackend;
34
+ exports.isKeychainLockedError = isKeychainLockedError;
34
35
  Object.defineProperty(exports, "migrateFromMMKV", {
35
36
  enumerable: true,
36
37
  get: function () {
@@ -88,10 +89,12 @@ const webScopeKeyIndex = new Map([[_Storage.StorageScope.Disk, new Set()], [_Sto
88
89
  const hydratedWebScopeKeyIndex = new Set();
89
90
  const pendingSecureWrites = new Map();
90
91
  let secureFlushScheduled = false;
92
+ let secureDefaultAccessControl = _Storage.AccessControl.WhenUnlocked;
91
93
  const SECURE_WEB_PREFIX = "__secure_";
92
94
  const BIOMETRIC_WEB_PREFIX = "__bio_";
93
95
  let hasWarnedAboutWebBiometricFallback = false;
94
96
  let hasWebStorageEventSubscription = false;
97
+ let webStorageSubscriberCount = 0;
95
98
  let metricsObserver;
96
99
  const metricsCounters = new Map();
97
100
  function recordMetric(operation, scope, durationMs, keysCount = 1) {
@@ -115,6 +118,9 @@ function recordMetric(operation, scope, durationMs, keysCount = 1) {
115
118
  });
116
119
  }
117
120
  function measureOperation(operation, scope, fn, keysCount = 1) {
121
+ if (!metricsObserver) {
122
+ return fn();
123
+ }
118
124
  const start = Date.now();
119
125
  try {
120
126
  return fn();
@@ -143,6 +149,8 @@ function createLocalStorageWebSecureBackend() {
143
149
  };
144
150
  }
145
151
  let webSecureStorageBackend = createLocalStorageWebSecureBackend();
152
+ let cachedSecureBrowserStorage;
153
+ let cachedSecureBackendRef;
146
154
  function getBrowserStorage(scope) {
147
155
  if (scope === _Storage.StorageScope.Disk) {
148
156
  return globalThis.localStorage;
@@ -151,16 +159,21 @@ function getBrowserStorage(scope) {
151
159
  if (!webSecureStorageBackend) {
152
160
  return undefined;
153
161
  }
154
- return {
155
- setItem: (key, value) => webSecureStorageBackend?.setItem(key, value),
156
- getItem: key => webSecureStorageBackend?.getItem(key) ?? null,
157
- removeItem: key => webSecureStorageBackend?.removeItem(key),
158
- clear: () => webSecureStorageBackend?.clear(),
159
- key: index => webSecureStorageBackend?.getAllKeys()[index] ?? null,
162
+ if (cachedSecureBackendRef === webSecureStorageBackend && cachedSecureBrowserStorage) {
163
+ return cachedSecureBrowserStorage;
164
+ }
165
+ cachedSecureBackendRef = webSecureStorageBackend;
166
+ cachedSecureBrowserStorage = {
167
+ setItem: (key, value) => webSecureStorageBackend.setItem(key, value),
168
+ getItem: key => webSecureStorageBackend.getItem(key) ?? null,
169
+ removeItem: key => webSecureStorageBackend.removeItem(key),
170
+ clear: () => webSecureStorageBackend.clear(),
171
+ key: index => webSecureStorageBackend.getAllKeys()[index] ?? null,
160
172
  get length() {
161
- return webSecureStorageBackend?.getAllKeys().length ?? 0;
173
+ return webSecureStorageBackend.getAllKeys().length;
162
174
  }
163
175
  };
176
+ return cachedSecureBrowserStorage;
164
177
  }
165
178
  return undefined;
166
179
  }
@@ -260,14 +273,18 @@ function handleWebStorageEvent(event) {
260
273
  notifyKeyListeners(getScopedListeners(_Storage.StorageScope.Disk), key);
261
274
  }
262
275
  function ensureWebStorageEventSubscription() {
263
- if (hasWebStorageEventSubscription) {
264
- return;
276
+ webStorageSubscriberCount += 1;
277
+ if (webStorageSubscriberCount === 1 && typeof window !== "undefined" && typeof window.addEventListener === "function") {
278
+ window.addEventListener("storage", handleWebStorageEvent);
279
+ hasWebStorageEventSubscription = true;
265
280
  }
266
- if (typeof window === "undefined" || typeof window.addEventListener !== "function") {
267
- return;
281
+ }
282
+ function maybeCleanupWebStorageSubscription() {
283
+ webStorageSubscriberCount = Math.max(0, webStorageSubscriberCount - 1);
284
+ if (webStorageSubscriberCount === 0 && hasWebStorageEventSubscription && typeof window !== "undefined") {
285
+ window.removeEventListener("storage", handleWebStorageEvent);
286
+ hasWebStorageEventSubscription = false;
268
287
  }
269
- window.addEventListener("storage", handleWebStorageEvent);
270
- hasWebStorageEventSubscription = true;
271
288
  }
272
289
  function getScopedListeners(scope) {
273
290
  return webScopeListeners.get(scope);
@@ -288,12 +305,19 @@ function clearScopeRawCache(scope) {
288
305
  getScopeRawCache(scope).clear();
289
306
  }
290
307
  function notifyKeyListeners(registry, key) {
291
- registry.get(key)?.forEach(listener => listener());
308
+ const listeners = registry.get(key);
309
+ if (listeners) {
310
+ for (const listener of listeners) {
311
+ listener();
312
+ }
313
+ }
292
314
  }
293
315
  function notifyAllListeners(registry) {
294
- registry.forEach(listeners => {
295
- listeners.forEach(listener => listener());
296
- });
316
+ for (const listeners of registry.values()) {
317
+ for (const listener of listeners) {
318
+ listener();
319
+ }
320
+ }
297
321
  }
298
322
  function addKeyListener(registry, key, listener) {
299
323
  let listeners = registry.get(key);
@@ -339,7 +363,7 @@ function flushSecureWrites() {
339
363
  if (value === undefined) {
340
364
  keysToRemove.push(key);
341
365
  } else {
342
- const resolvedAccessControl = accessControl ?? _Storage.AccessControl.WhenUnlocked;
366
+ const resolvedAccessControl = accessControl ?? secureDefaultAccessControl;
343
367
  const existingGroup = groupedSetWrites.get(resolvedAccessControl);
344
368
  const group = existingGroup ?? {
345
369
  keys: [],
@@ -672,7 +696,12 @@ const storage = exports.storage = {
672
696
  if (scope === _Storage.StorageScope.Secure) {
673
697
  flushSecureWrites();
674
698
  }
675
- clearScopeRawCache(scope);
699
+ const scopeCache = getScopeRawCache(scope);
700
+ for (const key of scopeCache.keys()) {
701
+ if ((0, _internal.isNamespaced)(key, namespace)) {
702
+ scopeCache.delete(key);
703
+ }
704
+ }
676
705
  WebStorage.removeByPrefix(keyPrefix, scope);
677
706
  });
678
707
  },
@@ -741,9 +770,13 @@ const storage = exports.storage = {
741
770
  return result;
742
771
  }
743
772
  const keys = WebStorage.getAllKeys(scope);
744
- keys.forEach(key => {
745
- const val = WebStorage.get(key, scope);
746
- if (val !== undefined) result[key] = val;
773
+ if (keys.length === 0) return {};
774
+ const values = WebStorage.getBatch(keys, scope);
775
+ keys.forEach((key, index) => {
776
+ const val = values[index];
777
+ if (val !== undefined && val !== null) {
778
+ result[key] = val;
779
+ }
747
780
  });
748
781
  return result;
749
782
  });
@@ -755,7 +788,8 @@ const storage = exports.storage = {
755
788
  return WebStorage.size(scope);
756
789
  });
757
790
  },
758
- setAccessControl: _level => {
791
+ setAccessControl: level => {
792
+ secureDefaultAccessControl = level;
759
793
  recordMetric("storage:setAccessControl", _Storage.StorageScope.Secure, 0);
760
794
  },
761
795
  setSecureWritesAsync: _enabled => {
@@ -787,10 +821,25 @@ const storage = exports.storage = {
787
821
  resetMetrics: () => {
788
822
  metricsCounters.clear();
789
823
  },
824
+ getString: (key, scope) => {
825
+ return measureOperation("storage:getString", scope, () => {
826
+ return getRawValue(key, scope);
827
+ });
828
+ },
829
+ setString: (key, value, scope) => {
830
+ measureOperation("storage:setString", scope, () => {
831
+ setRawValue(key, value, scope);
832
+ });
833
+ },
834
+ deleteString: (key, scope) => {
835
+ measureOperation("storage:deleteString", scope, () => {
836
+ removeRawValue(key, scope);
837
+ });
838
+ },
790
839
  import: (data, scope) => {
840
+ const keys = Object.keys(data);
791
841
  measureOperation("storage:import", scope, () => {
792
842
  (0, _internal.assertValidScope)(scope);
793
- const keys = Object.keys(data);
794
843
  if (keys.length === 0) return;
795
844
  const values = keys.map(k => data[k]);
796
845
  if (scope === _Storage.StorageScope.Memory) {
@@ -800,12 +849,19 @@ const storage = exports.storage = {
800
849
  keys.forEach(key => notifyKeyListeners(memoryListeners, key));
801
850
  return;
802
851
  }
852
+ if (scope === _Storage.StorageScope.Secure) {
853
+ flushSecureWrites();
854
+ WebStorage.setSecureAccessControl(secureDefaultAccessControl);
855
+ }
803
856
  WebStorage.setBatch(keys, values, scope);
804
- }, Object.keys(data).length);
857
+ keys.forEach((key, index) => cacheRawValue(scope, key, values[index]));
858
+ }, keys.length);
805
859
  }
806
860
  };
807
861
  function setWebSecureStorageBackend(backend) {
808
862
  webSecureStorageBackend = backend ?? createLocalStorageWebSecureBackend();
863
+ cachedSecureBrowserStorage = undefined;
864
+ cachedSecureBackendRef = undefined;
809
865
  hydratedWebScopeKeyIndex.delete(_Storage.StorageScope.Secure);
810
866
  clearScopeRawCache(_Storage.StorageScope.Secure);
811
867
  }
@@ -886,12 +942,17 @@ function createStorageItem(config) {
886
942
  }
887
943
  return memoryStore.get(storageKey);
888
944
  }
889
- if (nonMemoryScope === _Storage.StorageScope.Secure && !isBiometric && hasPendingSecureWrite(storageKey)) {
890
- return readPendingSecureWrite(storageKey);
945
+ if (nonMemoryScope === _Storage.StorageScope.Secure && !isBiometric) {
946
+ const pending = pendingSecureWrites.get(storageKey);
947
+ if (pending !== undefined) {
948
+ return pending.value;
949
+ }
891
950
  }
892
951
  if (readCache) {
893
- if (hasCachedRawValue(nonMemoryScope, storageKey)) {
894
- return readCachedRawValue(nonMemoryScope, storageKey);
952
+ const cache = getScopeRawCache(nonMemoryScope);
953
+ const cached = cache.get(storageKey);
954
+ if (cached !== undefined || cache.has(storageKey)) {
955
+ return cached;
895
956
  }
896
957
  }
897
958
  if (isBiometric) {
@@ -908,7 +969,7 @@ function createStorageItem(config) {
908
969
  }
909
970
  cacheRawValue(nonMemoryScope, storageKey, rawValue);
910
971
  if (coalesceSecureWrites) {
911
- scheduleSecureWrite(storageKey, rawValue, secureAccessControl ?? _Storage.AccessControl.WhenUnlocked);
972
+ scheduleSecureWrite(storageKey, rawValue, secureAccessControl ?? secureDefaultAccessControl);
912
973
  return;
913
974
  }
914
975
  if (nonMemoryScope === _Storage.StorageScope.Secure) {
@@ -923,7 +984,7 @@ function createStorageItem(config) {
923
984
  }
924
985
  cacheRawValue(nonMemoryScope, storageKey, undefined);
925
986
  if (coalesceSecureWrites) {
926
- scheduleSecureWrite(storageKey, undefined, secureAccessControl ?? _Storage.AccessControl.WhenUnlocked);
987
+ scheduleSecureWrite(storageKey, undefined, secureAccessControl ?? secureDefaultAccessControl);
927
988
  return;
928
989
  }
929
990
  if (nonMemoryScope === _Storage.StorageScope.Secure) {
@@ -1050,10 +1111,10 @@ function createStorageItem(config) {
1050
1111
  const set = valueOrFn => {
1051
1112
  measureOperation("item:set", config.scope, () => {
1052
1113
  const newValue = isUpdater(valueOrFn) ? valueOrFn(getInternal()) : valueOrFn;
1053
- invalidateParsedCache();
1054
1114
  if (validate && !validate(newValue)) {
1055
1115
  throw new Error(`Validation failed for key "${storageKey}" in scope "${_Storage.StorageScope[config.scope]}".`);
1056
1116
  }
1117
+ invalidateParsedCache();
1057
1118
  writeValueWithoutValidation(newValue);
1058
1119
  });
1059
1120
  };
@@ -1092,6 +1153,9 @@ function createStorageItem(config) {
1092
1153
  if (listeners.size === 0 && unsubscribe) {
1093
1154
  unsubscribe();
1094
1155
  unsubscribe = null;
1156
+ if (!isMemory) {
1157
+ maybeCleanupWebStorageSubscription();
1158
+ }
1095
1159
  }
1096
1160
  };
1097
1161
  };
@@ -1140,14 +1204,17 @@ function getBatch(items, scope) {
1140
1204
  const keyIndexes = [];
1141
1205
  items.forEach((item, index) => {
1142
1206
  if (scope === _Storage.StorageScope.Secure) {
1143
- if (hasPendingSecureWrite(item.key)) {
1144
- rawValues[index] = readPendingSecureWrite(item.key);
1207
+ const pending = pendingSecureWrites.get(item.key);
1208
+ if (pending !== undefined) {
1209
+ rawValues[index] = pending.value;
1145
1210
  return;
1146
1211
  }
1147
1212
  }
1148
1213
  if (item._readCacheEnabled === true) {
1149
- if (hasCachedRawValue(scope, item.key)) {
1150
- rawValues[index] = readCachedRawValue(scope, item.key);
1214
+ const cache = getScopeRawCache(scope);
1215
+ const cached = cache.get(item.key);
1216
+ if (cached !== undefined || cache.has(item.key)) {
1217
+ rawValues[index] = cached;
1151
1218
  return;
1152
1219
  }
1153
1220
  }
@@ -1233,7 +1300,7 @@ function setBatch(items, scope) {
1233
1300
  value,
1234
1301
  internal
1235
1302
  }) => {
1236
- const accessControl = internal._secureAccessControl ?? _Storage.AccessControl.WhenUnlocked;
1303
+ const accessControl = internal._secureAccessControl ?? secureDefaultAccessControl;
1237
1304
  const existingGroup = groupedByAccessControl.get(accessControl);
1238
1305
  const group = existingGroup ?? {
1239
1306
  keys: [],
@@ -1310,9 +1377,11 @@ function migrateToLatest(scope = _Storage.StorageScope.Disk) {
1310
1377
  return;
1311
1378
  }
1312
1379
  migration(context);
1313
- writeMigrationVersion(scope, version);
1314
1380
  appliedVersion = version;
1315
1381
  });
1382
+ if (appliedVersion !== currentVersion) {
1383
+ writeMigrationVersion(scope, appliedVersion);
1384
+ }
1316
1385
  return appliedVersion;
1317
1386
  });
1318
1387
  }
@@ -1322,12 +1391,17 @@ function runTransaction(scope, transaction) {
1322
1391
  if (scope === _Storage.StorageScope.Secure) {
1323
1392
  flushSecureWrites();
1324
1393
  }
1394
+ const NOT_SET = Symbol();
1325
1395
  const rollback = new Map();
1326
1396
  const rememberRollback = key => {
1327
1397
  if (rollback.has(key)) {
1328
1398
  return;
1329
1399
  }
1330
- rollback.set(key, getRawValue(key, scope));
1400
+ if (scope === _Storage.StorageScope.Memory) {
1401
+ rollback.set(key, memoryStore.has(key) ? memoryStore.get(key) : NOT_SET);
1402
+ } else {
1403
+ rollback.set(key, getRawValue(key, scope));
1404
+ }
1331
1405
  };
1332
1406
  const tx = {
1333
1407
  scope,
@@ -1361,11 +1435,12 @@ function runTransaction(scope, transaction) {
1361
1435
  const rollbackEntries = Array.from(rollback.entries()).reverse();
1362
1436
  if (scope === _Storage.StorageScope.Memory) {
1363
1437
  rollbackEntries.forEach(([key, previousValue]) => {
1364
- if (previousValue === undefined) {
1365
- removeRawValue(key, scope);
1438
+ if (previousValue === NOT_SET) {
1439
+ memoryStore.delete(key);
1366
1440
  } else {
1367
- setRawValue(key, previousValue, scope);
1441
+ memoryStore.set(key, previousValue);
1368
1442
  }
1443
+ notifyKeyListeners(memoryListeners, key);
1369
1444
  });
1370
1445
  } else {
1371
1446
  const keysToSet = [];
@@ -1424,4 +1499,7 @@ function createSecureAuthStorage(config, options) {
1424
1499
  }
1425
1500
  return result;
1426
1501
  }
1502
+ function isKeychainLockedError(_err) {
1503
+ return false;
1504
+ }
1427
1505
  //# sourceMappingURL=index.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_Storage","require","_internal","_migration","_storageHooks","_indexeddbBackend","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","StorageScope","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingSecureWrites","secureFlushScheduled","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWebStorageEventSubscription","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","Date","now","createLocalStorageWebSecureBackend","getItem","key","globalThis","localStorage","setItem","value","removeItem","clear","getAllKeys","storage","index","length","push","webSecureStorageBackend","getBrowserStorage","undefined","toSecureStorageKey","fromSecureStorageKey","slice","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","startsWith","add","ensureWebScopeKeyIndex","handleWebStorageEvent","event","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","newValue","delete","cacheRawValue","notifyKeyListeners","ensureWebStorageEventSubscription","window","addEventListener","getScopeRawCache","readCachedRawValue","hasCachedRawValue","registry","forEach","listener","listeners","addKeyListener","scopedListeners","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","groupedSetWrites","keysToRemove","accessControl","resolvedAccessControl","AccessControl","WhenUnlocked","existingGroup","group","WebStorage","setSecureAccessControl","setBatch","removeBatch","scheduleSecureWrite","pendingWrite","name","equals","other","dispose","storageKey","remove","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometricLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","k","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","exports","clearAll","clearNamespace","namespace","isNamespaced","keyPrefix","prefixKey","clearBiometric","getByPrefix","result","getAll","val","setAccessControl","_group","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","import","data","setWebSecureStorageBackend","backend","getWebSecureStorageBackend","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","items","assertBatchScope","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","rollbackEntries","entries","reverse","previousValue","keysToSet","valuesToSet","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_Storage","require","_internal","_migration","_storageHooks","_indexeddbBackend","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","StorageScope","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","WhenUnlocked","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWebStorageEventSubscription","webStorageSubscriberCount","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","Date","now","createLocalStorageWebSecureBackend","getItem","key","globalThis","localStorage","setItem","value","removeItem","clear","getAllKeys","storage","index","length","push","webSecureStorageBackend","cachedSecureBrowserStorage","cachedSecureBackendRef","getBrowserStorage","undefined","toSecureStorageKey","fromSecureStorageKey","slice","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","startsWith","add","ensureWebScopeKeyIndex","handleWebStorageEvent","event","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","newValue","delete","cacheRawValue","notifyKeyListeners","ensureWebStorageEventSubscription","window","addEventListener","maybeCleanupWebStorageSubscription","removeEventListener","getScopeRawCache","readCachedRawValue","hasCachedRawValue","registry","listeners","listener","values","addKeyListener","scopedListeners","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","groupedSetWrites","keysToRemove","forEach","accessControl","resolvedAccessControl","existingGroup","group","WebStorage","setSecureAccessControl","setBatch","removeBatch","scheduleSecureWrite","pendingWrite","name","equals","other","dispose","storageKey","remove","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometricLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","k","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","exports","clearAll","clearNamespace","namespace","isNamespaced","keyPrefix","prefixKey","scopeCache","clearBiometric","getByPrefix","result","getAll","val","setAccessControl","level","_group","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getString","setString","deleteString","import","data","setWebSecureStorageBackend","backend","getWebSecureStorageBackend","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","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","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","NOT_SET","Symbol","rollback","rememberRollback","tx","error","rollbackEntries","entries","reverse","previousValue","keysToSet","valuesToSet","createSecureAuthStorage","options","ns","itemConfig","expirationConfig","isKeychainLockedError","_err"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}