react-native-nitro-storage 0.13.0 → 0.15.0

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 (69) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +260 -7
  3. package/cpp/bindings/HybridStorage.cpp +21 -0
  4. package/cpp/bindings/HybridStorage.hpp +2 -0
  5. package/cpp/core/NativeStorageAdapter.hpp +6 -0
  6. package/docs/api-reference.md +68 -43
  7. package/docs/batch-transactions-migrations.md +7 -0
  8. package/docs/qa/agent-device-replay.md +106 -0
  9. package/docs/secure-storage.md +12 -6
  10. package/ios/IOSStorageAdapterCpp.hpp +12 -0
  11. package/ios/IOSStorageAdapterCpp.mm +180 -2
  12. package/lib/commonjs/Storage.types.js +4 -2
  13. package/lib/commonjs/Storage.types.js.map +1 -1
  14. package/lib/commonjs/core/durability.js +30 -2
  15. package/lib/commonjs/core/durability.js.map +1 -1
  16. package/lib/commonjs/index.js +16 -1
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/index.web.js +10 -1
  19. package/lib/commonjs/index.web.js.map +1 -1
  20. package/lib/commonjs/shared.js +6 -0
  21. package/lib/commonjs/shared.js.map +1 -1
  22. package/lib/commonjs/storage-core.js +116 -3
  23. package/lib/commonjs/storage-core.js.map +1 -1
  24. package/lib/commonjs/testing.js +32 -2
  25. package/lib/commonjs/testing.js.map +1 -1
  26. package/lib/module/Storage.types.js +4 -2
  27. package/lib/module/Storage.types.js.map +1 -1
  28. package/lib/module/core/durability.js +30 -2
  29. package/lib/module/core/durability.js.map +1 -1
  30. package/lib/module/index.js +16 -1
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/module/index.web.js +10 -1
  33. package/lib/module/index.web.js.map +1 -1
  34. package/lib/module/shared.js +5 -0
  35. package/lib/module/shared.js.map +1 -1
  36. package/lib/module/storage-core.js +117 -4
  37. package/lib/module/storage-core.js.map +1 -1
  38. package/lib/module/testing.js +31 -1
  39. package/lib/module/testing.js.map +1 -1
  40. package/lib/typescript/Storage.nitro.d.ts +2 -0
  41. package/lib/typescript/Storage.nitro.d.ts.map +1 -1
  42. package/lib/typescript/Storage.types.d.ts +4 -2
  43. package/lib/typescript/Storage.types.d.ts.map +1 -1
  44. package/lib/typescript/core/durability.d.ts +7 -1
  45. package/lib/typescript/core/durability.d.ts.map +1 -1
  46. package/lib/typescript/index.d.ts +8 -3
  47. package/lib/typescript/index.d.ts.map +1 -1
  48. package/lib/typescript/index.web.d.ts +8 -3
  49. package/lib/typescript/index.web.d.ts.map +1 -1
  50. package/lib/typescript/shared.d.ts +9 -1
  51. package/lib/typescript/shared.d.ts.map +1 -1
  52. package/lib/typescript/storage-core.d.ts +34 -4
  53. package/lib/typescript/storage-core.d.ts.map +1 -1
  54. package/lib/typescript/storage-platform.d.ts +2 -0
  55. package/lib/typescript/storage-platform.d.ts.map +1 -1
  56. package/lib/typescript/testing.d.ts +16 -5
  57. package/lib/typescript/testing.d.ts.map +1 -1
  58. package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +2 -0
  59. package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +2 -0
  60. package/package.json +2 -2
  61. package/src/Storage.nitro.ts +2 -0
  62. package/src/Storage.types.ts +4 -2
  63. package/src/core/durability.ts +46 -2
  64. package/src/index.ts +24 -0
  65. package/src/index.web.ts +18 -0
  66. package/src/shared.ts +27 -1
  67. package/src/storage-core.ts +182 -8
  68. package/src/storage-platform.ts +2 -0
  69. package/src/testing.ts +42 -0
@@ -64,7 +64,7 @@ Object.defineProperty(exports, "migrateFromMMKV", {
64
64
  return _migration.migrateFromMMKV;
65
65
  }
66
66
  });
67
- exports.setBatch = exports.secureItem = exports.runTransaction = exports.removeBatch = exports.registerMigration = exports.migrateToLatest = void 0;
67
+ exports.setBatch = exports.secureItem = exports.runTransaction = exports.removeBatch = exports.registerMigration = exports.migrateToLatest = exports.migrateSecureAccessControl = void 0;
68
68
  exports.setWebDiskStorageBackend = setWebDiskStorageBackend;
69
69
  exports.setWebSecureStorageBackend = setWebSecureStorageBackend;
