react-native-nitro-storage 0.3.0 → 0.3.2

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 (53) hide show
  1. package/README.md +594 -247
  2. package/android/CMakeLists.txt +2 -0
  3. package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +102 -11
  4. package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +16 -0
  5. package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +154 -34
  6. package/android/src/main/java/com/nitrostorage/NitroStoragePackage.kt +2 -2
  7. package/cpp/bindings/HybridStorage.cpp +176 -21
  8. package/cpp/bindings/HybridStorage.hpp +29 -2
  9. package/cpp/core/NativeStorageAdapter.hpp +16 -0
  10. package/ios/IOSStorageAdapterCpp.hpp +20 -0
  11. package/ios/IOSStorageAdapterCpp.mm +239 -32
  12. package/lib/commonjs/Storage.types.js +23 -1
  13. package/lib/commonjs/Storage.types.js.map +1 -1
  14. package/lib/commonjs/index.js +292 -75
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/index.web.js +473 -86
  17. package/lib/commonjs/index.web.js.map +1 -1
  18. package/lib/commonjs/internal.js +10 -0
  19. package/lib/commonjs/internal.js.map +1 -1
  20. package/lib/commonjs/storage-hooks.js +36 -0
  21. package/lib/commonjs/storage-hooks.js.map +1 -0
  22. package/lib/module/Storage.types.js +22 -0
  23. package/lib/module/Storage.types.js.map +1 -1
  24. package/lib/module/index.js +264 -75
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/module/index.web.js +445 -86
  27. package/lib/module/index.web.js.map +1 -1
  28. package/lib/module/internal.js +8 -0
  29. package/lib/module/internal.js.map +1 -1
  30. package/lib/module/storage-hooks.js +30 -0
  31. package/lib/module/storage-hooks.js.map +1 -0
  32. package/lib/typescript/Storage.nitro.d.ts +12 -0
  33. package/lib/typescript/Storage.nitro.d.ts.map +1 -1
  34. package/lib/typescript/Storage.types.d.ts +20 -0
  35. package/lib/typescript/Storage.types.d.ts.map +1 -1
  36. package/lib/typescript/index.d.ts +33 -10
  37. package/lib/typescript/index.d.ts.map +1 -1
  38. package/lib/typescript/index.web.d.ts +45 -10
  39. package/lib/typescript/index.web.d.ts.map +1 -1
  40. package/lib/typescript/internal.d.ts +2 -0
  41. package/lib/typescript/internal.d.ts.map +1 -1
  42. package/lib/typescript/storage-hooks.d.ts +10 -0
  43. package/lib/typescript/storage-hooks.d.ts.map +1 -0
  44. package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +12 -0
  45. package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +12 -0
  46. package/package.json +8 -3
  47. package/src/Storage.nitro.ts +13 -2
  48. package/src/Storage.types.ts +22 -0
  49. package/src/index.ts +382 -123
  50. package/src/index.web.ts +618 -134
  51. package/src/internal.ts +14 -4
  52. package/src/migration.ts +1 -1
  53. package/src/storage-hooks.ts +48 -0
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useSyncExternalStore","StorageScope","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","migrateFromMMKV","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","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","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","clearAll","canUseRawBatchPath","item","_hasExpiration","_hasValidation","defaultSerialize","defaultDeserialize","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","valueOrFn","currentValue","newValue","deleteItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage","items","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":["StorageScope","AccessControl","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","prefixKey","isNamespaced","BiometricLevel","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingSecureWrites","secureFlushScheduled","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","getBrowserStorage","scope","globalThis","localStorage","undefined","toSecureStorageKey","key","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","get","hydrateWebScopeKeyIndex","has","storage","keyIndex","clear","index","startsWith","add","ensureWebScopeKeyIndex","getScopedListeners","getScopeRawCache","cacheRawValue","value","set","readCachedRawValue","hasCachedRawValue","clearScopeRawCache","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","scopedListeners","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","push","WebStorage","setBatch","removeBatch","scheduleSecureWrite","name","equals","other","dispose","storageKey","setItem","getItem","remove","removeItem","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getAllKeys","setSecureAccessControl","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","k","getRawValue","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","clearAll","clearNamespace","namespace","keyPrefix","clearBiometric","getAll","result","val","setAccessControl","_level","_group","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","isBiometric","biometric","secureAccessControl","accessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","deserializableRaw","envelopeExpiresAt","parse","newValue","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useStorageSelector","useSetStorage","items","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","secureEntries","internal","canUseSecureBatchPath","groupedByAccessControl","WhenUnlocked","existingGroup","group","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","expirationConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ import { StorageScope } from "./Storage.types";
4
4
  export const MIGRATION_VERSION_KEY = "__nitro_storage_migration_version__";
