react-native-nitro-storage 0.8.0 → 0.10.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 (78) hide show
  1. package/CHANGELOG.md +107 -25
  2. package/README.md +140 -27
  3. package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +5 -2
  4. package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +240 -34
  5. package/cpp/bindings/HybridStorage.cpp +109 -293
  6. package/cpp/bindings/HybridStorage.hpp +17 -10
  7. package/docs/api-reference.md +75 -19
  8. package/docs/benchmarks.md +6 -1
  9. package/docs/keychain-lifecycle-testing.md +36 -0
  10. package/docs/recipes.md +1 -2
  11. package/docs/secure-storage.md +45 -9
  12. package/ios/IOSStorageAdapterCpp.mm +391 -175
  13. package/lib/commonjs/capabilities.js +3 -1
  14. package/lib/commonjs/capabilities.js.map +1 -1
  15. package/lib/commonjs/core/durability.js +110 -43
  16. package/lib/commonjs/core/durability.js.map +1 -1
  17. package/lib/commonjs/index.js +15 -5
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/commonjs/index.web.js +219 -97
  20. package/lib/commonjs/index.web.js.map +1 -1
  21. package/lib/commonjs/internal.js +3 -11
  22. package/lib/commonjs/internal.js.map +1 -1
  23. package/lib/commonjs/shared.js +62 -2
  24. package/lib/commonjs/shared.js.map +1 -1
  25. package/lib/commonjs/storage-core.js +859 -145
  26. package/lib/commonjs/storage-core.js.map +1 -1
  27. package/lib/commonjs/storage-runtime.js +5 -1
  28. package/lib/commonjs/storage-runtime.js.map +1 -1
  29. package/lib/commonjs/testing.js +13 -0
  30. package/lib/commonjs/testing.js.map +1 -1
  31. package/lib/module/capabilities.js +2 -1
  32. package/lib/module/capabilities.js.map +1 -1
  33. package/lib/module/core/durability.js +110 -43
  34. package/lib/module/core/durability.js.map +1 -1
  35. package/lib/module/index.js +12 -8
  36. package/lib/module/index.js.map +1 -1
  37. package/lib/module/index.web.js +215 -99
  38. package/lib/module/index.web.js.map +1 -1
  39. package/lib/module/internal.js +2 -9
  40. package/lib/module/internal.js.map +1 -1
  41. package/lib/module/shared.js +60 -2
  42. package/lib/module/shared.js.map +1 -1
  43. package/lib/module/storage-core.js +860 -146
  44. package/lib/module/storage-core.js.map +1 -1
  45. package/lib/module/storage-runtime.js +4 -1
  46. package/lib/module/storage-runtime.js.map +1 -1
  47. package/lib/module/testing.js +8 -1
  48. package/lib/module/testing.js.map +1 -1
  49. package/lib/typescript/capabilities.d.ts +2 -1
  50. package/lib/typescript/capabilities.d.ts.map +1 -1
  51. package/lib/typescript/core/durability.d.ts +7 -2
  52. package/lib/typescript/core/durability.d.ts.map +1 -1
  53. package/lib/typescript/index.d.ts +2 -2
  54. package/lib/typescript/index.d.ts.map +1 -1
  55. package/lib/typescript/index.web.d.ts +3 -29
  56. package/lib/typescript/index.web.d.ts.map +1 -1
  57. package/lib/typescript/internal.d.ts +0 -2
  58. package/lib/typescript/internal.d.ts.map +1 -1
  59. package/lib/typescript/shared.d.ts +19 -0
  60. package/lib/typescript/shared.d.ts.map +1 -1
  61. package/lib/typescript/storage-core.d.ts +12 -3
  62. package/lib/typescript/storage-core.d.ts.map +1 -1
  63. package/lib/typescript/storage-runtime.d.ts +2 -1
  64. package/lib/typescript/storage-runtime.d.ts.map +1 -1
  65. package/lib/typescript/testing.d.ts +1 -1
  66. package/lib/typescript/testing.d.ts.map +1 -1
  67. package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +1 -1
  68. package/package.json +3 -3
  69. package/react-native-nitro-storage.podspec +3 -1
  70. package/src/capabilities.ts +3 -1
  71. package/src/core/durability.ts +139 -39
  72. package/src/index.ts +20 -10
  73. package/src/index.web.ts +328 -166
  74. package/src/internal.ts +0 -14
  75. package/src/shared.ts +85 -0
  76. package/src/storage-core.ts +1165 -199
  77. package/src/storage-runtime.ts +6 -0
  78. package/src/testing.ts +8 -1
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.DEFAULT_SECURE_WRITES_ASYNC = void 0;
6
7
  exports.resolveNativeWriteBuffering = resolveNativeWriteBuffering;
7
8
  exports.resolveWebWriteBuffering = resolveWebWriteBuffering;
8
9
  function resolveWebWriteBuffering(diskBackendName, secureBackendName) {
@@ -17,7 +18,8 @@ function isIndexedDBWebBackendByName(backendName) {
17
18
  }
18
19
  return backendName.startsWith("indexeddb:");
19
20
  }