70
70
  exports.storage = void 0;
@@ -601,6 +601,11 @@ const WebStorage = {
601
601
  },
602
602
  setSecureWritesAsync: _enabled => {},
603
603
  setKeychainAccessGroup: () => {},
604
+ isProtectedDataAvailable: () => true,
605
+ onProtectedDataAvailable: listener => {
606
+ (0, _shared.assertProtectedDataListener)(listener);
607
+ return () => {};
608
+ },
604
609
  setSecureBiometric: (key, value) => {
605
610
  WebStorage.setSecureBiometricWithLevel(key, value, _Storage.BiometricLevel.BiometryOnly);
606
611
  },
@@ -724,6 +729,7 @@ function buildWebAdapter(coreInternals) {
724
729
  backend: WebStorage,
725
730
  changeSource: "web",
726
731
  applyAccessControlOnSecureRawWrite: false,
732
+ supportsSecureAccessControlMigration: () => false,
727
733
  ensureScopeSubscription: () => {
728
734
  ensureExternalSyncSubscriptions();
729
735
  },
@@ -744,6 +750,8 @@ const storage = exports.storage = {
744
750
  getInternals().setSecureDefaultAccessControl(level);
745
751
  getInternals().recordMetric("storage:setAccessControl", _Storage.StorageScope.Secure, 0);
746
752
  },
753
+ isProtectedDataAvailable: () => WebStorage.isProtectedDataAvailable(),
754
+ onProtectedDataAvailable: listener => WebStorage.onProtectedDataAvailable(listener),
747
755
  setSecureWritesAsync: _enabled => {
748
756
  getInternals().recordMetric("storage:setSecureWritesAsync", _Storage.StorageScope.Secure, 0);
749
757
  },
@@ -794,6 +802,7 @@ const setBatch = exports.setBatch = core.setBatch;
794
802
  const removeBatch = exports.removeBatch = core.removeBatch;
795
803
  const registerMigration = exports.registerMigration = core.registerMigration;
796
804
  const migrateToLatest = exports.migrateToLatest = core.migrateToLatest;
805
+ const migrateSecureAccessControl = exports.migrateSecureAccessControl = core.migrateSecureAccessControl;
797
806
  const runTransaction = exports.runTransaction = core.runTransaction;
798
807
  const createSecureAuthStorage = exports.createSecureAuthStorage = core.createSecureAuthStorage;
799
808
  function setWebSecureStorageBackend(backend) {
@@ -1 +1 @@
1
- {"version":3,"names":["_capabilities","require","_indexeddbBackend","_internal","_shared","_storageCore","_Storage","_webStorageBackend","_migration","_storageRuntime","_webBackendContract","_storageHooks","webScopeKeyIndex","StorageScope","Disk","Set","Secure","hydratedWebScopeKeyIndex","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWindowStorageEventSubscription","internals","getInternals","undefined","Error","DEFAULT_DISK_BACKEND_NAME","DEFAULT_SECURE_BACKEND_NAME","isSecureWebStorageKey","key","startsWith","createDefaultDiskBackend","createLocalStorageWebBackend","name","includeKey","createDefaultSecureBackend","webDiskStorageBackend","webSecureStorageBackend","externalSyncUnsubscribers","Map","retiredWebBackends","getBackendName","scope","backend","scopeName","getWebSecureEncryptionStatus","createWebStorageError","operation","error","backendName","message","String","tag","wrapped","Object","defineProperty","configurable","enumerable","value","writable","withWebBackendOperation","fn","ensureExternalSyncSubscriptions","getWebBackend","toSecureStorageKey","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","replaceWebScopeKeyIndex","keys","keyIndex","clear","add","invalidateWebScopeKeyIndex","delete","clearScopeRawCache","hydrateWebScopeKeyIndex","has","getAllKeys","reconcileWebScopeKeyIndex","throwAfterWebMutationFailure","primary","contexts","reconciliationError","createStorageCompositeError","label","ensureWebScopeKeyIndex","applyExternalChangeEvent","newValue","notifyAllListeners","getScopedListeners","plainKey","oldValue","readCachedRawValue","invalidateRawCache","includes","cacheRawValue","notifyKeyListeners","emitKeyChange","unescapeCollidingRawValue","usesDefaultLocalStorageBackend","handleWebStorageEvent","event","globalThis","localStorage","storageArea","subscribeToBackendChanges","subscribe","unsubscribe","eventScope","set","resetBackendChangeSubscription","get","closeWebBackend","close","retireWebBackend","previousBackend","nextBackend","flush","window","addEventListener","WebStorage","equals","other","dispose","storageKey","setItem","getItem","remove","removeMany","removeItem","ownedKeys","filter","forEach","setBatch","values","entries","index","push","setMany","listeners","getBatch","map","storageKeys","getMany","removeBatch","flatMap","removeByPrefix","prefix","Array","from","addOnChange","_scope","_callback","getKeysByPrefix","size","setSecureAccessControl","level","assertAccessControlLevel","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometricLevel","BiometryOnly","assertBiometricLevel","None","__DEV__","console","warn","biometricStorageKey","plainStorageKey","previous","biometric","plain","restoreErrors","restore","previousValue","getSecureBiometric","deleteSecureBiometric","hasPlainValue","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","buildWebAdapter","coreInternals","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","maybeCleanupScopeSubscription","onWillEmitChanges","getSecureMetadataProfile","encrypted","hardwareBacked","core","createStorageCore","storage","exports","setAccessControl","setSecureDefaultAccessControl","recordMetric","_group","getCapabilities","platform","disk","secure","writeBuffering","resolveWebWriteBuffering","errorClassification","getSecurityCapabilities","secureBackend","secureStorage","accessControl","keychainAccessGroup","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","setWebSecureStorageBackend","flushSecureWrites","getWebSecureStorageBackend","setWebDiskStorageBackend","flushDiskWrites","getWebDiskStorageBackend","flushWebStorageBackends","backends","results","Promise","allSettled","failure","find","result","status","reason","createIndexedDBBackend","createIndexedDBBackendFromSubpath"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_capabilities","require","_indexeddbBackend","_internal","_shared","_storageCore","_Storage","_webStorageBackend","_migration","_storageRuntime","_webBackendContract","_storageHooks","webScopeKeyIndex","StorageScope","Disk","Set","Secure","hydratedWebScopeKeyIndex","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWindowStorageEventSubscription","internals","getInternals","undefined","Error","DEFAULT_DISK_BACKEND_NAME","DEFAULT_SECURE_BACKEND_NAME","isSecureWebStorageKey","key","startsWith","createDefaultDiskBackend","createLocalStorageWebBackend","name","includeKey","createDefaultSecureBackend","webDiskStorageBackend","webSecureStorageBackend","externalSyncUnsubscribers","Map","retiredWebBackends","getBackendName","scope","backend","scopeName","getWebSecureEncryptionStatus","createWebStorageError","operation","error","backendName","message","String","tag","wrapped","Object","defineProperty","configurable","enumerable","value","writable","withWebBackendOperation","fn","ensureExternalSyncSubscriptions","getWebBackend","toSecureStorageKey","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","replaceWebScopeKeyIndex","keys","keyIndex","clear","add","invalidateWebScopeKeyIndex","delete","clearScopeRawCache","hydrateWebScopeKeyIndex","has","getAllKeys","reconcileWebScopeKeyIndex","throwAfterWebMutationFailure","primary","contexts","reconciliationError","createStorageCompositeError","label","ensureWebScopeKeyIndex","applyExternalChangeEvent","newValue","notifyAllListeners","getScopedListeners","plainKey","oldValue","readCachedRawValue","invalidateRawCache","includes","cacheRawValue","notifyKeyListeners","emitKeyChange","unescapeCollidingRawValue","usesDefaultLocalStorageBackend","handleWebStorageEvent","event","globalThis","localStorage","storageArea","subscribeToBackendChanges","subscribe","unsubscribe","eventScope","set","resetBackendChangeSubscription","get","closeWebBackend","close","retireWebBackend","previousBackend","nextBackend","flush","window","addEventListener","WebStorage","equals","other","dispose","storageKey","setItem","getItem","remove","removeMany","removeItem","ownedKeys","filter","forEach","setBatch","values","entries","index","push","setMany","listeners","getBatch","map","storageKeys","getMany","removeBatch","flatMap","removeByPrefix","prefix","Array","from","addOnChange","_scope","_callback","getKeysByPrefix","size","setSecureAccessControl","level","assertAccessControlLevel","setSecureWritesAsync","_enabled","setKeychainAccessGroup","isProtectedDataAvailable","onProtectedDataAvailable","listener","assertProtectedDataListener","setSecureBiometric","setSecureBiometricWithLevel","BiometricLevel","BiometryOnly","assertBiometricLevel","None","__DEV__","console","warn","biometricStorageKey","plainStorageKey","previous","biometric","plain","restoreErrors","restore","previousValue","getSecureBiometric","deleteSecureBiometric","hasPlainValue","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","buildWebAdapter","coreInternals","changeSource","applyAccessControlOnSecureRawWrite","supportsSecureAccessControlMigration","ensureScopeSubscription","maybeCleanupScopeSubscription","onWillEmitChanges","getSecureMetadataProfile","encrypted","hardwareBacked","core","createStorageCore","storage","exports","setAccessControl","setSecureDefaultAccessControl","recordMetric","_group","getCapabilities","platform","disk","secure","writeBuffering","resolveWebWriteBuffering","errorClassification","getSecurityCapabilities","secureBackend","secureStorage","accessControl","keychainAccessGroup","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","migrateSecureAccessControl","runTransaction","createSecureAuthStorage","setWebSecureStorageBackend","flushSecureWrites","getWebSecureStorageBackend","setWebDiskStorageBackend","flushDiskWrites","getWebDiskStorageBackend","flushWebStorageBackends","backends","results","Promise","allSettled","failure","find","result","status","reason","createIndexedDBBackend","createIndexedDBBackendFromSubpath"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.SECURE_EVENT_REDACTED_VALUE = void 0;
7
7
  exports.assertAccessControlLevel = assertAccessControlLevel;
8
8
  exports.assertBiometricLevel = assertBiometricLevel;
9
9
  exports.assertEnumInteger = assertEnumInteger;
10
+ exports.assertProtectedDataListener = assertProtectedDataListener;
10
11
  exports.canUseRawBatchPath = canUseRawBatchPath;
11
12
  exports.canUseSecureRawBatchPath = canUseSecureRawBatchPath;
12
13
  exports.createKeyChange = createKeyChange;
@@ -99,6 +100,11 @@ function assertAccessControlLevel(level) {
99
100
  function assertBiometricLevel(level) {
100
101
  assertEnumInteger(level, 0, 2, "biometric level");
101
102
  }
103
+ function assertProtectedDataListener(listener) {
104
+ if (typeof listener !== "function") {
105
+ throw new TypeError("NitroStorage: Protected data listener must be a function");
106
+ }
107
+ }
102
108
  const runMicrotask = exports.runMicrotask = typeof queueMicrotask === "function" ? queueMicrotask : task => {
103
109
  void Promise.resolve().then(task);
104
110
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_internal","require","_storageRuntime","_Storage","createStorageCompositeError","operation","primary","contexts","primaryMessage","Error","message","String","contextMessage","map","label","error","join","composite","length","Object","defineProperties","cause","configurable","enumerable","value","writable","errors","freeze","code","normalizeStorageError","getStorageErrorCode","operationMatch","match","countMatch","rollbackErrorCount","Number","Array","from","_","index","isUpdater","valueOrFn","typedKeys","record","keys","assertEnumInteger","min","max","isFinite","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","runMicrotask","exports","queueMicrotask","task","Promise","resolve","then","now","performance","Date","notifyKeyListeners","registry","key","listeners","get","listener","notifyAllListeners","values","createKeyChange","scope","oldValue","newValue","source","type","SECURE_EVENT_REDACTED_VALUE","redactSecureKeyChange","event","StorageScope","Secure","undefined","canUseRawBatchPath","item","_hasExpiration","_hasValidation","_hasRenameFrom","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","isKeychainLockedError","err","isLockedStorageErrorCode"],"sourceRoot":"../../src","sources":["shared.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_internal","require","_storageRuntime","_Storage","createStorageCompositeError","operation","primary","contexts","primaryMessage","Error","message","String","contextMessage","map","label","error","join","composite","length","Object","defineProperties","cause","configurable","enumerable","value","writable","errors","freeze","code","normalizeStorageError","getStorageErrorCode","operationMatch","match","countMatch","rollbackErrorCount","Number","Array","from","_","index","isUpdater","valueOrFn","typedKeys","record","keys","assertEnumInteger","min","max","isFinite","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","assertProtectedDataListener","listener","TypeError","runMicrotask","exports","queueMicrotask","task","Promise","resolve","then","now","performance","Date","notifyKeyListeners","registry","key","listeners","get","notifyAllListeners","values","createKeyChange","scope","oldValue","newValue","source","type","SECURE_EVENT_REDACTED_VALUE","redactSecureKeyChange","event","StorageScope","Secure","undefined","canUseRawBatchPath","item","_hasExpiration","_hasValidation","_hasRenameFrom","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","isKeychainLockedError","err","isLockedStorageErrorCode"],"sourceRoot":"../../src","sources":["shared.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AASA,IAAAC,eAAA,GAAAD,OAAA;AAIA,IAAAE,QAAA,GAAAF,OAAA;AAsHO,SAASG,2BAA2BA,CACzCC,SAAiB,EACjBC,OAAgB,EAChBC,QAAsD,EAC/B;EACvB,MAAMC,cAAc,GAClBF,OAAO,YAAYG,KAAK,GAAGH,OAAO,CAACI,OAAO,GAAGC,MAAM,CAACL,OAAO,CAAC;EAC9D,MAAMM,cAAc,GAAGL,QAAQ,CAC5BM,GAAG,CAAC,CAAC;IAAEC,KAAK;IAAEC;EAAM,CAAC,KAAK;IACzB,MAAML,OAAO,GAAGK,KAAK,YAAYN,KAAK,GAAGM,KAAK,CAACL,OAAO,GAAGC,MAAM,CAACI,KAAK,CAAC;IACtE,OAAO,GAAGD,KAAK,KAAKJ,OAAO,EAAE;EAC/B,CAAC,CAAC,CACDM,IAAI,CAAC,IAAI,CAAC;EACb,MAAMC,SAAS,GAAG,IAAIR,KAAK,CACzB,2DAA2DJ,SAAS,2BAA2BG,cAAc,GAC3GI,cAAc,CAACM,MAAM,GAAG,CAAC,GAAG,KAAKN,cAAc,EAAE,GAAG,EAAE,EAE1D,CAA0B;EAC1BO,MAAM,CAACC,gBAAgB,CAACH,SAAS,EAAE;IACjCI,KAAK,EAAE;MACLC,YAAY,EAAE,IAAI;MAClBC,UAAU,EAAE,KAAK;MACjBC,KAAK,EAAElB,OAAO;MACdmB,QAAQ,EAAE;IACZ,CAAC;IACDC,MAAM,EAAE;MACNJ,YAAY,EAAE,IAAI;MAClBC,UAAU,EAAE,KAAK;MACjBC,KAAK,EAAEL,MAAM,CAACQ,MAAM,CAAC,CAACrB,OAAO,EAAE,GAAGC,QAAQ,CAACM,GAAG,CAAC,CAAC;QAAEE;MAAM,CAAC,KAAKA,KAAK,CAAC,CAAC,CAAC;MACtEU,QAAQ,EAAE;IACZ,CAAC;IACDG,IAAI,EAAE;MACJN,YAAY,EAAE,KAAK;MACnBC,UAAU,EAAE,KAAK;MACjBC,KAAK,EAAE,6BAA6B;MACpCC,QAAQ,EAAE;IACZ;EACF,CAAC,CAAC;EACF,OAAOR,SAAS;AAClB;AAEO,SAASY,qBAAqBA,CAACd,KAAc,EAAW;EAC7D,IAAI,EAAEA,KAAK,YAAYN,KAAK,CAAC,EAAE;IAC7B,OAAOM,KAAK;EACd;EAEA,MAAMa,IAAI,GAAG,IAAAE,mCAAmB,EAACf,KAAK,CAAC;EACvC,IACEa,IAAI,KAAK,6BAA6B,IACrC,OAAO,IAAIb,KAAK,IAAI,QAAQ,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAM,EAC1D;IACA,OAAOA,KAAK;EACd;EAEA,MAAMgB,cAAc,GAAGhB,KAAK,CAACL,OAAO,CAACsB,KAAK,CACxC,sCACF,CAAC;EACD,MAAMC,UAAU,GAAGlB,KAAK,CAACL,OAAO,CAACsB,KAAK,CAAC,4BAA4B,CAAC;EACpE,MAAME,kBAAkB,GAAGD,UAAU,GAAGE,MAAM,CAACF,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;EACjE,MAAM5B,SAAS,GAAG0B,cAAc,GAAG,CAAC,CAAC,IAAI,6BAA6B;EACtE,MAAMxB,QAAQ,GAAG6B,KAAK,CAACC,IAAI,CAAC;IAAEnB,MAAM,EAAEgB;EAAmB,CAAC,EAAE,CAACI,CAAC,EAAEC,KAAK,MAAM;IACzEzB,KAAK,EAAE,mBAAmByB,KAAK,GAAG,CAAC,EAAE;IACrCxB,KAAK,EAAE,IAAIN,KAAK,CAAC,gCAAgC;EACnD,CAAC,CAAC,CAAC;EACH,OAAOL,2BAA2B,CAACC,SAAS,EAAEU,KAAK,EAAER,QAAQ,CAAC;AAChE;AAEO,SAASiC,SAASA,CACvBC,SAA+B,EACF;EAC7B,OAAO,OAAOA,SAAS,KAAK,UAAU;AACxC;AAEO,SAASC,SAASA,CAAsBC,MAAoB,EAAO;EACxE,OAAOxB,MAAM,CAACyB,IAAI,CAACD,MAAM,CAAC;AAC5B;AAEO,SAASE,iBAAiBA,CAC/BrB,KAAa,EACbsB,GAAW,EACXC,GAAW,EACXjC,KAAa,EACP;EACN,IAAI,CAACqB,MAAM,CAACa,QAAQ,CAACxB,KAAK,CAAC,IAAIA,KAAK,GAAGsB,GAAG,IAAItB,KAAK,GAAGuB,GAAG,EAAE;IACzD,MAAM,IAAItC,KAAK,CAAC,yBAAyBK,KAAK,EAAE,CAAC;EACnD;EACA,IAAIU,KAAK,KAAKyB,IAAI,CAACC,KAAK,CAAC1B,KAAK,CAAC,EAAE;IAC/B,MAAM,IAAIf,KAAK,CAAC,yBAAyBK,KAAK,EAAE,CAAC;EACnD;AACF;AAEO,SAASqC,wBAAwBA,CAACC,KAAa,EAAQ;EAC5DP,iBAAiB,CAACO,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,sBAAsB,CAAC;AACxD;AAEO,SAASC,oBAAoBA,CAACD,KAAa,EAAQ;EACxDP,iBAAiB,CAACO,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC;AACnD;AAEO,SAASE,2BAA2BA,CACzCC,QAAiB,EACe;EAChC,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;IAClC,MAAM,IAAIC,SAAS,CACjB,0DACF,CAAC;EACH;AACF;AAiBO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GACvB,OAAOE,cAAc,KAAK,UAAU,GAChCA,cAAc,GACbC,IAAgB,IAAK;EACpB,KAAKC,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC;AACnC,CAAC;AAEA,MAAMI,GAAG,GAAAN,OAAA,CAAAM,GAAA,GACd,OAAOC,WAAW,KAAK,WAAW,IAAI,OAAOA,WAAW,CAACD,GAAG,KAAK,UAAU,GACvE,MAAMC,WAAW,CAACD,GAAG,CAAC,CAAC,GACvB,MAAME,IAAI,CAACF,GAAG,CAAC,CAAC;AAEf,SAASG,kBAAkBA,CAChCC,QAA6B,EAC7BC,GAAW,EACL;EACN,MAAMC,SAAS,GAAGF,QAAQ,CAACG,GAAG,CAACF,GAAG,CAAC;EACnC,IAAIC,SAAS,EAAE;IACb,KAAK,MAAMf,QAAQ,IAAIe,SAAS,EAAE;MAChCf,QAAQ,CAAC,CAAC;IACZ;EACF;AACF;AAEO,SAASiB,kBAAkBA,CAACJ,QAA6B,EAAQ;EACtE,KAAK,MAAME,SAAS,IAAIF,QAAQ,CAACK,MAAM,CAAC,CAAC,EAAE;IACzC,KAAK,MAAMlB,QAAQ,IAAIe,SAAS,EAAE;MAChCf,QAAQ,CAAC,CAAC;IACZ;EACF;AACF;AAEO,SAASmB,eAAeA,CAC7BC,KAAmB,EACnBN,GAAW,EACXO,QAA4B,EAC5BC,QAA4B,EAC5BxE,SAAiC,EACjCyE,MAA2B,EACJ;EACvB,OAAO;IACLC,IAAI,EAAE,KAAK;IACXJ,KAAK;IACLN,GAAG;IACHO,QAAQ;IACRC,QAAQ;IACRxE,SAAS;IACTyE;EACF,CAAC;AACH;AAEO,MAAME,2BAA2B,GAAAtB,OAAA,CAAAsB,2BAAA,GAAG,UAAU;AAE9C,SAASC,qBAAqBA,CACnCC,KAA4B,EACL;EACvB,IAAIA,KAAK,CAACP,KAAK,KAAKQ,qBAAY,CAACC,MAAM,EAAE;IACvC,OAAOF,KAAK;EACd;EAEA,OAAO;IACL,GAAGA,KAAK;IACRN,QAAQ,EACNM,KAAK,CAACN,QAAQ,KAAKS,SAAS,GAAGA,SAAS,GAAGL,2BAA2B;IACxEH,QAAQ,EACNK,KAAK,CAACL,QAAQ,KAAKQ,SAAS,GAAGA,SAAS,GAAGL;EAC/C,CAAC;AACH;AAEO,SAASM,kBAAkBA,CAACC,IAAsB,EAAW;EAClE,OACEA,IAAI,CAACC,cAAc,KAAK,KAAK,IAC7BD,IAAI,CAACE,cAAc,KAAK,KAAK,IAC7BF,IAAI,CAACG,cAAc,KAAK,IAAI,IAC5BH,IAAI,CAACI,YAAY,KAAK,IAAI,IAC1BJ,IAAI,CAACK,oBAAoB,KAAKP,SAAS;AAE3C;AAEO,SAASQ,wBAAwBA,CAACN,IAAsB,EAAW;EACxE,OACEA,IAAI,CAACC,cAAc,KAAK,KAAK,IAC7BD,IAAI,CAACE,cAAc,KAAK,KAAK,IAC7BF,IAAI,CAACG,cAAc,KAAK,IAAI,IAC5BH,IAAI,CAACI,YAAY,KAAK,IAAI;AAE9B;AAEO,SAASG,gBAAgBA,CAAItE,KAAQ,EAAU;EACpD,OAAO,IAAAuE,wCAA8B,EAACvE,KAAK,CAAC;AAC9C;AAEO,SAASwE,kBAAkBA,CAAIxE,KAAa,EAAK;EACtD,OAAO,IAAAyE,0CAAgC,EAACzE,KAAK,CAAC;AAChD;AAaA;AACA;AACA;AACA;AACO,SAAS0E,qBAAqBA,CAACC,GAAY,EAAW;EAC3D,OAAO,IAAAC,wCAAwB,EAAC,IAAAtE,mCAAmB,EAACqE,GAAG,CAAC,CAAC;AAC3D","ignoreList":[]}
@@ -11,6 +11,17 @@ var _shared = require("./shared");
11
11
  var _storageEvents = require("./storage-events");
12
12
  var _storageRuntime = require("./storage-runtime");
13
13
  var _Storage = require("./Storage.types");
14
+ function assertSynchronousCallbackResult(value, callbackKind) {
15
+ if (value === null || typeof value !== "object" && typeof value !== "function") {
16
+ return;
17
+ }
18
+ const then = value.then;
19
+ if (typeof then !== "function") {
20
+ return;
21
+ }
22
+ void Promise.resolve(value).catch(() => undefined);
23
+ throw new TypeError(`${callbackKind} callbacks must be synchronous and cannot return a Promise or thenable.`);
24
+ }
14
25
  const EMPTY_KEYS = Object.freeze([]);
15
26
  function asInternal(item) {
16
27
  return item;
@@ -806,6 +817,10 @@ function createStorageCore(buildAdapter) {
806
817
  flushSecureWrites();
807
818
  });
808
819
  },
820
+ /** Observes scheduled flush failures; explicit flush calls still throw. */
821
+ setScheduledFlushErrorObserver: observer => {
822
+ durability.setScheduledFlushErrorObserver(observer);
823
+ },
809
824
  setMetricsObserver: observer => {
810
825
  metrics.setObserver(observer);
811
826
  },
@@ -2130,6 +2145,84 @@ function createStorageCore(buildAdapter) {
2130
2145
  }
2131
2146
  registeredMigrations.set(version, migration);
2132
2147
  }
2148
+ function migrateSecureAccessControl(level, options) {
2149
+ return measureOperation("storage:migrateSecureAccessControl", _Storage.StorageScope.Secure, () => {
2150
+ (0, _shared.assertAccessControlLevel)(level);
2151
+ const requestedKeys = options?.keys;
2152
+ requestedKeys?.forEach(key => {
2153
+ (0, _internal.assertValidStorageKey)(key);
2154
+ });
2155
+ let keys;
2156
+ try {
2157
+ flushSecureWrites();
2158
+ keys = Array.from(new Set(requestedKeys ?? adapter.backend.getAllKeys(_Storage.StorageScope.Secure)));
2159
+ } catch (error) {
2160
+ if ((0, _storageRuntime.getStorageErrorCode)(error) !== "keychain_locked") {
2161
+ throw error;
2162
+ }
2163
+ return {
2164
+ migrated: [],
2165
+ locked: [],
2166
+ missing: [],
2167
+ skipped: [],
2168
+ failed: [],
2169
+ enumerationLocked: true
2170
+ };
2171
+ }
2172
+ secureDefaultAccessControl = level;
2173
+ adapter.backend.setSecureAccessControl(level);
2174
+ const result = {
2175
+ migrated: [],
2176
+ locked: [],
2177
+ missing: [],
2178
+ skipped: [],
2179
+ failed: [],
2180
+ enumerationLocked: false
2181
+ };
2182
+ if (!adapter.supportsSecureAccessControlMigration()) {
2183
+ result.skipped = keys;
2184
+ return result;
2185
+ }
2186
+ keys.forEach(key => {
2187
+ try {
2188
+ let hasBiometric;
2189
+ try {
2190
+ hasBiometric = adapter.backend.hasSecureBiometric(key);
2191
+ } catch (error) {
2192
+ if ((0, _storageRuntime.getStorageErrorCode)(error) !== "keychain_locked") {
2193
+ throw error;
2194
+ }
2195
+ result.skipped.push(key);
2196
+ return;
2197
+ }
2198
+ if (hasBiometric) {
2199
+ result.skipped.push(key);
2200
+ return;
2201
+ }
2202
+ const raw = adapter.backend.get(key, _Storage.StorageScope.Secure);
2203
+ if (raw === undefined) {
2204
+ result.missing.push(key);
2205
+ return;
2206
+ }
2207
+ adapter.backend.set(key, raw, _Storage.StorageScope.Secure);
2208
+ result.migrated.push(key);
2209
+ } catch (error) {
2210
+ const code = (0, _storageRuntime.getStorageErrorCode)(error);
2211
+ if (code === "keychain_locked") {
2212
+ result.locked.push(key);
2213
+ } else {
2214
+ result.failed.push(code === undefined ? {
2215
+ key
2216
+ } : {
2217
+ key,
2218
+ code
2219
+ });
2220
+ }
2221
+ }
2222
+ });
2223
+ return result;
2224
+ }, options?.keys?.length ?? 1);
2225
+ }
2133
2226
  function migrateToLatest(scope = _Storage.StorageScope.Disk) {
2134
2227
  return measureOperation("migration:run", scope, () => {
2135
2228
  (0, _internal.assertValidScope)(scope);
@@ -2142,7 +2235,8 @@ function createStorageCore(buildAdapter) {
2142
2235
  return;
2143
2236
  }
2144
2237
  runTransaction(scope, tx => {
2145
- migration(tx);
2238
+ const migrationResult = migration(tx);
2239
+ assertSynchronousCallbackResult(migrationResult, "Migration");
2146
2240
  tx.setRaw(_internal.MIGRATION_VERSION_KEY, String(version));
2147
2241
  });
2148
2242
  appliedVersion = version;
@@ -2162,6 +2256,12 @@ function createStorageCore(buildAdapter) {
2162
2256
  const NOT_SET = Symbol();
2163
2257
  const rollback = new Map();
2164
2258
  const itemRenameStates = new Map();
2259
+ let transactionOpen = true;
2260
+ const assertTransactionOpen = () => {
2261
+ if (!transactionOpen) {
2262
+ throw new TypeError("Transaction context is closed.");
2263
+ }
2264
+ };
2165
2265
  const rememberRollback = (key, item, includeOtherSecureRepresentation = false) => {
2166
2266
  const internal = item ? item : undefined;
2167
2267
  const representation = scope === _Storage.StorageScope.Secure && internal?._isBiometric === true ? "biometric" : "plain";
@@ -2232,34 +2332,46 @@ function createStorageCore(buildAdapter) {
2232
2332
  };
2233
2333
  const tx = {
2234
2334
  scope,
2235
- getRaw: key => getRawValue(key, scope),
2335
+ getRaw: key => {
2336
+ assertTransactionOpen();
2337
+ return getRawValue(key, scope);
2338
+ },
2236
2339
  setRaw: (key, value) => {
2340
+ assertTransactionOpen();
2237
2341
  rememberRollback(key);
2238
2342
  setRawValue(key, value, scope);
2239
2343
  },
2240
2344
  removeRaw: key => {
2345
+ assertTransactionOpen();
2241
2346
  rememberRollback(key, undefined, scope === _Storage.StorageScope.Secure);
2242
2347
  removeRawValue(key, scope);
2243
2348
  },
2244
2349
  getItem: item => {
2350
+ assertTransactionOpen();
2245
2351
  (0, _internal.assertBatchScope)([item], scope);
2246
2352
  rememberItemRollback(item);
2247
2353
  return item.get();
2248
2354
  },
2249
2355
  setItem: (item, value) => {
2356
+ assertTransactionOpen();
2250
2357
  (0, _internal.assertBatchScope)([item], scope);
2251
2358
  rememberItemRollback(item);
2252
2359
  item.set(value);
2253
2360
  },
2254
2361
  removeItem: item => {
2362
+ assertTransactionOpen();
2255
2363
  (0, _internal.assertBatchScope)([item], scope);
2256
2364
  rememberItemRollback(item);
2257
2365
  item.delete();
2258
2366
  }
2259
2367
  };
2260
2368
  try {
2261
- return transaction(tx);
2369
+ const result = transaction(tx);
2370
+ assertSynchronousCallbackResult(result, "Transaction");
2371
+ transactionOpen = false;
2372
+ return result;
2262
2373
  } catch (error) {
2374
+ transactionOpen = false;
2263
2375
  itemRenameStates.forEach((migrated, item) => {
2264
2376
  item._setRenameMigrationState(migrated);
2265
2377
  });
@@ -2590,6 +2702,7 @@ function createStorageCore(buildAdapter) {
2590
2702
  removeBatch,
2591
2703
  registerMigration,
2592
2704
  migrateToLatest,
2705
+ migrateSecureAccessControl,
2593
2706
  runTransaction,
2594
2707
  createSecureAuthStorage,
2595
2708
  internals