react-native-nitro-storage 0.5.2 → 0.5.4

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.
@@ -17,6 +17,20 @@ function isUpdater(valueOrFn) {
17
17
  function typedKeys(record) {
18
18
  return Object.keys(record);
19
19
  }
20
+ function assertEnumInteger(value, min, max, label) {
21
+ if (!Number.isFinite(value) || value < min || value > max) {
22
+ throw new Error(`NitroStorage: Invalid ${label}`);
23
+ }
24
+ if (value !== Math.trunc(value)) {
25
+ throw new Error(`NitroStorage: Invalid ${label}`);
26
+ }
27
+ }
28
+ function assertAccessControlLevel(level) {
29
+ assertEnumInteger(level, 0, 4, "access control level");
30
+ }
31
+ function assertBiometricLevel(level) {
32
+ assertEnumInteger(level, 0, 2, "biometric level");
33
+ }
20
34
  const registeredMigrations = new Map();
21
35
  const runMicrotask = typeof queueMicrotask === "function" ? queueMicrotask : task => {
22
36
  Promise.resolve().then(task);
@@ -677,6 +691,7 @@ export const storage = {
677
691
  },
678
692
  setAccessControl: level => {
679
693
  measureOperation("storage:setAccessControl", StorageScope.Secure, () => {
694
+ assertAccessControlLevel(level);
680
695
  secureDefaultAccessControl = level;
681
696
  getStorageModule().setSecureAccessControl(level);
682
697
  });
@@ -877,6 +892,12 @@ export function createStorageItem(config) {
877
892
  if (expiration && expiration.ttlMs <= 0) {
878
893
  throw new Error("expiration.ttlMs must be greater than 0.");
879
894
  }
895
+ if (config.scope === StorageScope.Secure) {
896
+ assertBiometricLevel(resolvedBiometricLevel);
897
+ if (secureAccessControl !== undefined) {
898
+ assertAccessControlLevel(secureAccessControl);
899
+ }
900
+ }
880
901
  const listeners = new Set();
881
902
  let unsubscribe = null;
882
903
  let lastRaw = undefined;
@@ -1220,6 +1241,7 @@ export function createStorageItem(config) {
1220
1241
  _hasExpiration: expiration !== undefined,
1221
1242
  _readCacheEnabled: readCache,
1222
1243
  _isBiometric: isBiometric,
1244
+ _biometricLevel: resolvedBiometricLevel,
1223
1245
  _defaultValue: defaultValue,
1224
1246
  ...(secureAccessControl !== undefined ? {
1225
1247
  _secureAccessControl: secureAccessControl
@@ -1470,14 +1492,32 @@ export function runTransaction(scope, transaction) {
1470
1492
  }
1471
1493
  const NOT_SET = Symbol();
1472
1494
  const rollback = new Map();
1473
- const rememberRollback = key => {
1495
+ const rememberRollback = (key, item) => {
1474
1496
  if (rollback.has(key)) {
1475
1497
  return;
1476
1498
  }
1477
1499
  if (scope === StorageScope.Memory) {
1478
- rollback.set(key, memoryStore.has(key) ? memoryStore.get(key) : NOT_SET);
1500
+ rollback.set(key, {
1501
+ kind: "memory",
1502
+ value: memoryStore.has(key) ? memoryStore.get(key) : NOT_SET
1503
+ });
1479
1504
  } else {
1480
- rollback.set(key, getRawValue(key, scope));
1505
+ const internal = item ? item : undefined;
1506
+ if (scope === StorageScope.Secure && internal?._isBiometric === true) {
1507
+ rollback.set(key, {
1508
+ kind: "biometric",
1509
+ value: getStorageModule().getSecureBiometric(key),
1510
+ level: internal._biometricLevel
1511
+ });
1512
+ return;
1513
+ }
1514
+ rollback.set(key, {
1515
+ kind: "raw",
1516
+ value: getRawValue(key, scope),
1517
+ ...(scope === StorageScope.Secure && internal?._secureAccessControl !== undefined ? {
1518
+ accessControl: internal._secureAccessControl
1519
+ } : {})
1520
+ });
1481
1521
  }
1482
1522
  };
1483
1523
  const tx = {
@@ -1497,12 +1537,12 @@ export function runTransaction(scope, transaction) {
1497
1537
  },
1498
1538
  setItem: (item, value) => {
1499
1539
  assertBatchScope([item], scope);
1500
- rememberRollback(item.key);
1540
+ rememberRollback(item.key, item);
1501
1541
  item.set(value);
1502
1542
  },
1503
1543
  removeItem: item => {
1504
1544
  assertBatchScope([item], scope);
1505
- rememberRollback(item.key);
1545
+ rememberRollback(item.key, item);
1506
1546
  item.delete();
1507
1547
  }
1508
1548
  };
@@ -1511,24 +1551,43 @@ export function runTransaction(scope, transaction) {
1511
1551
  } catch (error) {
1512
1552
  const rollbackEntries = Array.from(rollback.entries()).reverse();
1513
1553
  if (scope === StorageScope.Memory) {
1514
- rollbackEntries.forEach(([key, previousValue]) => {
1515
- if (previousValue === NOT_SET) {
1554
+ rollbackEntries.forEach(([key, record]) => {
1555
+ if (record.value === NOT_SET) {
1516
1556
  memoryStore.delete(key);
1517
1557
  } else {
1518
- memoryStore.set(key, previousValue);
1558
+ memoryStore.set(key, record.value);
1519
1559
  }
1520
1560
  notifyKeyListeners(memoryListeners, key);
1521
1561
  });
1522
1562
  } else {
1523
- const keysToSet = [];
1524
- const valuesToSet = [];
1563
+ const groupedKeysToSet = new Map();
1525
1564
  const keysToRemove = [];
1526
- rollbackEntries.forEach(([key, previousValue]) => {
1527
- if (previousValue === undefined) {
1565
+ rollbackEntries.forEach(([key, record]) => {
1566
+ if (record.kind === "biometric") {
1567
+ if (record.value === undefined) {
1568
+ getStorageModule().deleteSecureBiometric(key);
1569
+ } else {
1570
+ getStorageModule().setSecureBiometricWithLevel(key, record.value, record.level);
1571
+ }
1572
+ return;
1573
+ }
1574
+ if (record.kind !== "raw") {
1575
+ return;
1576
+ }
1577
+ if (record.value === undefined) {
1528
1578
  keysToRemove.push(key);
1529
1579
  } else {
1530
- keysToSet.push(key);
1531
- valuesToSet.push(previousValue);
1580
+ const accessControl = record.accessControl ?? secureDefaultAccessControl;
1581
+ const existingGroup = groupedKeysToSet.get(accessControl);
1582
+ const group = existingGroup ?? {
1583
+ keys: [],
1584
+ values: []
1585
+ };
1586
+ group.keys.push(key);
1587
+ group.values.push(record.value);
1588
+ if (!existingGroup) {
1589
+ groupedKeysToSet.set(accessControl, group);
1590
+ }
1532
1591
  }
1533
1592
  });
1534
1593
  if (scope === StorageScope.Disk) {
@@ -1537,10 +1596,13 @@ export function runTransaction(scope, transaction) {
1537
1596
  if (scope === StorageScope.Secure) {
1538
1597
  flushSecureWrites();
1539
1598
  }
1540
- if (keysToSet.length > 0) {
1541
- getStorageModule().setBatch(keysToSet, valuesToSet, scope);
1542
- keysToSet.forEach((key, index) => cacheRawValue(scope, key, valuesToSet[index]));
1543
- }
1599
+ groupedKeysToSet.forEach((group, accessControl) => {
1600
+ if (scope === StorageScope.Secure) {
1601
+ getStorageModule().setSecureAccessControl(accessControl);
1602
+ }
1603
+ getStorageModule().setBatch(group.keys, group.values, scope);
1604
+ group.keys.forEach((key, index) => cacheRawValue(scope, key, group.values[index]));
1605
+ });
1544
1606
  if (keysToRemove.length > 0) {
1545
1607
  getStorageModule().removeBatch(keysToRemove, scope);
1546
1608
  keysToRemove.forEach(key => cacheRawValue(scope, key, undefined));
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","decodeNativeBatchValue","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","getStorageErrorCode","isLockedStorageErrorCode","StorageEventRegistry","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","_storageModule","getStorageModule","createHybridObject","memoryStore","memoryListeners","scopedListeners","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","suppressedNativeEvents","metricsObserver","eventObserver","metricsCounters","storageEvents","nativeSecureBackend","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","getScopedListeners","getScopeRawCache","cacheRawValue","key","value","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","undefined","delete","notifyKeyListeners","registry","listeners","listener","notifyAllListeners","values","addKeyListener","Set","add","size","getEventRawValue","Memory","getRawValue","createKeyChange","oldValue","newValue","source","type","hasStorageChangeObservers","hasListeners","emitKeyChange","event","emitKey","emitBatchChange","changes","length","forEach","change","emitBatch","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","push","storageModule","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","setRawValue","removeRawValue","remove","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","storage","subscribe","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","setEventObserver","observer","previousValues","getAll","map","clearAll","clearNamespace","affectedKeys","filter","keyPrefix","getByPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","startsWith","result","getBatch","idx","val","export","setAccessControl","level","setSecureWritesAsync","enabled","setDiskWritesAsync","setKeychainAccessGroup","setMetricsObserver","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","backend","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","encrypted","keychainAccessGroup","hardwareBacked","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","getSecureMetadata","biometricProtected","hasSecureBiometric","exists","kind","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","index","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","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","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","isKeychainLockedError","err","createSecureAuthStorage","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","decodeNativeBatchValue","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","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","_storageModule","getStorageModule","createHybridObject","memoryStore","memoryListeners","scopedListeners","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","suppressedNativeEvents","metricsObserver","eventObserver","metricsCounters","storageEvents","nativeSecureBackend","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","measureOperation","fn","start","getScopedListeners","getScopeRawCache","cacheRawValue","key","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","undefined","delete","notifyKeyListeners","registry","listeners","listener","notifyAllListeners","values","addKeyListener","Set","add","size","getEventRawValue","Memory","getRawValue","createKeyChange","oldValue","newValue","source","type","hasStorageChangeObservers","hasListeners","emitKeyChange","event","emitKey","emitBatchChange","changes","length","forEach","change","emitBatch","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","push","storageModule","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","setRawValue","removeRawValue","remove","readMigrationVersion","raw","parsed","parseInt","writeMigrationVersion","version","String","storage","subscribe","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","setEventObserver","observer","previousValues","getAll","map","clearAll","clearNamespace","affectedKeys","filter","keyPrefix","getByPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","startsWith","result","getBatch","idx","val","export","setAccessControl","setSecureWritesAsync","enabled","setDiskWritesAsync","setKeychainAccessGroup","setMetricsObserver","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","backend","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","encrypted","keychainAccessGroup","hardwareBacked","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","getSecureMetadata","biometricProtected","hasSecureBiometric","exists","kind","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","index","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","BiometryOnly","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","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","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","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","groupedKeysToSet","isKeychainLockedError","err","createSecureAuthStorage","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}