20
- function resolveNativeWriteBuffering(platform, secureWritesAsync) {
21
+ const DEFAULT_SECURE_WRITES_ASYNC = exports.DEFAULT_SECURE_WRITES_ASYNC = false;
22
+ function resolveNativeWriteBuffering(platform, secureWritesAsync = DEFAULT_SECURE_WRITES_ASYNC) {
21
23
  return {
22
24
  disk: true,
23
25
  secure: platform === "android" ? secureWritesAsync : false
@@ -1 +1 @@
1
- {"version":3,"names":["resolveWebWriteBuffering","diskBackendName","secureBackendName","disk","isIndexedDBWebBackendByName","secure","backendName","startsWith","resolveNativeWriteBuffering","platform","secureWritesAsync"],"sourceRoot":"../../src","sources":["capabilities.ts"],"mappings":";;;;;;;AAUO,SAASA,wBAAwBA,CACtCC,eAAmC,EACnCC,iBAAqC,EACrB;EAChB,OAAO;IACLC,IAAI,EAAEC,2BAA2B,CAACH,eAAe,CAAC;IAClDI,MAAM,EAAED,2BAA2B,CAACF,iBAAiB;EACvD,CAAC;AACH;AAEA,SAASE,2BAA2BA,CAACE,WAA+B,EAAW;EAC7E,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,KAAK;EACd;EACA,OAAOA,WAAW,CAACC,UAAU,CAAC,YAAY,CAAC;AAC7C;AAEO,SAASC,2BAA2BA,CACzCC,QAA2B,EAC3BC,iBAA0B,EACV;EAChB,OAAO;IACLP,IAAI,EAAE,IAAI;IACVE,MAAM,EAAEI,QAAQ,KAAK,SAAS,GAAGC,iBAAiB,GAAG;EACvD,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["resolveWebWriteBuffering","diskBackendName","secureBackendName","disk","isIndexedDBWebBackendByName","secure","backendName","startsWith","DEFAULT_SECURE_WRITES_ASYNC","exports","resolveNativeWriteBuffering","platform","secureWritesAsync"],"sourceRoot":"../../src","sources":["capabilities.ts"],"mappings":";;;;;;;;AAUO,SAASA,wBAAwBA,CACtCC,eAAmC,EACnCC,iBAAqC,EACrB;EAChB,OAAO;IACLC,IAAI,EAAEC,2BAA2B,CAACH,eAAe,CAAC;IAClDI,MAAM,EAAED,2BAA2B,CAACF,iBAAiB;EACvD,CAAC;AACH;AAEA,SAASE,2BAA2BA,CAACE,WAA+B,EAAW;EAC7E,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,KAAK;EACd;EACA,OAAOA,WAAW,CAACC,UAAU,CAAC,YAAY,CAAC;AAC7C;AAEO,MAAMC,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,KAAK;AAEzC,SAASE,2BAA2BA,CACzCC,QAA2B,EAC3BC,iBAA0B,GAAGJ,2BAA2B,EACxC;EAChB,OAAO;IACLL,IAAI,EAAE,IAAI;IACVE,MAAM,EAAEM,QAAQ,KAAK,SAAS,GAAGC,iBAAiB,GAAG;EACvD,CAAC;AACH","ignoreList":[]}
@@ -8,36 +8,57 @@ var _shared = require("../shared");
8
8
  var _Storage = require("../Storage.types");
9
9
  function createDurabilityCoordinator(options) {
10
10
  const pendingDiskWrites = new Map();
11
+ let nextGeneration = 0;
11
12
  let diskFlushScheduled = false;
12
13
  let diskWritesAsync = false;
13
14
  const pendingSecureWrites = new Map();
14
15
  let secureFlushScheduled = false;
16
+ const securePromotionsInProgress = new Set();
17
+ function clearPendingWrites(pendingWrites, writes) {
18
+ writes.forEach(write => {
19
+ if (pendingWrites.get(write.key) === write) {
20
+ pendingWrites.delete(write.key);
21
+ }
22
+ });
23
+ }
24
+ function restorePendingWrites(pendingWrites, writes) {
25
+ writes.forEach(write => {
26
+ if (!pendingWrites.has(write.key)) {
27
+ pendingWrites.set(write.key, write);
28
+ }
29
+ });
30
+ }
15
31
  function flushDiskWrites() {
16
32
  diskFlushScheduled = false;
17
33
  if (pendingDiskWrites.size === 0) {
18
34
  return;
19
35
  }
20
36
  const writes = Array.from(pendingDiskWrites.values());
21
- pendingDiskWrites.clear();
22
- const keysToSet = [];
23
- const valuesToSet = [];
24
- const keysToRemove = [];
25
- writes.forEach(({
26
- key,
27
- value
28
- }) => {
29
- if (value === undefined) {
30
- keysToRemove.push(key);
31
- return;
37
+ const setWrites = writes.filter(write => write.value !== undefined);
38
+ const removeWrites = writes.filter(write => write.value === undefined);
39
+ if (setWrites.length > 0) {
40
+ try {
41
+ options.backend.setBatch(setWrites.map(({
42
+ key
43
+ }) => key), setWrites.map(({
44
+ value
45
+ }) => value), _Storage.StorageScope.Disk);
46
+ } catch (error) {
47
+ restorePendingWrites(pendingDiskWrites, setWrites);
48
+ throw error;
32
49
  }
33
- keysToSet.push(key);
34
- valuesToSet.push(value);
35
- });
36
- if (keysToSet.length > 0) {
37
- options.backend.setBatch(keysToSet, valuesToSet, _Storage.StorageScope.Disk);
50
+ clearPendingWrites(pendingDiskWrites, setWrites);
38
51
  }
39
- if (keysToRemove.length > 0) {
40
- options.backend.removeBatch(keysToRemove, _Storage.StorageScope.Disk);
52
+ if (removeWrites.length > 0) {
53
+ try {
54
+ options.backend.removeBatch(removeWrites.map(({
55
+ key
56
+ }) => key), _Storage.StorageScope.Disk);
57
+ } catch (error) {
58
+ restorePendingWrites(pendingDiskWrites, removeWrites);
59
+ throw error;
60
+ }
61
+ clearPendingWrites(pendingDiskWrites, removeWrites);
41
62
  }
42
63
  }
43
64
  function flushSecureWrites() {
@@ -46,63 +67,97 @@ function createDurabilityCoordinator(options) {
46
67
  return;
47
68
  }
48
69
  const writes = Array.from(pendingSecureWrites.values());
49
- pendingSecureWrites.clear();
50
70
  const groupedSetWrites = new Map();
51
- const keysToRemove = [];
52
- writes.forEach(({
53
- key,
54
- value,
55
- accessControl
56
- }) => {
71
+ const removeWrites = [];
72
+ writes.forEach(write => {
73
+ const {
74
+ value,
75
+ accessControl
76
+ } = write;
57
77
  if (value === undefined) {
58
- keysToRemove.push(key);
78
+ removeWrites.push(write);
59
79
  } else {
60
80
  const resolvedAccessControl = accessControl ?? options.resolveSecureDefaultAccessControl();
61
81
  const existingGroup = groupedSetWrites.get(resolvedAccessControl);
62
82
  const group = existingGroup ?? {
63
- keys: [],
64
- values: []
83
+ writes: []
65
84
  };
66
- group.keys.push(key);
67
- group.values.push(value);
85
+ group.writes.push(write);
68
86
  if (!existingGroup) {
69
87
  groupedSetWrites.set(resolvedAccessControl, group);
70
88
  }
71
89
  }
72
90
  });
73
- groupedSetWrites.forEach((group, accessControl) => {
74
- options.backend.setSecureAccessControl(accessControl);
75
- options.backend.setBatch(group.keys, group.values, _Storage.StorageScope.Secure);
76
- });
77
- if (keysToRemove.length > 0) {
78
- options.backend.removeBatch(keysToRemove, _Storage.StorageScope.Secure);
91
+ for (const [accessControl, group] of groupedSetWrites) {
92
+ try {
93
+ options.backend.setSecureAccessControl(accessControl);
94
+ options.backend.setBatch(group.writes.map(({
95
+ key
96
+ }) => key), group.writes.map(({
97
+ value
98
+ }) => value), _Storage.StorageScope.Secure);
99
+ } catch (error) {
100
+ restorePendingWrites(pendingSecureWrites, group.writes);
101
+ throw error;
102
+ }
103
+ clearPendingWrites(pendingSecureWrites, group.writes);
104
+ }
105
+ if (removeWrites.length > 0) {
106
+ try {
107
+ options.backend.removeBatch(removeWrites.map(({
108
+ key
109
+ }) => key), _Storage.StorageScope.Secure);
110
+ } catch (error) {
111
+ restorePendingWrites(pendingSecureWrites, removeWrites);
112
+ throw error;
113
+ }
114
+ clearPendingWrites(pendingSecureWrites, removeWrites);
79
115
  }
80
116
  }
81
117
  function scheduleDiskWrite(key, value) {
82
- pendingDiskWrites.set(key, {
118
+ const pendingWrite = {
83
119
  key,
84
- value
85
- });
120
+ value,
121
+ generation: ++nextGeneration
122
+ };
123
+ pendingDiskWrites.set(key, pendingWrite);
86
124
  if (diskFlushScheduled) {
87
- return;
125
+ return pendingWrite;
88
126
  }
89
127
  diskFlushScheduled = true;
90
128
  (0, _shared.runMicrotask)(flushDiskWrites);
129
+ return pendingWrite;
91
130
  }
92
131
  function scheduleSecureWrite(key, value, accessControl) {
93
132
  const pendingWrite = {
94
133
  key,
95
- value
134
+ value,
135
+ generation: ++nextGeneration
96
136
  };
97
137
  if (accessControl !== undefined) {
98
138
  pendingWrite.accessControl = accessControl;
99
139
  }
100
140
  pendingSecureWrites.set(key, pendingWrite);
101
141
  if (secureFlushScheduled) {
102
- return;
142
+ return pendingWrite;
103
143
  }
104
144
  secureFlushScheduled = true;
105
145
  (0, _shared.runMicrotask)(flushSecureWrites);
146
+ return pendingWrite;
147
+ }
148
+ function runSecurePromotion(key, promotion) {
149
+ if (securePromotionsInProgress.has(key)) {
150
+ throw new Error("NitroStorage: Reentrant secure promotion");
151
+ }
152
+ securePromotionsInProgress.add(key);
153
+ try {
154
+ if (pendingSecureWrites.has(key)) {
155
+ flushSecureWrites();
156
+ }
157
+ return promotion();
158
+ } finally {
159
+ securePromotionsInProgress.delete(key);
160
+ }
106
161
  }
107
162
  return {
108
163
  setDiskWritesAsync(enabled) {
@@ -116,12 +171,23 @@ function createDurabilityCoordinator(options) {
116
171
  hasPendingSecureWrite: key => pendingSecureWrites.has(key),
117
172
  readPendingDiskWrite: key => pendingDiskWrites.get(key)?.value,
118
173
  readPendingSecureWrite: key => pendingSecureWrites.get(key)?.value,
174
+ readPendingSecureAccessControl: key => pendingSecureWrites.get(key)?.accessControl,
119
175
  clearPendingDiskWrite: key => {
120
176
  pendingDiskWrites.delete(key);
121
177
  },
122
178
  clearPendingSecureWrite: key => {
123
179
  pendingSecureWrites.delete(key);
124
180
  },
181
+ clearPendingDiskWriteIf: write => {
182
+ if (pendingDiskWrites.get(write.key) === write) {
183
+ pendingDiskWrites.delete(write.key);
184
+ }
185
+ },
186
+ clearPendingSecureWriteIf: write => {
187
+ if (pendingSecureWrites.get(write.key) === write) {
188
+ pendingSecureWrites.delete(write.key);
189
+ }
190
+ },
125
191
  clearAllPendingDiskWrites: () => {
126
192
  pendingDiskWrites.clear();
127
193
  },
@@ -131,7 +197,8 @@ function createDurabilityCoordinator(options) {
131
197
  scheduleDiskWrite,
132
198
  scheduleSecureWrite,
133
199
  flushDiskWrites,
134
- flushSecureWrites
200
+ flushSecureWrites,
201
+ runSecurePromotion
135
202
  };
136
203
  }
137
204
  //# sourceMappingURL=durability.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_shared","require","_Storage","createDurabilityCoordinator","options","pendingDiskWrites","Map","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","flushDiskWrites","size","writes","Array","from","values","clear","keysToSet","valuesToSet","keysToRemove","forEach","key","value","undefined","push","length","backend","setBatch","StorageScope","Disk","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","resolveSecureDefaultAccessControl","existingGroup","get","group","keys","set","setSecureAccessControl","Secure","scheduleDiskWrite","runMicrotask","scheduleSecureWrite","pendingWrite","setDiskWritesAsync","enabled","isDiskWritesAsync","hasPendingDiskWrite","has","hasPendingSecureWrite","readPendingDiskWrite","readPendingSecureWrite","clearPendingDiskWrite","delete","clearPendingSecureWrite","clearAllPendingDiskWrites","clearAllPendingSecureWrites"],"sourceRoot":"../../../src","sources":["core/durability.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_shared","require","_Storage","createDurabilityCoordinator","options","pendingDiskWrites","Map","nextGeneration","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","securePromotionsInProgress","Set","clearPendingWrites","pendingWrites","writes","forEach","write","get","key","delete","restorePendingWrites","has","set","flushDiskWrites","size","Array","from","values","setWrites","filter","value","undefined","removeWrites","length","backend","setBatch","map","StorageScope","Disk","error","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","push","resolvedAccessControl","resolveSecureDefaultAccessControl","existingGroup","group","setSecureAccessControl","Secure","scheduleDiskWrite","pendingWrite","generation","runMicrotask","scheduleSecureWrite","runSecurePromotion","promotion","Error","add","setDiskWritesAsync","enabled","isDiskWritesAsync","hasPendingDiskWrite","hasPendingSecureWrite","readPendingDiskWrite","readPendingSecureWrite","readPendingSecureAccessControl","clearPendingDiskWrite","clearPendingSecureWrite","clearPendingDiskWriteIf","clearPendingSecureWriteIf","clearAllPendingDiskWrites","clear","clearAllPendingSecureWrites"],"sourceRoot":"../../../src","sources":["core/durability.ts"],"mappings":"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","ignoreList":[]}
@@ -44,6 +44,12 @@ Object.defineProperty(exports, "isKeychainLockedError", {
44
44
  return _shared.isKeychainLockedError;
45
45
  }
46
46
  });
47
+ Object.defineProperty(exports, "isStorageError", {
48
+ enumerable: true,
49
+ get: function () {
50
+ return _storageRuntime.isStorageError;
51
+ }
52
+ });
47
53
  exports.memoryItem = void 0;
48
54
  Object.defineProperty(exports, "migrateFromMMKV", {
49
55
  enumerable: true,
@@ -122,7 +128,7 @@ const nativeBackend = {
122
128
  setBatch: (keys, values, scope) => {
123
129
  getStorageModule().setBatch(keys, values, scope);
124
130
  },
125
- getBatch: (keys, scope) => (getStorageModule().getBatch(keys, scope) ?? []).map(value => (0, _internal.decodeNativeBatchValue)(value)),
131
+ getBatch: (keys, scope) => getStorageModule().getBatch(keys, scope) ?? [],
126
132
  removeBatch: (keys, scope) => {
127
133
  getStorageModule().removeBatch(keys, scope);
128
134
  },
@@ -191,8 +197,12 @@ function buildNativeAdapter(internals) {
191
197
  (0, _shared.notifyAllListeners)(internals.getScopedListeners(scope));
192
198
  return;
193
199
  }
194
- const oldValue = internals.readCachedRawValue(scope, key);
195
- internals.cacheRawValue(scope, key, value);
200
+ const oldValue = scope === _Storage.StorageScope.Secure ? undefined : internals.readCachedRawValue(scope, key);
201
+ if (scope === _Storage.StorageScope.Secure) {
202
+ internals.invalidateRawCache(scope, key);
203
+ } else {
204
+ internals.cacheRawValue(scope, key, value);
205
+ }
196
206
  (0, _shared.notifyKeyListeners)(internals.getScopedListeners(scope), key);
197
207
  if (consumeSuppressedNativeEvent(scope, key)) {
198
208
  return;
@@ -237,7 +247,7 @@ const core = (0, _storageCore.createStorageCore)(buildNativeAdapter);
237
247
  const {
238
248
  internals
239
249
  } = core;
240
- let secureWritesBuffered = false;
250
+ let secureWritesBuffered = _capabilities.DEFAULT_SECURE_WRITES_ASYNC;
241
251
  const storage = exports.storage = {
242
252
  ...core.storage,
243
253
  setAccessControl: level => {
@@ -249,8 +259,8 @@ const storage = exports.storage = {
249
259
  },
250
260
  setSecureWritesAsync: enabled => {
251
261
  internals.measureOperation("storage:setSecureWritesAsync", _Storage.StorageScope.Secure, () => {
252
- secureWritesBuffered = enabled;
253
262
  getStorageModule().setSecureWritesAsync(enabled);
263
+ secureWritesBuffered = enabled;
254
264
  });
255
265
  },
256
266
  setKeychainAccessGroup: group => {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeNitroModules","_capabilities","_internal","_shared","_storageCore","_Storage","_migration","_storageRuntime","_storageHooks","_indexeddbBackend","_storageModule","getStorageModule","NitroModules","createHybridObject","nativeSecureBackend","nativeBackend","get","key","scope","set","value","remove","clear","has","getAllKeys","getKeysByPrefix","prefix","size","setBatch","keys","values","getBatch","map","decodeNativeBatchValue","removeBatch","removeByPrefix","setSecureAccessControl","level","getSecureBiometric","setSecureBiometricWithLevel","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","buildNativeAdapter","internals","scopedUnsubscribers","Map","suppressedNativeEvents","StorageScope","Disk","Secure","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","count","undefined","delete","ensureNativeScopeSubscription","unsubscribe","addOnChange","clearAllPendingDiskWrites","clearPendingDiskWrite","clearAllPendingSecureWrites","clearPendingSecureWrite","clearScopeRawCache","notifyAllListeners","getScopedListeners","oldValue","readCachedRawValue","cacheRawValue","notifyKeyListeners","emitKeyChange","unescapeCollidingRawValue","maybeCleanupNativeScopeSubscription","listeners","hasScopeEventListeners","hasEventObserver","backend","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","maybeCleanupScopeSubscription","onWillEmitChanges","operation","source","Memory","forEach","getSecureMetadataProfile","encrypted","hardwareBacked","core","createStorageCore","secureWritesBuffered","storage","exports","setAccessControl","measureOperation","assertAccessControlLevel","setSecureDefaultAccessControl","setSecureWritesAsync","enabled","setKeychainAccessGroup","group","getCapabilities","platform","disk","secure","writeBuffering","resolveNativeWriteBuffering","Platform","OS","errorClassification","getSecurityCapabilities","secureStorage","accessControl","keychainAccessGroup","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAMA,IAAAK,YAAA,GAAAL,OAAA;AAYA,IAAAM,QAAA,GAAAN,OAAA;AAyBA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AAwUA,IAAAS,aAAA,GAAAT,OAAA;AAOA,IAAAU,iBAAA,GAAAV,OAAA;AA5SA,IAAIW,cAA8B,GAAG,IAAI;AAEzC,SAASC,gBAAgBA,CAAA,EAAY;EACnC,IAAI,CAACD,cAAc,EAAE;IACnBA,cAAc,GAAGE,qCAAY,CAACC,kBAAkB,CAAU,SAAS,CAAC;EACtE;EACA,OAAOH,cAAc;AACvB;AAEA,MAAMI,mBAAmB,GAAG,yBAAyB;AAErD,MAAMC,aAAiC,GAAG;EACxCC,GAAG,EAAEA,CAACC,GAAG,EAAEC,KAAK,KAAKP,gBAAgB,CAAC,CAAC,CAACK,GAAG,CAACC,GAAG,EAAEC,KAAK,CAAC;EACvDC,GAAG,EAAEA,CAACF,GAAG,EAAEG,KAAK,EAAEF,KAAK,KAAK;IAC1BP,gBAAgB,CAAC,CAAC,CAACQ,GAAG,CAACF,GAAG,EAAEG,KAAK,EAAEF,KAAK,CAAC;EAC3C,CAAC;EACDG,MAAM,EAAEA,CAACJ,GAAG,EAAEC,KAAK,KAAK;IACtBP,gBAAgB,CAAC,CAAC,CAACU,MAAM,CAACJ,GAAG,EAAEC,KAAK,CAAC;EACvC,CAAC;EACDI,KAAK,EAAGJ,KAAK,IAAK;IAChBP,gBAAgB,CAAC,CAAC,CAACW,KAAK,CAACJ,KAAK,CAAC;EACjC,CAAC;EACDK,GAAG,EAAEA,CAACN,GAAG,EAAEC,KAAK,KAAKP,gBAAgB,CAAC,CAAC,CAACY,GAAG,CAACN,GAAG,EAAEC,KAAK,CAAC;EACvDM,UAAU,EAAGN,KAAK,IAAKP,gBAAgB,CAAC,CAAC,CAACa,UAAU,CAACN,KAAK,CAAC,IAAI,EAAE;EACjEO,eAAe,EAAEA,CAACC,MAAM,EAAER,KAAK,KAC7BP,gBAAgB,CAAC,CAAC,CAACc,eAAe,CAACC,MAAM,EAAER,KAAK,CAAC,IAAI,EAAE;EACzDS,IAAI,EAAGT,KAAK,IAAKP,gBAAgB,CAAC,CAAC,CAACgB,IAAI,CAACT,KAAK,CAAC;EAC/CU,QAAQ,EAAEA,CAACC,IAAI,EAAEC,MAAM,EAAEZ,KAAK,KAAK;IACjCP,gBAAgB,CAAC,CAAC,CAACiB,QAAQ,CAACC,IAAI,EAAEC,MAAM,EAAEZ,KAAK,CAAC;EAClD,CAAC;EACDa,QAAQ,EAAEA,CAACF,IAAI,EAAEX,KAAK,KACpB,CAACP,gBAAgB,CAAC,CAAC,CAACoB,QAAQ,CAACF,IAAI,EAAEX,KAAK,CAAC,IAAI,EAAE,EAAEc,GAAG,CAAEZ,KAAK,IACzD,IAAAa,gCAAsB,EAACb,KAAK,CAC9B,CAAC;EACHc,WAAW,EAAEA,CAACL,IAAI,EAAEX,KAAK,KAAK;IAC5BP,gBAAgB,CAAC,CAAC,CAACuB,WAAW,CAACL,IAAI,EAAEX,KAAK,CAAC;EAC7C,CAAC;EACDiB,cAAc,EAAEA,CAACT,MAAM,EAAER,KAAK,KAAK;IACjCP,gBAAgB,CAAC,CAAC,CAACwB,cAAc,CAACT,MAAM,EAAER,KAAK,CAAC;EAClD,CAAC;EACDkB,sBAAsB,EAAGC,KAAK,IAAK;IACjC1B,gBAAgB,CAAC,CAAC,CAACyB,sBAAsB,CAACC,KAAK,CAAC;EAClD,CAAC;EACDC,kBAAkB,EAAGrB,GAAG,IAAKN,gBAAgB,CAAC,CAAC,CAAC2B,kBAAkB,CAACrB,GAAG,CAAC;EACvEsB,2BAA2B,EAAEA,CAACtB,GAAG,EAAEG,KAAK,EAAEiB,KAAK,KAAK;IAClD1B,gBAAgB,CAAC,CAAC,CAAC4B,2BAA2B,CAACtB,GAAG,EAAEG,KAAK,EAAEiB,KAAK,CAAC;EACnE,CAAC;EACDG,qBAAqB,EAAGvB,GAAG,IAAK;IAC9BN,gBAAgB,CAAC,CAAC,CAAC6B,qBAAqB,CAACvB,GAAG,CAAC;EAC/C,CAAC;EACDwB,kBAAkB,EAAGxB,GAAG,IAAKN,gBAAgB,CAAC,CAAC,CAAC8B,kBAAkB,CAACxB,GAAG,CAAC;EACvEyB,oBAAoB,EAAEA,CAAA,KAAM;IAC1B/B,gBAAgB,CAAC,CAAC,CAAC+B,oBAAoB,CAAC,CAAC;EAC3C;AACF,CAAC;AAED,SAASC,kBAAkBA,CACzBC,SAA+B,EACX;EACpB,MAAMC,mBAAmB,GAAG,IAAIC,GAAG,CAA6B,CAAC;EACjE,MAAMC,sBAAmE,GAAG;IAC1E,CAACC,qBAAY,CAACC,IAAI,GAAG,IAAIH,GAAG,CAAC,CAAC;IAC9B,CAACE,qBAAY,CAACE,MAAM,GAAG,IAAIJ,GAAG,CAAC;EACjC,CAAC;EAED,SAASK,mBAAmBA,CAACjC,KAAqB,EAAED,GAAW,EAAQ;IACrE,MAAMmC,gBAAgB,GAAGL,sBAAsB,CAAC7B,KAAK,CAAC;IACtDkC,gBAAgB,CAACjC,GAAG,CAACF,GAAG,EAAE,CAACmC,gBAAgB,CAACpC,GAAG,CAACC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACjE;EAEA,SAASoC,4BAA4BA,CACnCnC,KAAqB,EACrBD,GAAW,EACF;IACT,MAAMmC,gBAAgB,GAAGL,sBAAsB,CAAC7B,KAAK,CAAC;IACtD,MAAMoC,KAAK,GAAGF,gBAAgB,CAACpC,GAAG,CAACC,GAAG,CAAC;IACvC,IAAIqC,KAAK,KAAKC,SAAS,EAAE;MACvB,OAAO,KAAK;IACd;IACA,IAAID,KAAK,IAAI,CAAC,EAAE;MACdF,gBAAgB,CAACI,MAAM,CAACvC,GAAG,CAAC;IAC9B,CAAC,MAAM;MACLmC,gBAAgB,CAACjC,GAAG,CAACF,GAAG,EAAEqC,KAAK,GAAG,CAAC,CAAC;IACtC;IACA,OAAO,IAAI;EACb;EAEA,SAASG,6BAA6BA,CAACvC,KAAqB,EAAQ;IAClE,IAAI2B,mBAAmB,CAACtB,GAAG,CAACL,KAAK,CAAC,EAAE;MAClC;IACF;IAEA,MAAMwC,WAAW,GAAG/C,gBAAgB,CAAC,CAAC,CAACgD,WAAW,CAACzC,KAAK,EAAE,CAACD,GAAG,EAAEG,KAAK,KAAK;MACxE,IAAIF,KAAK,KAAK8B,qBAAY,CAACC,IAAI,EAAE;QAC/B,IAAIhC,GAAG,KAAK,EAAE,EAAE;UACd2B,SAAS,CAACgB,yBAAyB,CAAC,CAAC;QACvC,CAAC,MAAM;UACLhB,SAAS,CAACiB,qBAAqB,CAAC5C,GAAG,CAAC;QACtC;MACF;MAEA,IAAIC,KAAK,KAAK8B,qBAAY,CAACE,MAAM,EAAE;QACjC,IAAIjC,GAAG,KAAK,EAAE,EAAE;UACd2B,SAAS,CAACkB,2BAA2B,CAAC,CAAC;QACzC,CAAC,MAAM;UACLlB,SAAS,CAACmB,uBAAuB,CAAC9C,GAAG,CAAC;QACxC;MACF;MAEA,IAAIA,GAAG,KAAK,EAAE,EAAE;QACd2B,SAAS,CAACoB,kBAAkB,CAAC9C,KAAK,CAAC;QACnC,IAAA+C,0BAAkB,EAACrB,SAAS,CAACsB,kBAAkB,CAAChD,KAAK,CAAC,CAAC;QACvD;MACF;MAEA,MAAMiD,QAAQ,GAAGvB,SAAS,CAACwB,kBAAkB,CAAClD,KAAK,EAAED,GAAG,CAAC;MACzD2B,SAAS,CAACyB,aAAa,CAACnD,KAAK,EAAED,GAAG,EAAEG,KAAK,CAAC;MAC1C,IAAAkD,0BAAkB,EAAC1B,SAAS,CAACsB,kBAAkB,CAAChD,KAAK,CAAC,EAAED,GAAG,CAAC;MAC5D,IAAIoC,4BAA4B,CAACnC,KAAK,EAAED,GAAG,CAAC,EAAE;QAC5C;MACF;MACA2B,SAAS,CAAC2B,aAAa,CACrBrD,KAAK,EACLD,GAAG,EACHkD,QAAQ,KAAKZ,SAAS,GAClBA,SAAS,GACT,IAAAiB,mCAAyB,EAACL,QAAQ,CAAC,EACvC/C,KAAK,KAAKmC,SAAS,GAAGA,SAAS,GAAG,IAAAiB,mCAAyB,EAACpD,KAAK,CAAC,EAClE,UAAU,EACV,QACF,CAAC;IACH,CAAC,CAAC;IACFyB,mBAAmB,CAAC1B,GAAG,CACrBD,KAAK,EACL,OAAOwC,WAAW,KAAK,UAAU,GAAGA,WAAW,GAAG,MAAM,CAAC,CAC3D,CAAC;EACH;EAEA,SAASe,mCAAmCA,CAACvD,KAAqB,EAAQ;IACxE,MAAMwD,SAAS,GAAG9B,SAAS,CAACsB,kBAAkB,CAAChD,KAAK,CAAC;IACrD,IACEwD,SAAS,CAAC/C,IAAI,GAAG,CAAC,IAClBiB,SAAS,CAAC+B,sBAAsB,CAACzD,KAAK,CAAC,IACvC0B,SAAS,CAACgC,gBAAgB,CAAC,CAAC,EAC5B;MACA;IACF;IAEA,MAAMlB,WAAW,GAAGb,mBAAmB,CAAC7B,GAAG,CAACE,KAAK,CAAC;IAClD,IAAI,CAACwC,WAAW,EAAE;MAChB;IACF;IAEAA,WAAW,CAAC,CAAC;IACbb,mBAAmB,CAACW,MAAM,CAACtC,KAAK,CAAC;EACnC;EAEA,OAAO;IACL2D,OAAO,EAAE9D,aAAa;IACtB+D,YAAY,EAAE,QAAQ;IACtBC,kCAAkC,EAAE,IAAI;IACxCC,uBAAuB,EAAEvB,6BAA6B;IACtDwB,6BAA6B,EAAER,mCAAmC;IAClES,iBAAiB,EAAEA,CAAChE,KAAK,EAAEW,IAAI,EAAEsD,SAAS,EAAEC,MAAM,KAAK;MACrD,IACEA,MAAM,KAAK,QAAQ,IACnBD,SAAS,KAAK,UAAU,IACxBjE,KAAK,KAAK8B,qBAAY,CAACqC,MAAM,IAC7BxC,mBAAmB,CAACtB,GAAG,CAACL,KAAK,CAAC,EAC9B;QACAW,IAAI,CAACyD,OAAO,CAAErE,GAAG,IAAK;UACpBkC,mBAAmB,CAACjC,KAAK,EAAED,GAAG,CAAC;QACjC,CAAC,CAAC;MACJ;IACF,CAAC;IACDsE,wBAAwB,EAAEA,CAAA,MAAO;MAC/BV,OAAO,EAAE/D,mBAAmB;MAC5B0E,SAAS,EAAE,WAAW;MACtBC,cAAc,EAAE;IAClB,CAAC;EACH,CAAC;AACH;AAEA,MAAMC,IAAI,GAAG,IAAAC,8BAAiB,EAAChD,kBAAkB,CAAC;AAClD,MAAM;EAAEC;AAAU,CAAC,GAAG8C,IAAI;AAE1B,IAAIE,oBAAoB,GAAG,KAAK;AAEzB,MAAMC,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG;EACrB,GAAGH,IAAI,CAACG,OAAO;EACfE,gBAAgB,EAAG1D,KAAoB,IAAK;IAC1CO,SAAS,CAACoD,gBAAgB,CACxB,0BAA0B,EAC1BhD,qBAAY,CAACE,MAAM,EACnB,MAAM;MACJ,IAAA+C,gCAAwB,EAAC5D,KAAK,CAAC;MAC/BO,SAAS,CAACsD,6BAA6B,CAAC7D,KAAK,CAAC;MAC9C1B,gBAAgB,CAAC,CAAC,CAACyB,sBAAsB,CAACC,KAAK,CAAC;IAClD,CACF,CAAC;EACH,CAAC;EACD8D,oBAAoB,EAAGC,OAAgB,IAAK;IAC1CxD,SAAS,CAACoD,gBAAgB,CACxB,8BAA8B,EAC9BhD,qBAAY,CAACE,MAAM,EACnB,MAAM;MACJ0C,oBAAoB,GAAGQ,OAAO;MAC9BzF,gBAAgB,CAAC,CAAC,CAACwF,oBAAoB,CAACC,OAAO,CAAC;IAClD,CACF,CAAC;EACH,CAAC;EACDC,sBAAsB,EAAGC,KAAa,IAAK;IACzC1D,SAAS,CAACoD,gBAAgB,CACxB,gCAAgC,EAChChD,qBAAY,CAACE,MAAM,EACnB,MAAM;MACJvC,gBAAgB,CAAC,CAAC,CAAC0F,sBAAsB,CAACC,KAAK,CAAC;IAClD,CACF,CAAC;EACH,CAAC;EACDC,eAAe,EAAEA,CAAA,MAA4B;IAC3CC,QAAQ,EAAE,QAAQ;IAClB3B,OAAO,EAAE;MACP4B,IAAI,EAAE,sBAAsB;MAC5BC,MAAM,EAAE5F;IACV,CAAC;IACD6F,cAAc,EAAE,IAAAC,yCAA2B,EACzCC,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAAG,SAAS,GAAG,KAAK,EAC7ClB,oBACF,CAAC;IACDmB,mBAAmB,EAAE;EACvB,CAAC,CAAC;EACFC,uBAAuB,EAAEA,CAAA,MAA6B;IACpDR,QAAQ,EAAE,QAAQ;IAClBS,aAAa,EAAE;MACbpC,OAAO,EAAE/D,mBAAmB;MAC5B0E,SAAS,EAAE,WAAW;MACtB0B,aAAa,EAAE,SAAS;MACxBC,mBAAmB,EAAE,SAAS;MAC9B1B,cAAc,EAAE;IAClB,CAAC;IACD2B,SAAS,EAAE;MACTvB,OAAO,EAAE,SAAS;MAClBwB,MAAM,EAAE,SAAS;MACjBC,YAAY,EAAE,SAAS;MACvBC,kBAAkB,EAAE;IACtB,CAAC;IACDC,QAAQ,EAAE;MACRC,MAAM,EAAE,IAAI;MACZC,kBAAkB,EAAE,IAAI;MACxBC,kBAAkB,EAAE;IACtB;EACF,CAAC;AACH,CAAC;AAEM,MAAMC,iBAAiB,GAAA9B,OAAA,CAAA8B,iBAAA,GAAGlC,IAAI,CAACkC,iBAAiB;AAChD,MAAMC,UAAU,GAAA/B,OAAA,CAAA+B,UAAA,GAAGnC,IAAI,CAACmC,UAAU;AAClC,MAAMC,QAAQ,GAAAhC,OAAA,CAAAgC,QAAA,GAAGpC,IAAI,CAACoC,QAAQ;AAC9B,MAAMC,UAAU,GAAAjC,OAAA,CAAAiC,UAAA,GAAGrC,IAAI,CAACqC,UAAU;AAClC,MAAMC,aAAa,GAAAlC,OAAA,CAAAkC,aAAA,GAAGtC,IAAI,CAACsC,aAAa;AACxC,MAAMjG,QAAQ,GAAA+D,OAAA,CAAA/D,QAAA,GAAG2D,IAAI,CAAC3D,QAAQ;AAC9B,MAAMH,QAAQ,GAAAkE,OAAA,CAAAlE,QAAA,GAAG8D,IAAI,CAAC9D,QAAQ;AAC9B,MAAMM,WAAW,GAAA4D,OAAA,CAAA5D,WAAA,GAAGwD,IAAI,CAACxD,WAAW;AACpC,MAAM+F,iBAAiB,GAAAnC,OAAA,CAAAmC,iBAAA,GAAGvC,IAAI,CAACuC,iBAAiB;AAChD,MAAMC,eAAe,GAAApC,OAAA,CAAAoC,eAAA,GAAGxC,IAAI,CAACwC,eAAe;AAC5C,MAAMC,cAAc,GAAArC,OAAA,CAAAqC,cAAA,GAAGzC,IAAI,CAACyC,cAAc;AAC1C,MAAMC,uBAAuB,GAAAtC,OAAA,CAAAsC,uBAAA,GAAG1C,IAAI,CAAC0C,uBAAuB;AAE5D,SAASC,0BAA0BA,CACxCC,QAAkC,EAC5B;EACN;AAAA;AAGK,SAASC,0BAA0BA,CAAA,EACJ;EACpC,OAAOhF,SAAS;AAClB;AAEO,SAASiF,wBAAwBA,CACtCF,QAAgC,EAC1B;EACN;AAAA;AAGK,SAASG,wBAAwBA,CAAA,EAAsC;EAC5E,OAAOlF,SAAS;AAClB;AAEO,eAAemF,uBAAuBA,CAAA,EAAkB;EAC7D;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeNitroModules","_capabilities","_internal","_shared","_storageCore","_Storage","_migration","_storageRuntime","_storageHooks","_indexeddbBackend","_storageModule","getStorageModule","NitroModules","createHybridObject","nativeSecureBackend","nativeBackend","get","key","scope","set","value","remove","clear","has","getAllKeys","getKeysByPrefix","prefix","size","setBatch","keys","values","getBatch","removeBatch","removeByPrefix","setSecureAccessControl","level","getSecureBiometric","setSecureBiometricWithLevel","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","buildNativeAdapter","internals","scopedUnsubscribers","Map","suppressedNativeEvents","StorageScope","Disk","Secure","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","count","undefined","delete","ensureNativeScopeSubscription","unsubscribe","addOnChange","clearAllPendingDiskWrites","clearPendingDiskWrite","clearAllPendingSecureWrites","clearPendingSecureWrite","clearScopeRawCache","notifyAllListeners","getScopedListeners","oldValue","readCachedRawValue","invalidateRawCache","cacheRawValue","notifyKeyListeners","emitKeyChange","unescapeCollidingRawValue","maybeCleanupNativeScopeSubscription","listeners","hasScopeEventListeners","hasEventObserver","backend","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","maybeCleanupScopeSubscription","onWillEmitChanges","operation","source","Memory","forEach","getSecureMetadataProfile","encrypted","hardwareBacked","core","createStorageCore","secureWritesBuffered","DEFAULT_SECURE_WRITES_ASYNC","storage","exports","setAccessControl","measureOperation","assertAccessControlLevel","setSecureDefaultAccessControl","setSecureWritesAsync","enabled","setKeychainAccessGroup","group","getCapabilities","platform","disk","secure","writeBuffering","resolveNativeWriteBuffering","Platform","OS","errorClassification","getSecurityCapabilities","secureStorage","accessControl","keychainAccessGroup","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}