react-native-nitro-storage 0.3.0 → 0.3.1

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 (45) hide show
  1. package/README.md +414 -256
  2. package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +98 -11
  3. package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +15 -0
  4. package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +130 -33
  5. package/android/src/main/java/com/nitrostorage/NitroStoragePackage.kt +2 -2
  6. package/cpp/bindings/HybridStorage.cpp +121 -12
  7. package/cpp/bindings/HybridStorage.hpp +10 -0
  8. package/cpp/core/NativeStorageAdapter.hpp +15 -0
  9. package/ios/IOSStorageAdapterCpp.hpp +19 -0
  10. package/ios/IOSStorageAdapterCpp.mm +233 -32
  11. package/lib/commonjs/Storage.types.js +23 -1
  12. package/lib/commonjs/Storage.types.js.map +1 -1
  13. package/lib/commonjs/index.js +173 -32
  14. package/lib/commonjs/index.js.map +1 -1
  15. package/lib/commonjs/index.web.js +289 -49
  16. package/lib/commonjs/index.web.js.map +1 -1
  17. package/lib/commonjs/internal.js +10 -0
  18. package/lib/commonjs/internal.js.map +1 -1
  19. package/lib/module/Storage.types.js +22 -0
  20. package/lib/module/Storage.types.js.map +1 -1
  21. package/lib/module/index.js +163 -35
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/index.web.js +278 -51
  24. package/lib/module/index.web.js.map +1 -1
  25. package/lib/module/internal.js +8 -0
  26. package/lib/module/internal.js.map +1 -1
  27. package/lib/typescript/Storage.nitro.d.ts +10 -0
  28. package/lib/typescript/Storage.nitro.d.ts.map +1 -1
  29. package/lib/typescript/Storage.types.d.ts +20 -0
  30. package/lib/typescript/Storage.types.d.ts.map +1 -1
  31. package/lib/typescript/index.d.ts +30 -7
  32. package/lib/typescript/index.d.ts.map +1 -1
  33. package/lib/typescript/index.web.d.ts +40 -7
  34. package/lib/typescript/index.web.d.ts.map +1 -1
  35. package/lib/typescript/internal.d.ts +2 -0
  36. package/lib/typescript/internal.d.ts.map +1 -1
  37. package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +10 -0
  38. package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +10 -0
  39. package/package.json +4 -1
  40. package/src/Storage.nitro.ts +11 -2
  41. package/src/Storage.types.ts +22 -0
  42. package/src/index.ts +270 -71
  43. package/src/index.web.ts +431 -90
  44. package/src/internal.ts +14 -4
  45. package/src/migration.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_Storage","_internal","_migration","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","StorageScope","Disk","Secure","scopedRawCache","pendingSecureWrites","secureFlushScheduled","getBrowserStorage","scope","globalThis","localStorage","sessionStorage","undefined","getScopedListeners","get","getScopeRawCache","cacheRawValue","key","value","set","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","scopedListeners","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","push","length","WebStorage","setBatch","removeBatch","scheduleSecureWrite","name","equals","other","dispose","storage","setItem","getItem","remove","removeItem","keys","index","getBatch","map","addOnChange","_scope","_callback","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","exports","clearAll","canUseRawBatchPath","item","_hasExpiration","_hasValidation","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","serialize","deserialize","isMemory","validate","onValidationError","expiration","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","defaultValue","ensureValidatedValue","candidate","hadStoredValue","resolved","canUseCachedValue","deserializableRaw","parse","isStoredEnvelope","valueOrFn","currentValue","newValue","deleteItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useSyncExternalStore","useStorageSelector","selector","isEqual","Object","is","selectedRef","useRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage","items","assertBatchScope","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","filter","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","entries","reverse","previousValue"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_Storage","_internal","_migration","asInternal","item","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","StorageScope","Disk","Secure","scopedRawCache","pendingSecureWrites","secureFlushScheduled","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","getBrowserStorage","scope","globalThis","localStorage","undefined","toSecureStorageKey","key","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getScopedListeners","get","getScopeRawCache","cacheRawValue","value","set","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","scopedListeners","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","push","WebStorage","setBatch","removeBatch","scheduleSecureWrite","name","equals","other","dispose","storage","storageKey","setItem","getItem","remove","removeItem","i","startsWith","keys","index","getBatch","map","addOnChange","_scope","_callback","getAllKeys","k","setSecureAccessControl","setKeychainAccessGroup","setSecureBiometric","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","exports","clearAll","clearNamespace","namespace","isNamespaced","namespacedKeys","filter","clearBiometric","getAll","result","val","setAccessControl","_level","_group","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","prefixKey","serialize","deserialize","isMemory","isBiometric","biometric","secureAccessControl","accessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","defaultValue","ensureValidatedValue","candidate","hadStoredValue","resolved","canUseCachedValue","deserializableRaw","parse","isStoredEnvelope","valueOrFn","currentValue","newValue","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useSyncExternalStore","useStorageSelector","selector","isEqual","Object","is","selectedRef","useRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage","items","assertBatchScope","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","entries","reverse","previousValue","createSecureAuthStorage","options","ns","itemConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