5
5
  export const NATIVE_BATCH_MISSING_SENTINEL = "__nitro_storage_batch_missing__::v1";
6
6
  const PRIMITIVE_FAST_PATH_PREFIX = "__nitro_storage_primitive__:";
7
+ const NAMESPACE_SEPARATOR = ":";
7
8
  export function isStoredEnvelope(value) {
8
9
  if (typeof value !== "object" || value === null) {
9
10
  return false;
@@ -31,6 +32,13 @@ export function decodeNativeBatchValue(value) {
31
32
  }
32
33
  return value;
33
34
  }
35
+ export function prefixKey(namespace, key) {
36
+ if (!namespace) return key;
37
+ return `${namespace}${NAMESPACE_SEPARATOR}${key}`;
38
+ }
39
+ export function isNamespaced(key, namespace) {
40
+ return key.startsWith(`${namespace}${NAMESPACE_SEPARATOR}`);
41
+ }
34
42
  export function serializeWithPrimitiveFastPath(value) {
35
43
  if (value === null) {
36
44
  return `${PRIMITIVE_FAST_PATH_PREFIX}l`;
@@ -1 +1 @@
1
- {"version":3,"names":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","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":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","NAMESPACE_SEPARATOR","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","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":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import { useRef, useSyncExternalStore } from "react";
4
+ export function useStorage(item) {
5
+ const value = useSyncExternalStore(item.subscribe, item.get, item.get);
6
+ return [value, item.set];
7
+ }
8
+ export function useStorageSelector(item, selector, isEqual = Object.is) {
9
+ const selectedRef = useRef({
10
+ hasValue: false
11
+ });
12
+ const getSelectedSnapshot = () => {
13
+ const nextSelected = selector(item.get());
14
+ const current = selectedRef.current;
15
+ if (current.hasValue && isEqual(current.value, nextSelected)) {
16
+ return current.value;
17
+ }
18
+ selectedRef.current = {
19
+ hasValue: true,
20
+ value: nextSelected
21
+ };
22
+ return nextSelected;
23
+ };
24
+ const selectedValue = useSyncExternalStore(item.subscribe, getSelectedSnapshot, getSelectedSnapshot);
25
+ return [selectedValue, item.set];
26
+ }
27
+ export function useSetStorage(item) {
28
+ return item.set;
29
+ }
30
+ //# sourceMappingURL=storage-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useRef","useSyncExternalStore","useStorage","item","value","subscribe","get","set","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage"],"sourceRoot":"../../src","sources":["storage-hooks.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,OAAO;AAQpD,OAAO,SAASC,UAAUA,CACxBC,IAAwB,EACoB;EAC5C,MAAMC,KAAK,GAAGH,oBAAoB,CAACE,IAAI,CAACE,SAAS,EAAEF,IAAI,CAACG,GAAG,EAAEH,IAAI,CAACG,GAAG,CAAC;EACtE,OAAO,CAACF,KAAK,EAAED,IAAI,CAACI,GAAG,CAAC;AAC1B;AAEA,OAAO,SAASC,kBAAkBA,CAChCL,IAAwB,EACxBM,QAAiC,EACjCC,OAAsD,GAAGC,MAAM,CAACC,EAAE,EACd;EACpD,MAAMC,WAAW,GAAGb,MAAM,CAExB;IACAc,QAAQ,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;IAChC,MAAMC,YAAY,GAAGP,QAAQ,CAACN,IAAI,CAACG,GAAG,CAAC,CAAC,CAAC;IACzC,MAAMW,OAAO,GAAGJ,WAAW,CAACI,OAAO;IACnC,IAAIA,OAAO,CAACH,QAAQ,IAAIJ,OAAO,CAACO,OAAO,CAACb,KAAK,EAAEY,YAAY,CAAC,EAAE;MAC5D,OAAOC,OAAO,CAACb,KAAK;IACtB;IAEAS,WAAW,CAACI,OAAO,GAAG;MAAEH,QAAQ,EAAE,IAAI;MAAEV,KAAK,EAAEY;IAAa,CAAC;IAC7D,OAAOA,YAAY;EACrB,CAAC;EAED,MAAME,aAAa,GAAGjB,oBAAoB,CACxCE,IAAI,CAACE,SAAS,EACdU,mBAAmB,EACnBA,mBACF,CAAC;EACD,OAAO,CAACG,aAAa,EAAEf,IAAI,CAACI,GAAG,CAAC;AAClC;AAEA,OAAO,SAASY,aAAaA,CAAIhB,IAAwB,EAAE;EACzD,OAAOA,IAAI,CAACI,GAAG;AACjB","ignoreList":[]}
@@ -7,9 +7,21 @@ export interface Storage extends HybridObject<{
7
7
  get(key: string, scope: number): string | undefined;
8
8
  remove(key: string, scope: number): void;
9
9
  clear(scope: number): void;
10
+ has(key: string, scope: number): boolean;
11
+ getAllKeys(scope: number): string[];
12
+ size(scope: number): number;
10
13
  setBatch(keys: string[], values: string[], scope: number): void;
11
14
  getBatch(keys: string[], scope: number): (string | undefined)[];
12
15
  removeBatch(keys: string[], scope: number): void;
16
+ removeByPrefix(prefix: string, scope: number): void;
13
17
  addOnChange(scope: number, callback: (key: string, value: string | undefined) => void): () => void;
18
+ setSecureAccessControl(level: number): void;
19
+ setSecureWritesAsync(enabled: boolean): void;
20
+ setKeychainAccessGroup(group: string): void;
21
+ setSecureBiometric(key: string, value: string): void;
22
+ getSecureBiometric(key: string): string | undefined;
23
+ deleteSecureBiometric(key: string): void;
24
+ hasSecureBiometric(key: string): boolean;
25
+ clearSecureBiometric(): void;
14
26
  }
15
27
  //# sourceMappingURL=Storage.nitro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.nitro.d.ts","sourceRoot":"","sources":["../../src/Storage.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D,MAAM,WAAW,OAAQ,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IAC3E,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,WAAW,CACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GACzD,MAAM,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"Storage.nitro.d.ts","sourceRoot":"","sources":["../../src/Storage.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,OAAQ,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IAC3E,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,WAAW,CACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GACzD,MAAM,IAAI,CAAC;IACd,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,oBAAoB,IAAI,IAAI,CAAC;CAC9B"}
@@ -3,4 +3,24 @@ export declare enum StorageScope {
3
3
  Disk = 1,
4
4
  Secure = 2
5
5
  }
6
+ export declare enum AccessControl {
7
+ /** Accessible when unlocked (default). */
8
+ WhenUnlocked = 0,
9
+ /** Accessible after first unlock until restart. Good for background token refresh. */
10
+ AfterFirstUnlock = 1,
11
+ /** Accessible only when passcode is set, non-migratable. */
12
+ WhenPasscodeSetThisDeviceOnly = 2,
13
+ /** Same as WhenUnlocked but non-migratable between devices. */
14
+ WhenUnlockedThisDeviceOnly = 3,
15
+ /** Same as AfterFirstUnlock but non-migratable. */
16
+ AfterFirstUnlockThisDeviceOnly = 4
17
+ }
18
+ export declare enum BiometricLevel {
19
+ /** No biometric requirement (default). */
20
+ None = 0,
21
+ /** Require biometric or passcode for each access. */
22
+ BiometryOrPasscode = 1,
23
+ /** Require biometric only (no passcode fallback). */
24
+ BiometryOnly = 2
25
+ }
6
26
  //# sourceMappingURL=Storage.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.types.d.ts","sourceRoot":"","sources":["../../src/Storage.types.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,MAAM,IAAI;IACV,IAAI,IAAI;IACR,MAAM,IAAI;CACX"}
1
+ {"version":3,"file":"Storage.types.d.ts","sourceRoot":"","sources":["../../src/Storage.types.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,MAAM,IAAI;IACV,IAAI,IAAI;IACR,MAAM,IAAI;CACX;AAED,oBAAY,aAAa;IACvB,0CAA0C;IAC1C,YAAY,IAAI;IAChB,sFAAsF;IACtF,gBAAgB,IAAI;IACpB,4DAA4D;IAC5D,6BAA6B,IAAI;IACjC,+DAA+D;IAC/D,0BAA0B,IAAI;IAC9B,mDAAmD;IACnD,8BAA8B,IAAI;CACnC;AAED,oBAAY,cAAc;IACxB,0CAA0C;IAC1C,IAAI,IAAI;IACR,qDAAqD;IACrD,kBAAkB,IAAI;IACtB,qDAAqD;IACrD,YAAY,IAAI;CACjB"}
@@ -1,5 +1,5 @@
1
- import { StorageScope } from "./Storage.types";
2
- export { StorageScope } from "./Storage.types";
1
+ import { StorageScope, AccessControl } from "./Storage.types";
2
+ export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
3
3
  export type { Storage } from "./Storage.nitro";
4
4
  export { migrateFromMMKV } from "./migration";
5
5
  export type Validator<T> = (value: unknown) => value is T;
@@ -25,6 +25,16 @@ export type TransactionContext = {
25
25
  export declare const storage: {
26
26
  clear: (scope: StorageScope) => void;
27
27
  clearAll: () => void;
28
+ clearNamespace: (namespace: string, scope: StorageScope) => void;
29
+ clearBiometric: () => void;
30
+ has: (key: string, scope: StorageScope) => boolean;
31
+ getAllKeys: (scope: StorageScope) => string[];
32
+ getAll: (scope: StorageScope) => Record<string, string>;
33
+ size: (scope: StorageScope) => number;
34
+ setAccessControl: (level: AccessControl) => void;
35
+ setSecureWritesAsync: (enabled: boolean) => void;
36
+ flushSecureWrites: () => void;
37
+ setKeychainAccessGroup: (group: string) => void;
28
38
  };
29
39
  export interface StorageItemConfig<T> {
30
40
  key: string;
@@ -35,28 +45,33 @@ export interface StorageItemConfig<T> {
35
45
  validate?: Validator<T>;
36
46
  onValidationError?: (invalidValue: unknown) => T;
37
47
  expiration?: ExpirationConfig;
48
+ onExpired?: (key: string) => void;
38
49
  readCache?: boolean;
39
50
  coalesceSecureWrites?: boolean;
51
+ namespace?: string;
52
+ biometric?: boolean;
53
+ accessControl?: AccessControl;
40
54
  }
41
55
  export interface StorageItem<T> {
42
56
  get: () => T;
43
57
  set: (value: T | ((prev: T) => T)) => void;
44
58
  delete: () => void;
59
+ has: () => boolean;
45
60
  subscribe: (callback: () => void) => () => void;
46
61
  serialize: (value: T) => string;
47
62
  deserialize: (value: string) => T;
48
- _triggerListeners: () => void;
49
- _hasValidation?: boolean;
50
- _hasExpiration?: boolean;
51
- _readCacheEnabled?: boolean;
52
63
  scope: StorageScope;
53
64
  key: string;
54
65
  }
55
66
  export declare function createStorageItem<T = undefined>(config: StorageItemConfig<T>): StorageItem<T>;
56
- export declare function useStorage<T>(item: StorageItem<T>): [T, (value: T | ((prev: T) => T)) => void];
57
- export declare function useStorageSelector<T, TSelected>(item: StorageItem<T>, selector: (value: T) => TSelected, isEqual?: (prev: TSelected, next: TSelected) => boolean): [TSelected, (value: T | ((prev: T) => T)) => void];
58
- export declare function useSetStorage<T>(item: StorageItem<T>): (value: T | ((prev: T) => T)) => void;
59
- type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserialize" | "_hasValidation" | "_hasExpiration" | "_readCacheEnabled">;
67
+ export { useStorage, useStorageSelector, useSetStorage } from "./storage-hooks";
68
+ type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserialize"> & {
69
+ _hasValidation?: boolean;
70
+ _hasExpiration?: boolean;
71
+ _readCacheEnabled?: boolean;
72
+ _isBiometric?: boolean;
73
+ _secureAccessControl?: AccessControl;
74
+ };
60
75
  type BatchRemoveItem = Pick<StorageItem<unknown>, "key" | "scope" | "delete">;
61
76
  export type StorageBatchSetItem<T> = {
62
77
  item: StorageItem<T>;
@@ -68,4 +83,12 @@ export declare function removeBatch(items: readonly BatchRemoveItem[], scope: St
68
83
  export declare function registerMigration(version: number, migration: Migration): void;
69
84
  export declare function migrateToLatest(scope?: StorageScope): number;
70
85
  export declare function runTransaction<T>(scope: StorageScope, transaction: (context: TransactionContext) => T): T;
86
+ export type SecureAuthStorageConfig<K extends string = string> = Record<K, {
87
+ ttlMs?: number;
88
+ biometric?: boolean;
89
+ accessControl?: AccessControl;
90
+ }>;
91
+ export declare function createSecureAuthStorage<K extends string>(config: SecureAuthStorageConfig<K>, options?: {
92
+ namespace?: string;
93
+ }): Record<K, StorageItem<string>>;
71
94
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { StorageScope } from "./Storage.types";
2
- export { StorageScope } from "./Storage.types";
1
+ import { StorageScope, AccessControl } from "./Storage.types";
2
+ export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
3
3
  export { migrateFromMMKV } from "./migration";
4
4
  export type Validator<T> = (value: unknown) => value is T;
5
5
  export type ExpirationConfig = {
@@ -29,14 +29,36 @@ export interface Storage {
29
29
  get(key: string, scope: number): string | undefined;
30
30
  remove(key: string, scope: number): void;
31
31
  clear(scope: number): void;
32
+ has(key: string, scope: number): boolean;
33
+ getAllKeys(scope: number): string[];
34
+ size(scope: number): number;
32
35
  setBatch(keys: string[], values: string[], scope: number): void;
33
36
  getBatch(keys: string[], scope: number): (string | undefined)[];
34
37
  removeBatch(keys: string[], scope: number): void;
38
+ removeByPrefix(prefix: string, scope: number): void;
35
39
  addOnChange(scope: number, callback: (key: string, value: string | undefined) => void): () => void;
40
+ setSecureAccessControl(level: number): void;
41
+ setSecureWritesAsync(enabled: boolean): void;
42
+ setKeychainAccessGroup(group: string): void;
43
+ setSecureBiometric(key: string, value: string): void;
44
+ getSecureBiometric(key: string): string | undefined;
45
+ deleteSecureBiometric(key: string): void;
46
+ hasSecureBiometric(key: string): boolean;
47
+ clearSecureBiometric(): void;
36
48
  }
37
49
  export declare const storage: {
38
50
  clear: (scope: StorageScope) => void;
39
51
  clearAll: () => void;
52
+ clearNamespace: (namespace: string, scope: StorageScope) => void;
53
+ clearBiometric: () => void;
54
+ has: (key: string, scope: StorageScope) => boolean;
55
+ getAllKeys: (scope: StorageScope) => string[];
56
+ getAll: (scope: StorageScope) => Record<string, string>;
57
+ size: (scope: StorageScope) => number;
58
+ setAccessControl: (_level: AccessControl) => void;
59
+ setSecureWritesAsync: (_enabled: boolean) => void;
60
+ flushSecureWrites: () => void;
61
+ setKeychainAccessGroup: (_group: string) => void;
40
62
  };
41
63
  export interface StorageItemConfig<T> {
42
64
  key: string;
@@ -47,28 +69,33 @@ export interface StorageItemConfig<T> {
47
69
  validate?: Validator<T>;
48
70
  onValidationError?: (invalidValue: unknown) => T;
49
71
  expiration?: ExpirationConfig;
72
+ onExpired?: (key: string) => void;
50
73
  readCache?: boolean;
51
74
  coalesceSecureWrites?: boolean;
75
+ namespace?: string;
76
+ biometric?: boolean;
77
+ accessControl?: AccessControl;
52
78
  }
53
79
  export interface StorageItem<T> {
54
80
  get: () => T;
55
81
  set: (value: T | ((prev: T) => T)) => void;
56
82
  delete: () => void;
83
+ has: () => boolean;
57
84
  subscribe: (callback: () => void) => () => void;
58
85
  serialize: (value: T) => string;
59
86
  deserialize: (value: string) => T;
60
- _triggerListeners: () => void;
61
- _hasValidation?: boolean;
62
- _hasExpiration?: boolean;
63
- _readCacheEnabled?: boolean;
64
87
  scope: StorageScope;
65
88
  key: string;
66
89
  }
67
90
  export declare function createStorageItem<T = undefined>(config: StorageItemConfig<T>): StorageItem<T>;
68
- export declare function useStorage<T>(item: StorageItem<T>): [T, (value: T | ((prev: T) => T)) => void];
69
- export declare function useStorageSelector<T, TSelected>(item: StorageItem<T>, selector: (value: T) => TSelected, isEqual?: (prev: TSelected, next: TSelected) => boolean): [TSelected, (value: T | ((prev: T) => T)) => void];
70
- export declare function useSetStorage<T>(item: StorageItem<T>): (value: T | ((prev: T) => T)) => void;
71
- type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserialize" | "_hasValidation" | "_hasExpiration" | "_readCacheEnabled">;
91
+ export { useStorage, useStorageSelector, useSetStorage } from "./storage-hooks";
92
+ type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserialize"> & {
93
+ _hasValidation?: boolean;
94
+ _hasExpiration?: boolean;
95
+ _readCacheEnabled?: boolean;
96
+ _isBiometric?: boolean;
97
+ _secureAccessControl?: AccessControl;
98
+ };
72
99
  type BatchRemoveItem = Pick<StorageItem<unknown>, "key" | "scope" | "delete">;
73
100
  export type StorageBatchSetItem<T> = {
74
101
  item: StorageItem<T>;
@@ -80,4 +107,12 @@ export declare function removeBatch(items: readonly BatchRemoveItem[], scope: St
80
107
  export declare function registerMigration(version: number, migration: Migration): void;
81
108
  export declare function migrateToLatest(scope?: StorageScope): number;
82
109
  export declare function runTransaction<T>(scope: StorageScope, transaction: (context: TransactionContext) => T): T;
110
+ export type SecureAuthStorageConfig<K extends string = string> = Record<K, {
111
+ ttlMs?: number;
112
+ biometric?: boolean;
113
+ accessControl?: AccessControl;
114
+ }>;
115
+ export declare function createSecureAuthStorage<K extends string>(config: SecureAuthStorageConfig<K>, options?: {
116
+ namespace?: string;
117
+ }): Record<K, StorageItem<string>>;
83
118
  //# sourceMappingURL=index.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export type ScopedBatchItem = {
14
14
  };
15
15
  export declare function assertBatchScope(items: readonly ScopedBatchItem[], scope: StorageScope): void;
16
16
  export declare function decodeNativeBatchValue(value: string | undefined): string | undefined;
17
+ export declare function prefixKey(namespace: string | undefined, key: string): string;
18
+ export declare function isNamespaced(key: string, namespace: string): boolean;
17
19
  export declare function serializeWithPrimitiveFastPath<T>(value: T): string;
18
20
  export declare function deserializeWithPrimitiveFastPath<T>(value: string): T;
19
21
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAC3E,eAAO,MAAM,6BAA6B,wCACH,CAAC;AAGxC,MAAM,MAAM,cAAc,GAAG;IAC3B,sBAAsB,EAAE,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAWxE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAQ1D;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,KAAK,EAAE,YAAY,GAClB,IAAI,CAaN;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,8BAA8B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CA4BlE;AAED,wBAAgB,gCAAgC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAkCpE"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAC3E,eAAO,MAAM,6BAA6B,wCACH,CAAC;AAIxC,MAAM,MAAM,cAAc,GAAG;IAC3B,sBAAsB,EAAE,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAWxE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAQ1D;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,KAAK,EAAE,YAAY,GAClB,IAAI,CAaN;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,wBAAgB,8BAA8B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CA4BlE;AAED,wBAAgB,gCAAgC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAkCpE"}
@@ -0,0 +1,10 @@
1
+ type HookStorageItem<T> = {
2
+ get: () => T;
3
+ set: (value: T | ((prev: T) => T)) => void;
4
+ subscribe: (callback: () => void) => () => void;
5
+ };
6
+ export declare function useStorage<T>(item: HookStorageItem<T>): [T, (value: T | ((prev: T) => T)) => void];
7
+ export declare function useStorageSelector<T, TSelected>(item: HookStorageItem<T>, selector: (value: T) => TSelected, isEqual?: (prev: TSelected, next: TSelected) => boolean): [TSelected, (value: T | ((prev: T) => T)) => void];
8
+ export declare function useSetStorage<T>(item: HookStorageItem<T>): (value: T | ((prev: T) => T)) => void;
9
+ export {};
10
+ //# sourceMappingURL=storage-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-hooks.d.ts","sourceRoot":"","sources":["../../src/storage-hooks.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,GAAG,EAAE,MAAM,CAAC,CAAC;IACb,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CACjD,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GACvB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAG5C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAC7C,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,EACjC,OAAO,GAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,KAAK,OAAmB,GACjE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAwBpD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,oCAzCjB,IAAI,CA2C3C"}
@@ -18,10 +18,22 @@ namespace margelo::nitro::NitroStorage {
18
18
  prototype.registerHybridMethod("get", &HybridStorageSpec::get);
19
19
  prototype.registerHybridMethod("remove", &HybridStorageSpec::remove);
20
20
  prototype.registerHybridMethod("clear", &HybridStorageSpec::clear);
21
+ prototype.registerHybridMethod("has", &HybridStorageSpec::has);
22
+ prototype.registerHybridMethod("getAllKeys", &HybridStorageSpec::getAllKeys);
23
+ prototype.registerHybridMethod("size", &HybridStorageSpec::size);
21
24
  prototype.registerHybridMethod("setBatch", &HybridStorageSpec::setBatch);
22
25
  prototype.registerHybridMethod("getBatch", &HybridStorageSpec::getBatch);
23
26
  prototype.registerHybridMethod("removeBatch", &HybridStorageSpec::removeBatch);
27
+ prototype.registerHybridMethod("removeByPrefix", &HybridStorageSpec::removeByPrefix);
24
28
  prototype.registerHybridMethod("addOnChange", &HybridStorageSpec::addOnChange);
29
+ prototype.registerHybridMethod("setSecureAccessControl", &HybridStorageSpec::setSecureAccessControl);
30
+ prototype.registerHybridMethod("setSecureWritesAsync", &HybridStorageSpec::setSecureWritesAsync);
31
+ prototype.registerHybridMethod("setKeychainAccessGroup", &HybridStorageSpec::setKeychainAccessGroup);
32
+ prototype.registerHybridMethod("setSecureBiometric", &HybridStorageSpec::setSecureBiometric);
33
+ prototype.registerHybridMethod("getSecureBiometric", &HybridStorageSpec::getSecureBiometric);
34
+ prototype.registerHybridMethod("deleteSecureBiometric", &HybridStorageSpec::deleteSecureBiometric);
35
+ prototype.registerHybridMethod("hasSecureBiometric", &HybridStorageSpec::hasSecureBiometric);
36
+ prototype.registerHybridMethod("clearSecureBiometric", &HybridStorageSpec::clearSecureBiometric);
25
37
  });
26
38
  }
27
39