@@ -8,12 +8,15 @@ exports.assertBatchScope = assertBatchScope;
8
8
  exports.assertValidScope = assertValidScope;
9
9
  exports.decodeNativeBatchValue = decodeNativeBatchValue;
10
10
  exports.deserializeWithPrimitiveFastPath = deserializeWithPrimitiveFastPath;
11
+ exports.isNamespaced = isNamespaced;
11
12
  exports.isStoredEnvelope = isStoredEnvelope;
13
+ exports.prefixKey = prefixKey;
12
14
  exports.serializeWithPrimitiveFastPath = serializeWithPrimitiveFastPath;
13
15
  var _Storage = require("./Storage.types");
14
16
  const MIGRATION_VERSION_KEY = exports.MIGRATION_VERSION_KEY = "__nitro_storage_migration_version__";
15
17
  const NATIVE_BATCH_MISSING_SENTINEL = exports.NATIVE_BATCH_MISSING_SENTINEL = "__nitro_storage_batch_missing__::v1";
16
18
  const PRIMITIVE_FAST_PATH_PREFIX = "__nitro_storage_primitive__:";
19
+ const NAMESPACE_SEPARATOR = ":";
17
20
  function isStoredEnvelope(value) {
18
21
  if (typeof value !== "object" || value === null) {
19
22
  return false;
@@ -41,6 +44,13 @@ function decodeNativeBatchValue(value) {
41
44
  }
42
45
  return value;
43
46
  }
47
+ function prefixKey(namespace, key) {
48
+ if (!namespace) return key;
49
+ return `${namespace}${NAMESPACE_SEPARATOR}${key}`;
50
+ }
51
+ function isNamespaced(key, namespace) {
52
+ return key.startsWith(`${namespace}${NAMESPACE_SEPARATOR}`);
53
+ }
44
54
  function serializeWithPrimitiveFastPath(value) {
45
55
  if (value === null) {
46
56
  return `${PRIMITIVE_FAST_PATH_PREFIX}l`;
@@ -1 +1 @@
1
- {"version":3,"names":["_Storage","require","MIGRATION_VERSION_KEY","exports","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","StorageScope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","serializeWithPrimitiveFastPath","Number","isFinite","serialized","JSON","stringify","deserializeWithPrimitiveFastPath","startsWith","encodedValue","slice","length","separatorIndex","indexOf","tag","parsed","parse"],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_Storage","require","MIGRATION_VERSION_KEY","exports","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","NAMESPACE_SEPARATOR","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","StorageScope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","prefixKey","namespace","isNamespaced","startsWith","serializeWithPrimitiveFastPath","Number","isFinite","serialized","JSON","stringify","deserializeWithPrimitiveFastPath","encodedValue","slice","length","separatorIndex","indexOf","tag","parsed","parse"],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":"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","ignoreList":[]}
@@ -6,4 +6,26 @@ export let StorageScope = /*#__PURE__*/function (StorageScope) {
6
6
  StorageScope[StorageScope["Secure"] = 2] = "Secure";
7
7
  return StorageScope;
8
8
  }({});
9
+ export let AccessControl = /*#__PURE__*/function (AccessControl) {
10
+ /** Accessible when unlocked (default). */
11
+ AccessControl[AccessControl["WhenUnlocked"] = 0] = "WhenUnlocked";
12
+ /** Accessible after first unlock until restart. Good for background token refresh. */
13
+ AccessControl[AccessControl["AfterFirstUnlock"] = 1] = "AfterFirstUnlock";
14
+ /** Accessible only when passcode is set, non-migratable. */
15
+ AccessControl[AccessControl["WhenPasscodeSetThisDeviceOnly"] = 2] = "WhenPasscodeSetThisDeviceOnly";
16
+ /** Same as WhenUnlocked but non-migratable between devices. */
17
+ AccessControl[AccessControl["WhenUnlockedThisDeviceOnly"] = 3] = "WhenUnlockedThisDeviceOnly";
18
+ /** Same as AfterFirstUnlock but non-migratable. */
19
+ AccessControl[AccessControl["AfterFirstUnlockThisDeviceOnly"] = 4] = "AfterFirstUnlockThisDeviceOnly";
20
+ return AccessControl;
21
+ }({});
22
+ export let BiometricLevel = /*#__PURE__*/function (BiometricLevel) {
23
+ /** No biometric requirement (default). */
24
+ BiometricLevel[BiometricLevel["None"] = 0] = "None";
25
+ /** Require biometric or passcode for each access. */
26
+ BiometricLevel[BiometricLevel["BiometryOrPasscode"] = 1] = "BiometryOrPasscode";
27
+ /** Require biometric only (no passcode fallback). */
28
+ BiometricLevel[BiometricLevel["BiometryOnly"] = 2] = "BiometryOnly";
29
+ return BiometricLevel;
30
+ }({});
9
31
  //# sourceMappingURL=Storage.types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StorageScope"],"sourceRoot":"../../src","sources":["Storage.types.ts"],"mappings":";;AAAA,WAAYA,YAAY,0BAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["StorageScope","AccessControl","BiometricLevel"],"sourceRoot":"../../src","sources":["Storage.types.ts"],"mappings":";;AAAA,WAAYA,YAAY,0BAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAMxB,WAAYC,aAAa,0BAAbA,aAAa;EACvB;EADUA,aAAa,CAAbA,aAAa;EAGvB;EAHUA,aAAa,CAAbA,aAAa;EAKvB;EALUA,aAAa,CAAbA,aAAa;EAOvB;EAPUA,aAAa,CAAbA,aAAa;EASvB;EATUA,aAAa,CAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAazB,WAAYC,cAAc,0BAAdA,cAAc;EACxB;EADUA,cAAc,CAAdA,cAAc;EAGxB;EAHUA,cAAc,CAAdA,cAAc;EAKxB;EALUA,cAAc,CAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
@@ -2,10 +2,13 @@
2
2
 
3
3
  import { useRef, useSyncExternalStore } from "react";
4
4
  import { NitroModules } from "react-native-nitro-modules";
5
- import { StorageScope } from "./Storage.types";
6
- import { MIGRATION_VERSION_KEY, isStoredEnvelope, assertBatchScope, assertValidScope, decodeNativeBatchValue, serializeWithPrimitiveFastPath, deserializeWithPrimitiveFastPath } from "./internal";
7
- export { StorageScope } from "./Storage.types";
5
+ import { StorageScope, AccessControl } from "./Storage.types";
6
+ import { MIGRATION_VERSION_KEY, isStoredEnvelope, assertBatchScope, assertValidScope, decodeNativeBatchValue, serializeWithPrimitiveFastPath, deserializeWithPrimitiveFastPath, prefixKey, isNamespaced } from "./internal";
7
+ export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
8
8
  export { migrateFromMMKV } from "./migration";
9
+ function asInternal(item) {
10
+ return item;
11
+ }
9
12
  const registeredMigrations = new Map();
10
13
  const runMicrotask = typeof queueMicrotask === "function" ? queueMicrotask : task => {
11
14
  Promise.resolve().then(task);
@@ -24,6 +27,7 @@ const scopedUnsubscribers = new Map();
24
27
  const scopedRawCache = new Map([[StorageScope.Disk, new Map()], [StorageScope.Secure, new Map()]]);
25
28
  const pendingSecureWrites = new Map();
26
29
  let secureFlushScheduled = false;
30
+ let secureDefaultAccessControl = AccessControl.WhenUnlocked;
27
31
  function getScopedListeners(scope) {
28
32
  return scopedListeners.get(scope);
29
33
  }
@@ -99,6 +103,7 @@ function flushSecureWrites() {
99
103
  }
100
104
  });
101
105
  const storageModule = getStorageModule();
106
+ storageModule.setSecureAccessControl(secureDefaultAccessControl);
102
107
  if (keysToSet.length > 0) {
103
108
  storageModule.setBatch(keysToSet, valuesToSet, StorageScope.Secure);
104
109
  }
@@ -172,6 +177,7 @@ function setRawValue(key, value, scope) {
172
177
  if (scope === StorageScope.Secure) {
173
178
  flushSecureWrites();
174
179
  clearPendingSecureWrite(key);
180
+ getStorageModule().setSecureAccessControl(secureDefaultAccessControl);
175
181
  }
176
182
  getStorageModule().set(key, value, scope);
177
183
  cacheRawValue(scope, key, value);
@@ -214,15 +220,91 @@ export const storage = {
214
220
  }
215
221
  clearScopeRawCache(scope);
216
222
  getStorageModule().clear(scope);
223
+ if (scope === StorageScope.Secure) {
224
+ getStorageModule().clearSecureBiometric();
225
+ }
217
226
  },
218
227
  clearAll: () => {
219
228
  storage.clear(StorageScope.Memory);
220
229
  storage.clear(StorageScope.Disk);
221
230
  storage.clear(StorageScope.Secure);
231
+ },
232
+ clearNamespace: (namespace, scope) => {
233
+ assertValidScope(scope);
234
+ if (scope === StorageScope.Memory) {
235
+ for (const key of memoryStore.keys()) {
236
+ if (isNamespaced(key, namespace)) {
237
+ memoryStore.delete(key);
238
+ }
239
+ }
240
+ notifyAllListeners(memoryListeners);
241
+ return;
242
+ }
243
+ if (scope === StorageScope.Secure) {
244
+ flushSecureWrites();
245
+ }
246
+ const keys = getStorageModule().getAllKeys(scope);
247
+ const namespacedKeys = keys.filter(k => isNamespaced(k, namespace));
248
+ if (namespacedKeys.length > 0) {
249
+ getStorageModule().removeBatch(namespacedKeys, scope);
250
+ namespacedKeys.forEach(k => cacheRawValue(scope, k, undefined));
251
+ if (scope === StorageScope.Secure) {
252
+ namespacedKeys.forEach(k => clearPendingSecureWrite(k));
253
+ }
254
+ }
255
+ },
256
+ clearBiometric: () => {
257
+ getStorageModule().clearSecureBiometric();
258
+ },
259
+ has: (key, scope) => {
260
+ assertValidScope(scope);
261
+ if (scope === StorageScope.Memory) {
262
+ return memoryStore.has(key);
263
+ }
264
+ return getStorageModule().has(key, scope);
265
+ },
266
+ getAllKeys: scope => {
267
+ assertValidScope(scope);
268
+ if (scope === StorageScope.Memory) {
269
+ return Array.from(memoryStore.keys());
270
+ }
271
+ return getStorageModule().getAllKeys(scope);
272
+ },
273
+ getAll: scope => {
274
+ assertValidScope(scope);
275
+ const result = {};
276
+ if (scope === StorageScope.Memory) {
277
+ memoryStore.forEach((value, key) => {
278
+ if (typeof value === "string") result[key] = value;
279
+ });
280
+ return result;
281
+ }
282
+ const keys = getStorageModule().getAllKeys(scope);
283
+ if (keys.length === 0) return result;
284
+ const values = getStorageModule().getBatch(keys, scope);
285
+ keys.forEach((key, idx) => {
286
+ const val = decodeNativeBatchValue(values[idx]);
287
+ if (val !== undefined) result[key] = val;
288
+ });
289
+ return result;
290
+ },
291
+ size: scope => {
292
+ assertValidScope(scope);
293
+ if (scope === StorageScope.Memory) {
294
+ return memoryStore.size;
295
+ }
296
+ return getStorageModule().size(scope);
297
+ },
298
+ setAccessControl: level => {
299
+ secureDefaultAccessControl = level;
300
+ getStorageModule().setSecureAccessControl(level);
301
+ },
302
+ setKeychainAccessGroup: group => {
303
+ getStorageModule().setKeychainAccessGroup(group);
222
304
  }
223
305
  };
224
306
  function canUseRawBatchPath(item) {
225
- return item._hasExpiration === false && item._hasValidation === false;
307
+ return item._hasExpiration === false && item._hasValidation === false && item._isBiometric !== true && item._secureAccessControl === undefined;
226
308
  }
227
309
  function defaultSerialize(value) {
228
310
  return serializeWithPrimitiveFastPath(value);
@@ -231,16 +313,20 @@ function defaultDeserialize(value) {
231
313
  return deserializeWithPrimitiveFastPath(value);
232
314
  }
233
315
  export function createStorageItem(config) {
316
+ const storageKey = prefixKey(config.namespace, config.key);
234
317
  const serialize = config.serialize ?? defaultSerialize;
235
318
  const deserialize = config.deserialize ?? defaultDeserialize;
236
319
  const isMemory = config.scope === StorageScope.Memory;
320
+ const isBiometric = config.biometric === true && config.scope === StorageScope.Secure;
321
+ const secureAccessControl = config.accessControl;
237
322
  const validate = config.validate;
238
323
  const onValidationError = config.onValidationError;
239
324
  const expiration = config.expiration;
325
+ const onExpired = config.onExpired;
240
326
  const expirationTtlMs = expiration?.ttlMs;
241
327
  const memoryExpiration = expiration && isMemory ? new Map() : null;
242
328
  const readCache = !isMemory && config.readCache === true;
243
- const coalesceSecureWrites = config.scope === StorageScope.Secure && config.coalesceSecureWrites === true;
329
+ const coalesceSecureWrites = config.scope === StorageScope.Secure && config.coalesceSecureWrites === true && !isBiometric && secureAccessControl === undefined;
244
330
  const nonMemoryScope = config.scope === StorageScope.Disk ? StorageScope.Disk : config.scope === StorageScope.Secure ? StorageScope.Secure : null;
245
331
  if (expiration && expiration.ttlMs <= 0) {
246
332
  throw new Error("expiration.ttlMs must be greater than 0.");
@@ -264,66 +350,79 @@ export function createStorageItem(config) {
264
350
  listeners.forEach(callback => callback());
265
351
  };
266
352
  if (isMemory) {
267
- unsubscribe = addKeyListener(memoryListeners, config.key, listener);
353
+ unsubscribe = addKeyListener(memoryListeners, storageKey, listener);
268
354
  return;
269
355
  }
270
356
  ensureNativeScopeSubscription(nonMemoryScope);
271
- unsubscribe = addKeyListener(getScopedListeners(nonMemoryScope), config.key, listener);
357
+ unsubscribe = addKeyListener(getScopedListeners(nonMemoryScope), storageKey, listener);
272
358
  };
273
359
  const readStoredRaw = () => {
274
360
  if (isMemory) {
275
361
  if (memoryExpiration) {
276
- const expiresAt = memoryExpiration.get(config.key);
362
+ const expiresAt = memoryExpiration.get(storageKey);
277
363
  if (expiresAt !== undefined && expiresAt <= Date.now()) {
278
- memoryExpiration.delete(config.key);
279
- memoryStore.delete(config.key);
280
- notifyKeyListeners(memoryListeners, config.key);
364
+ memoryExpiration.delete(storageKey);
365
+ memoryStore.delete(storageKey);
366
+ notifyKeyListeners(memoryListeners, storageKey);
367
+ onExpired?.(storageKey);
281
368
  return undefined;
282
369
  }
283
370
  }
284
- return memoryStore.get(config.key);
371
+ return memoryStore.get(storageKey);
285
372
  }
286
- if (nonMemoryScope === StorageScope.Secure && hasPendingSecureWrite(config.key)) {
287
- return readPendingSecureWrite(config.key);
373
+ if (nonMemoryScope === StorageScope.Secure && !isBiometric && hasPendingSecureWrite(storageKey)) {
374
+ return readPendingSecureWrite(storageKey);
288
375
  }
289
376
  if (readCache) {
290
- if (hasCachedRawValue(nonMemoryScope, config.key)) {
291
- return readCachedRawValue(nonMemoryScope, config.key);
377
+ if (hasCachedRawValue(nonMemoryScope, storageKey)) {
378
+ return readCachedRawValue(nonMemoryScope, storageKey);
292
379
  }
293
380
  }
294
- const raw = getStorageModule().get(config.key, config.scope);
295
- cacheRawValue(nonMemoryScope, config.key, raw);
381
+ if (isBiometric) {
382
+ return getStorageModule().getSecureBiometric(storageKey);
383
+ }
384
+ const raw = getStorageModule().get(storageKey, config.scope);
385
+ cacheRawValue(nonMemoryScope, storageKey, raw);
296
386
  return raw;
297
387
  };
298
388
  const writeStoredRaw = rawValue => {
299
- cacheRawValue(nonMemoryScope, config.key, rawValue);
389
+ if (isBiometric) {
390
+ getStorageModule().setSecureBiometric(storageKey, rawValue);
391
+ return;
392
+ }
393
+ cacheRawValue(nonMemoryScope, storageKey, rawValue);
300
394
  if (coalesceSecureWrites) {
301
- scheduleSecureWrite(config.key, rawValue);
395
+ scheduleSecureWrite(storageKey, rawValue);
302
396
  return;
303
397
  }
304
398
  if (nonMemoryScope === StorageScope.Secure) {
305
- clearPendingSecureWrite(config.key);
399
+ clearPendingSecureWrite(storageKey);
400
+ getStorageModule().setSecureAccessControl(secureAccessControl ?? secureDefaultAccessControl);
306
401
  }
307
- getStorageModule().set(config.key, rawValue, config.scope);
402
+ getStorageModule().set(storageKey, rawValue, config.scope);
308
403
  };
309
404
  const removeStoredRaw = () => {
310
- cacheRawValue(nonMemoryScope, config.key, undefined);
405
+ if (isBiometric) {
406
+ getStorageModule().deleteSecureBiometric(storageKey);
407
+ return;
408
+ }
409
+ cacheRawValue(nonMemoryScope, storageKey, undefined);
311
410
  if (coalesceSecureWrites) {
312
- scheduleSecureWrite(config.key, undefined);
411
+ scheduleSecureWrite(storageKey, undefined);
313
412
  return;
314
413
  }
315
414
  if (nonMemoryScope === StorageScope.Secure) {
316
- clearPendingSecureWrite(config.key);
415
+ clearPendingSecureWrite(storageKey);
317
416
  }
318
- getStorageModule().remove(config.key, config.scope);
417
+ getStorageModule().remove(storageKey, config.scope);
319
418
  };
320
419
  const writeValueWithoutValidation = value => {
321
420
  if (isMemory) {
322
421
  if (memoryExpiration) {
323
- memoryExpiration.set(config.key, Date.now() + (expirationTtlMs ?? 0));
422
+ memoryExpiration.set(storageKey, Date.now() + (expirationTtlMs ?? 0));
324
423
  }
325
- memoryStore.set(config.key, value);
326
- notifyKeyListeners(memoryListeners, config.key);
424
+ memoryStore.set(storageKey, value);
425
+ notifyKeyListeners(memoryListeners, storageKey);
327
426
  return;
328
427
  }
329
428
  const serialized = serialize(value);
@@ -382,6 +481,7 @@ export function createStorageItem(config) {
382
481
  if (parsed.expiresAt <= Date.now()) {
383
482
  removeStoredRaw();
384
483
  invalidateParsedCache();
484
+ onExpired?.(storageKey);
385
485
  lastValue = ensureValidatedValue(config.defaultValue, false);
386
486
  hasLastValue = true;
387
487
  return lastValue;
@@ -401,7 +501,7 @@ export function createStorageItem(config) {
401
501
  const newValue = typeof valueOrFn === "function" ? valueOrFn(currentValue) : valueOrFn;
402
502
  invalidateParsedCache();
403
503
  if (validate && !validate(newValue)) {
404
- throw new Error(`Validation failed for key "${config.key}" in scope "${StorageScope[config.scope]}".`);
504
+ throw new Error(`Validation failed for key "${storageKey}" in scope "${StorageScope[config.scope]}".`);
405
505
  }
406
506
  writeValueWithoutValidation(newValue);
407
507
  };
@@ -409,14 +509,19 @@ export function createStorageItem(config) {
409
509
  invalidateParsedCache();
410
510
  if (isMemory) {
411
511
  if (memoryExpiration) {
412
- memoryExpiration.delete(config.key);
512
+ memoryExpiration.delete(storageKey);
413
513
  }
414
- memoryStore.delete(config.key);
415
- notifyKeyListeners(memoryListeners, config.key);
514
+ memoryStore.delete(storageKey);
515
+ notifyKeyListeners(memoryListeners, storageKey);
416
516
  return;
417
517
  }
418
518
  removeStoredRaw();
419
519
  };
520
+ const hasItem = () => {
521
+ if (isMemory) return memoryStore.has(storageKey);
522
+ if (isBiometric) return getStorageModule().hasSecureBiometric(storageKey);
523
+ return getStorageModule().has(storageKey, config.scope);
524
+ };
420
525
  const subscribe = callback => {
421
526
  ensureSubscription();
422
527
  listeners.add(callback);
@@ -435,6 +540,7 @@ export function createStorageItem(config) {
435
540
  get,
436
541
  set,
437
542
  delete: deleteItem,
543
+ has: hasItem,
438
544
  subscribe,
439
545
  serialize,
440
546
  deserialize,
@@ -445,8 +551,10 @@ export function createStorageItem(config) {
445
551
  _hasValidation: validate !== undefined,
446
552
  _hasExpiration: expiration !== undefined,
447
553
  _readCacheEnabled: readCache,
554
+ _isBiometric: isBiometric,
555
+ _secureAccessControl: secureAccessControl,
448
556
  scope: config.scope,
449
- key: config.key
557
+ key: storageKey
450
558
  };
451
559
  return storageItem;
452
560
  }
@@ -533,7 +641,7 @@ export function setBatch(items, scope) {
533
641
  }
534
642
  const useRawBatchPath = items.every(({
535
643
  item
536
- }) => canUseRawBatchPath(item));
644
+ }) => canUseRawBatchPath(asInternal(item)));
537
645
  if (!useRawBatchPath) {
538
646
  items.forEach(({
539
647
  item,
@@ -545,6 +653,7 @@ export function setBatch(items, scope) {
545
653
  const values = items.map(entry => entry.item.serialize(entry.value));
546
654
  if (scope === StorageScope.Secure) {
547
655
  flushSecureWrites();
656
+ getStorageModule().setSecureAccessControl(secureDefaultAccessControl);
548
657
  }
549
658
  getStorageModule().setBatch(keys, values, scope);
550
659
  keys.forEach((key, index) => cacheRawValue(scope, key, values[index]));
@@ -644,4 +753,23 @@ export function runTransaction(scope, transaction) {
644
753
  throw error;
645
754
  }
646
755
  }
756
+ export function createSecureAuthStorage(config, options) {
757
+ const ns = options?.namespace ?? "auth";
758
+ const result = {};
759
+ for (const key of Object.keys(config)) {
760
+ const itemConfig = config[key];
761
+ result[key] = createStorageItem({
762
+ key,
763
+ scope: StorageScope.Secure,
764
+ defaultValue: "",
765
+ namespace: ns,
766
+ biometric: itemConfig.biometric,
767
+ accessControl: itemConfig.accessControl,
768
+ expiration: itemConfig.ttlMs ? {
769
+ ttlMs: itemConfig.ttlMs
770
+ } : undefined
771
+ });
772
+ }
773
+ return result;
774
+ }
647
775
  //# sourceMappingURL=index.js.map