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.
- package/CHANGELOG.md +107 -25
- package/README.md +140 -27
- package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +5 -2
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +240 -34
- package/cpp/bindings/HybridStorage.cpp +109 -293
- package/cpp/bindings/HybridStorage.hpp +17 -10
- package/docs/api-reference.md +75 -19
- package/docs/benchmarks.md +6 -1
- package/docs/keychain-lifecycle-testing.md +36 -0
- package/docs/recipes.md +1 -2
- package/docs/secure-storage.md +45 -9
- package/ios/IOSStorageAdapterCpp.mm +391 -175
- package/lib/commonjs/capabilities.js +3 -1
- package/lib/commonjs/capabilities.js.map +1 -1
- package/lib/commonjs/core/durability.js +110 -43
- package/lib/commonjs/core/durability.js.map +1 -1
- package/lib/commonjs/index.js +15 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +219 -97
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/internal.js +3 -11
- package/lib/commonjs/internal.js.map +1 -1
- package/lib/commonjs/shared.js +62 -2
- package/lib/commonjs/shared.js.map +1 -1
- package/lib/commonjs/storage-core.js +859 -145
- package/lib/commonjs/storage-core.js.map +1 -1
- package/lib/commonjs/storage-runtime.js +5 -1
- package/lib/commonjs/storage-runtime.js.map +1 -1
- package/lib/commonjs/testing.js +13 -0
- package/lib/commonjs/testing.js.map +1 -1
- package/lib/module/capabilities.js +2 -1
- package/lib/module/capabilities.js.map +1 -1
- package/lib/module/core/durability.js +110 -43
- package/lib/module/core/durability.js.map +1 -1
- package/lib/module/index.js +12 -8
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +215 -99
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/internal.js +2 -9
- package/lib/module/internal.js.map +1 -1
- package/lib/module/shared.js +60 -2
- package/lib/module/shared.js.map +1 -1
- package/lib/module/storage-core.js +860 -146
- package/lib/module/storage-core.js.map +1 -1
- package/lib/module/storage-runtime.js +4 -1
- package/lib/module/storage-runtime.js.map +1 -1
- package/lib/module/testing.js +8 -1
- package/lib/module/testing.js.map +1 -1
- package/lib/typescript/capabilities.d.ts +2 -1
- package/lib/typescript/capabilities.d.ts.map +1 -1
- package/lib/typescript/core/durability.d.ts +7 -2
- package/lib/typescript/core/durability.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +3 -29
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/internal.d.ts +0 -2
- package/lib/typescript/internal.d.ts.map +1 -1
- package/lib/typescript/shared.d.ts +19 -0
- package/lib/typescript/shared.d.ts.map +1 -1
- package/lib/typescript/storage-core.d.ts +12 -3
- package/lib/typescript/storage-core.d.ts.map +1 -1
- package/lib/typescript/storage-runtime.d.ts +2 -1
- package/lib/typescript/storage-runtime.d.ts.map +1 -1
- package/lib/typescript/testing.d.ts +1 -1
- package/lib/typescript/testing.d.ts.map +1 -1
- package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +1 -1
- package/package.json +3 -3
- package/react-native-nitro-storage.podspec +3 -1
- package/src/capabilities.ts +3 -1
- package/src/core/durability.ts +139 -39
- package/src/index.ts +20 -10
- package/src/index.web.ts +328 -166
- package/src/internal.ts +0 -14
- package/src/shared.ts +85 -0
- package/src/storage-core.ts +1165 -199
- package/src/storage-runtime.ts +6 -0
- package/src/testing.ts +8 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createDurabilityCoordinator","createMetricsRegistry","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","toVersionToken","prefixKey","isNamespaced","escapeCollidingRawValue","unescapeCollidingRawValue","assertAccessControlLevel","assertBiometricLevel","canUseRawBatchPath","canUseSecureRawBatchPath","createKeyChange","defaultDeserialize","defaultSerialize","isKeychainLockedError","isUpdater","notifyAllListeners","notifyKeyListeners","redactSecureKeyChange","typedKeys","StorageEventRegistry","StorageScope","AccessControl","BiometricLevel","EMPTY_KEYS","Object","freeze","asInternal","item","createStorageCore","buildAdapter","registeredMigrations","Map","itemGroups","registeredKeyCounts","memoryStore","memoryListeners","scopedListeners","Disk","Secure","scopedRawCache","secureDefaultAccessControl","WhenUnlocked","eventObserver","eventObserverRedactSecureValues","storageEvents","metrics","durability","backend","setBatch","keys","values","scope","adapter","removeBatch","setSecureAccessControl","level","resolveSecureDefaultAccessControl","getScopedListeners","getScopeRawCache","cacheRawValue","key","value","set","readCachedRawValue","get","clearScopeRawCache","clear","addKeyListener","registry","listener","listeners","Set","add","keyListeners","delete","size","getEventRawValue","Memory","undefined","getRawValue","shouldReadPreviousEventValues","hasListeners","eventForGlobalObserver","event","type","changes","map","emitKeyChange","oldValue","newValue","operation","source","onWillEmitChanges","emitKey","emitBatchChange","length","change","emitBatch","measureOperation","fn","keysCount","measure","recordMetric","durationMs","record","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","flushSecureWrites","scheduleDiskWrite","scheduleSecureWrite","accessControl","setDiskWritesAsyncMode","enabled","setDiskWritesAsync","isDiskWritesAsync","getStoredRawValue","pending","raw","setRawValue","storedValue","changeSource","applyAccessControlOnSecureRawWrite","removeRawValue","remove","readMigrationVersion","parsed","Number","parseInt","isFinite","internals","clearAllPendingDiskWrites","clearAllPendingSecureWrites","hasEventObserver","hasScopeEventListeners","getSecureDefaultAccessControl","setSecureDefaultAccessControl","resolveKeyRef","ref","clearScopeExcept","exceptRefs","keep","removeKeys","Array","from","filter","has","previousValues","forEach","index","getAllKeys","getBatch","storage","subscribe","ensureScopeSubscription","unsubscribe","maybeCleanupScopeSubscription","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","setEventObserver","observer","options","redactSecureValues","except","getAll","clearAll","clearGroup","group","items","byScope","scoped","push","groupItems","getGroupItems","subscribeExpired","findDuplicateKeys","duplicates","count","registryKey","separatorIndex","indexOf","slice","getRegisteredKeys","result","_count","clearNamespace","affectedKeys","keyPrefix","getByPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getKeysByPrefix","startsWith","idx","val","export","includeSecureValues","Error","exportSecureUnsafe","setMetricsObserver","setObserver","getMetricsSnapshot","getSnapshot","getScopedMetricsSnapshot","getScopedSnapshot","resetMetrics","reset","getSecureMetadata","profile","getSecureMetadataProfile","biometricProtected","hasSecureBiometric","exists","kind","encrypted","hardwareBacked","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","storedValues","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","renameFromKeys","renameFrom","fallbackToCacheOnReadError","onReadError","renamesMigrated","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","resolveNonMemoryScope","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","expiredRaw","memoryStored","migrateRenamesIfNeeded","cache","cached","readBackendRaw","getSecureBiometric","read","error","writeStoredRaw","rawValue","setSecureBiometricWithLevel","hasCurrent","legacyKey","deleteSecureBiometric","legacyRaw","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","version","valueOrFn","setIfVersion","currentVersion","deleteItem","merge","partial","prev","setOrDelete","hasItem","subscribeSelector","selector","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_deleteMemoryEntry","_hasValidation","_hasExpiration","_readCacheEnabled","_isBiometric","_biometricLevel","_defaultValue","_secureAccessControl","_group","groupSet","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","oldValues","groupedByAccessControl","existingGroup","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","runTransaction","tx","setRaw","String","transaction","NOT_SET","Symbol","rollback","rememberRollback","getRaw","removeRaw","getItem","setItem","removeItem","rollbackEntries","entries","reverse","rollbackSource","preRollbackValues","groupedKeysToSet","keysToRemove","createSecureAuthStorage","ns","itemConfig","expirationConfig","memoryItem","diskItem","secureItem","createSetItem","rest","initial","id","deleteId","current","next","toggle"],"sourceRoot":"../../src","sources":["storage-core.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createDurabilityCoordinator","createMetricsRegistry","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","toVersionToken","prefixKey","isNamespaced","escapeCollidingRawValue","unescapeCollidingRawValue","assertAccessControlLevel","assertBiometricLevel","canUseRawBatchPath","canUseSecureRawBatchPath","createStorageCompositeError","createKeyChange","defaultDeserialize","defaultSerialize","isKeychainLockedError","isUpdater","normalizeStorageError","notifyAllListeners","notifyKeyListeners","redactSecureKeyChange","typedKeys","StorageEventRegistry","StorageScope","AccessControl","BiometricLevel","EMPTY_KEYS","Object","freeze","asInternal","item","createStorageCore","buildAdapter","registeredMigrations","Map","itemGroups","registeredKeyCounts","memoryStore","memoryExpirationDeadlines","memoryItemsByKey","memoryListeners","scopedListeners","Disk","Secure","scopedRawCache","secureDefaultAccessControl","WhenUnlocked","eventObserver","eventObserverRedactSecureValues","storageEvents","metrics","durability","backend","setBatch","keys","values","scope","adapter","removeBatch","setSecureAccessControl","level","resolveSecureDefaultAccessControl","getScopedListeners","getScopeRawCache","getCachedRawValueEntry","key","create","scopeCache","existing","get","entry","set","cacheRawValue","value","representation","readCachedRawValue","invalidateRawCache","delete","clearScopeRawCache","clear","invalidateMemoryItemCaches","forEach","_invalidateParsedCacheOnly","addKeyListener","registry","listener","listeners","Set","add","keyListeners","size","getEventRawValue","Memory","undefined","getRawValue","getEventRawValueForRepresentation","raw","getSecureBiometric","shouldReadPreviousEventValues","hasListeners","eventForGlobalObserver","event","type","changes","map","emitKeyChange","oldValue","newValue","operation","source","onWillEmitChanges","emitKey","emitBatchChange","length","change","emitBatch","measureOperation","fn","keysCount","measure","recordMetric","durationMs","record","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","flushSecureWrites","runSecurePromotion","promotion","scheduleDiskWrite","scheduleSecureWrite","accessControl","setDiskWritesAsyncMode","enabled","setDiskWritesAsync","isDiskWritesAsync","getStoredRawValue","getStoredRawValueForRepresentation","pending","setRawValue","storedValue","changeSource","applyAccessControlOnSecureRawWrite","removeRawValue","remove","readMigrationVersion","parsed","Number","parseInt","isFinite","internals","clearAllPendingDiskWrites","clearAllPendingSecureWrites","hasEventObserver","hasScopeEventListeners","getSecureDefaultAccessControl","setSecureDefaultAccessControl","resolveKeyRef","ref","clearScopeExcept","exceptRefs","keep","removeKeys","Array","from","filter","has","previousValues","index","getAllKeys","getBatch","storage","subscribe","ensureScopeSubscription","unsubscribe","maybeCleanupScopeSubscription","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","setEventObserver","observer","options","redactSecureValues","except","getAll","clearAll","clearGroup","group","items","byScope","scoped","push","groupItems","getGroupItems","subscribeExpired","findDuplicateKeys","duplicates","count","registryKey","separatorIndex","indexOf","slice","getRegisteredKeys","result","_count","clearNamespace","affectedKeys","keyPrefix","getByPrefix","removeByPrefix","clearBiometric","readEventValues","shouldEmitChanges","biometricKeys","hasSecureBiometric","clearSecureBiometric","getKeysByPrefix","startsWith","idx","val","export","includeSecureValues","Error","exportSecureUnsafe","setMetricsObserver","setObserver","getMetricsSnapshot","getSnapshot","getScopedMetricsSnapshot","getScopedSnapshot","resetMetrics","reset","getSecureMetadata","profile","getSecureMetadataProfile","biometricProtected","exists","kind","encrypted","hardwareBacked","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","storedValues","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","rawCacheRepresentation","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","renameFromKeys","renameFrom","fallbackToCacheOnReadError","onReadError","renamesMigrated","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","resolveNonMemoryScope","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","expiredRaw","memoryStored","migrateRenamesIfNeeded","cachedEntry","readBackendRaw","read","error","cached","getRenameSourceKeys","getRenameSourceRaw","invalidateRenameSourceCache","removeRenameSource","deleteSecureBiometric","restoreRenameSource","snapshot","biometricValue","setSecureBiometricWithLevel","plainValue","readRenameSnapshots","flatMap","selectedRenameValue","hasPendingCurrentWrite","hasPendingRenameSourceWrite","some","flushPendingRenameSourceWrites","clearPendingCurrentWriteIf","write","clearPendingDiskWriteIf","clearPendingSecureWriteIf","flushPendingCurrentWrite","removeCurrentBackendValue","scheduleRenameSourceCleanup","sourceKeys","atomicMutationDepth","getItemStateKeys","captureItemState","records","readPendingSecureAccessControl","clearPendingItemWrite","restoreItemState","rollbackErrors","recordsByKey","biometricRecords","label","plainSets","plainRemoves","runAtomicItemMutation","mutation","primaryError","writeStoredRaw","rawValue","cleanupRenameSources","pendingWrite","hasCurrent","snapshots","find","candidate","writeAttempted","pendingCurrentWrite","renameSnapshot","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","version","valueOrFn","setIfVersion","didSet","currentVersion","deleteItem","merge","partial","prev","setOrDelete","hasItem","subscribeSelector","selector","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_deleteMemoryEntry","_hasValidation","_hasExpiration","_hasRenameFrom","_renameFromKeys","_getRenameMigrationState","_setRenameMigrationState","migrated","_readCacheEnabled","_isBiometric","_biometricLevel","_defaultValue","_secureAccessControl","_group","groupSet","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","internal","secureEntries","canUseSecureBatchPath","serializedValues","oldValues","groupedByAccessControl","existingGroup","willEmitChanges","plainItems","plainValues","plainIndex","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","runTransaction","tx","setRaw","String","transaction","NOT_SET","Symbol","rollback","itemRenameStates","rememberRollback","includeOtherSecureRepresentation","rememberRepresentation","representationToRemember","identity","rememberItemRollback","aliasKey","getRaw","removeRaw","getItem","setItem","removeItem","rollbackEntries","reverse","rollbackSource","readRollbackEventValue","readError","preRollbackValues","rollbackError","groupedKeysToSet","keysToRemove","biometricEntries","biometricValues","flushError","keysToRemoveWithoutBiometric","createSecureAuthStorage","ns","itemConfig","expirationConfig","memoryItem","diskItem","secureItem","createSetItem","rest","initial","id","current","next","deleteId","toggle","getTyped","typed"],"sourceRoot":"../../src","sources":["storage-core.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
const STORAGE_ERROR_TAG_PATTERN = /\[nitro-error:([a-z_]+)\]/;
|
|
4
|
-
const STORAGE_ERROR_CODES = new Set(["keychain_locked", "authentication_required", "key_invalidated", "storage_corruption", "biometric_unavailable", "unsupported"]);
|
|
4
|
+
const STORAGE_ERROR_CODES = new Set(["keychain_locked", "authentication_required", "key_invalidated", "storage_corruption", "storage_compensation_failed", "biometric_unavailable", "unsupported"]);
|
|
5
5
|
export function getStorageErrorCode(err) {
|
|
6
6
|
if (!(err instanceof Error)) {
|
|
7
7
|
return undefined;
|
|
@@ -12,6 +12,9 @@ export function getStorageErrorCode(err) {
|
|
|
12
12
|
}
|
|
13
13
|
return undefined;
|
|
14
14
|
}
|
|
15
|
+
export function isStorageError(err, code) {
|
|
16
|
+
return getStorageErrorCode(err) === code;
|
|
17
|
+
}
|
|
15
18
|
export function isLockedStorageErrorCode(code) {
|
|
16
19
|
return code === "keychain_locked" || code === "authentication_required" || code === "key_invalidated";
|
|
17
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["STORAGE_ERROR_TAG_PATTERN","STORAGE_ERROR_CODES","Set","getStorageErrorCode","err","Error","undefined","taggedCode","message","match","has","
|
|
1
|
+
{"version":3,"names":["STORAGE_ERROR_TAG_PATTERN","STORAGE_ERROR_CODES","Set","getStorageErrorCode","err","Error","undefined","taggedCode","message","match","has","isStorageError","code","isLockedStorageErrorCode"],"sourceRoot":"../../src","sources":["storage-runtime.ts"],"mappings":";;AAyDA,MAAMA,yBAAyB,GAAG,2BAA2B;AAE7D,MAAMC,mBAAmB,GAAG,IAAIC,GAAG,CAAmB,CACpD,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAC7B,uBAAuB,EACvB,aAAa,CACd,CAAC;AAEF,OAAO,SAASC,mBAAmBA,CACjCC,GAAY,EACkB;EAC9B,IAAI,EAAEA,GAAG,YAAYC,KAAK,CAAC,EAAE;IAC3B,OAAOC,SAAS;EAClB;EAEA,MAAMC,UAAU,GAAGH,GAAG,CAACI,OAAO,CAACC,KAAK,CAACT,yBAAyB,CAAC,GAAG,CAAC,CAAC;EAEpE,IACEO,UAAU,KAAKD,SAAS,IACxBL,mBAAmB,CAACS,GAAG,CAACH,UAA8B,CAAC,EACvD;IACA,OAAOA,UAAU;EACnB;EAEA,OAAOD,SAAS;AAClB;AAEA,OAAO,SAASK,cAAcA,CAACP,GAAY,EAAEQ,IAAsB,EAAW;EAC5E,OAAOT,mBAAmB,CAACC,GAAG,CAAC,KAAKQ,IAAI;AAC1C;AAEA,OAAO,SAASC,wBAAwBA,CACtCD,IAAkC,EACzB;EACT,OACEA,IAAI,KAAK,iBAAiB,IAC1BA,IAAI,KAAK,yBAAyB,IAClCA,IAAI,KAAK,iBAAiB;AAE9B","ignoreList":[]}
|
package/lib/module/testing.js
CHANGED
|
@@ -6,7 +6,7 @@ import { StorageScope, AccessControl } from "./Storage.types";
|
|
|
6
6
|
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
7
7
|
export { isKeychainLockedError } from "./shared";
|
|
8
8
|
export { migrateFromMMKV } from "./migration";
|
|
9
|
-
export { getStorageErrorCode } from "./storage-runtime";
|
|
9
|
+
export { getStorageErrorCode, isStorageError } from "./storage-runtime";
|
|
10
10
|
export { createIndexedDBBackend } from "./indexeddb-backend";
|
|
11
11
|
export { describeWebBackendCapabilities, isIndexedDBWebBackend } from "./web-backend-contract";
|
|
12
12
|
export { useSetStorage, useStorage, useStorageActions, useStorageSelector, useStorageValue } from "./storage-hooks";
|
|
@@ -28,6 +28,9 @@ function createInMemoryBackend() {
|
|
|
28
28
|
},
|
|
29
29
|
remove: (key, scope) => {
|
|
30
30
|
storeFor(scope).delete(key);
|
|
31
|
+
if (scope === StorageScope.Secure) {
|
|
32
|
+
biometricStore.delete(key);
|
|
33
|
+
}
|
|
31
34
|
},
|
|
32
35
|
clear: scope => {
|
|
33
36
|
storeFor(scope).clear();
|
|
@@ -52,6 +55,9 @@ function createInMemoryBackend() {
|
|
|
52
55
|
removeBatch: (keys, scope) => {
|
|
53
56
|
const store = storeFor(scope);
|
|
54
57
|
keys.forEach(key => store.delete(key));
|
|
58
|
+
if (scope === StorageScope.Secure) {
|
|
59
|
+
keys.forEach(key => biometricStore.delete(key));
|
|
60
|
+
}
|
|
55
61
|
},
|
|
56
62
|
removeByPrefix: (prefix, scope) => {
|
|
57
63
|
const store = storeFor(scope);
|
|
@@ -65,6 +71,7 @@ function createInMemoryBackend() {
|
|
|
65
71
|
getSecureBiometric: key => biometricStore.get(key),
|
|
66
72
|
setSecureBiometricWithLevel: (key, value) => {
|
|
67
73
|
biometricStore.set(key, value);
|
|
74
|
+
storeFor(StorageScope.Secure).delete(key);
|
|
68
75
|
},
|
|
69
76
|
deleteSecureBiometric: key => {
|
|
70
77
|
biometricStore.delete(key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["assertAccessControlLevel","createStorageCore","StorageScope","AccessControl","BiometricLevel","isKeychainLockedError","migrateFromMMKV","getStorageErrorCode","createIndexedDBBackend","describeWebBackendCapabilities","isIndexedDBWebBackend","useSetStorage","useStorage","useStorageActions","useStorageSelector","useStorageValue","TEST_SECURE_BACKEND","createInMemoryBackend","stores","Map","Disk","Secure","biometricStore","storeFor","scope","store","get","Error","key","set","value","remove","delete","clear","has","getAllKeys","Array","from","keys","getKeysByPrefix","prefix","filter","startsWith","size","setBatch","values","forEach","index","undefined","getBatch","map","removeBatch","removeByPrefix","setSecureAccessControl","getSecureBiometric","setSecureBiometricWithLevel","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","resetState","buildTestingModule","backend","buildAdapter","_internals","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","_scope","maybeCleanupScopeSubscription","onWillEmitChanges","getSecureMetadataProfile","encrypted","hardwareBacked","core","internals","storage","setAccessControl","level","setSecureDefaultAccessControl","setSecureWritesAsync","_enabled","setKeychainAccessGroup","_group","getCapabilities","platform","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","accessControl","keychainAccessGroup","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","reset","setEventObserver","setMetricsObserver","resetMetrics","clearAll","WhenUnlocked","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","defaultModule","resetNitroStorageMock","createNitroStorageMock"],"sourceRoot":"../../src","sources":["testing.ts"],"mappings":";;AAAA,SAASA,wBAAwB,QAAQ,UAAU;AAEnD,SACEC,iBAAiB,QAIZ,gBAAgB;AAKvB,SAASC,YAAY,EAAEC,aAAa,QAAQ,iBAAiB;AAE7D,SAASD,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,iBAAiB;AAC7E,SAASC,qBAAqB,QAAQ,UAAU;AAChD,SAASC,eAAe,QAAQ,aAAa;AAC7C,SAASC,mBAAmB,QAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"names":["assertAccessControlLevel","createStorageCore","StorageScope","AccessControl","BiometricLevel","isKeychainLockedError","migrateFromMMKV","getStorageErrorCode","isStorageError","createIndexedDBBackend","describeWebBackendCapabilities","isIndexedDBWebBackend","useSetStorage","useStorage","useStorageActions","useStorageSelector","useStorageValue","TEST_SECURE_BACKEND","createInMemoryBackend","stores","Map","Disk","Secure","biometricStore","storeFor","scope","store","get","Error","key","set","value","remove","delete","clear","has","getAllKeys","Array","from","keys","getKeysByPrefix","prefix","filter","startsWith","size","setBatch","values","forEach","index","undefined","getBatch","map","removeBatch","removeByPrefix","setSecureAccessControl","getSecureBiometric","setSecureBiometricWithLevel","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","resetState","buildTestingModule","backend","buildAdapter","_internals","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","_scope","maybeCleanupScopeSubscription","onWillEmitChanges","getSecureMetadataProfile","encrypted","hardwareBacked","core","internals","storage","setAccessControl","level","setSecureDefaultAccessControl","setSecureWritesAsync","_enabled","setKeychainAccessGroup","_group","getCapabilities","platform","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","accessControl","keychainAccessGroup","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","reset","setEventObserver","setMetricsObserver","resetMetrics","clearAll","WhenUnlocked","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","defaultModule","resetNitroStorageMock","createNitroStorageMock"],"sourceRoot":"../../src","sources":["testing.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,5 +7,6 @@ export type PlatformCapabilityProfile = {
|
|
|
7
7
|
writeBuffering: WriteBuffering;
|
|
8
8
|
};
|
|
9
9
|
export declare function resolveWebWriteBuffering(diskBackendName: string | undefined, secureBackendName: string | undefined): WriteBuffering;
|
|
10
|
-
export declare
|
|
10
|
+
export declare const DEFAULT_SECURE_WRITES_ASYNC = false;
|
|
11
|
+
export declare function resolveNativeWriteBuffering(platform: "ios" | "android", secureWritesAsync?: boolean): WriteBuffering;
|
|
11
12
|
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,iBAAiB,EAAE,MAAM,GAAG,SAAS,GACpC,cAAc,CAKhB;AASD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,iBAAiB,EAAE,MAAM,GAAG,SAAS,GACpC,cAAc,CAKhB;AASD,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,iBAAiB,GAAE,OAAqC,GACvD,cAAc,CAKhB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type AccessControl } from "../Storage.types";
|
|
2
|
+
import type { PendingDiskWrite, PendingSecureWrite } from "../shared";
|
|
2
3
|
export type DurabilityBackend = {
|
|
3
4
|
setBatch(keys: string[], values: string[], scope: number): void;
|
|
4
5
|
removeBatch(keys: string[], scope: number): void;
|
|
@@ -11,14 +12,18 @@ export type DurabilityCoordinator = {
|
|
|
11
12
|
hasPendingSecureWrite(key: string): boolean;
|
|
12
13
|
readPendingDiskWrite(key: string): string | undefined;
|
|
13
14
|
readPendingSecureWrite(key: string): string | undefined;
|
|
15
|
+
readPendingSecureAccessControl(key: string): AccessControl | undefined;
|
|
14
16
|
clearPendingDiskWrite(key: string): void;
|
|
15
17
|
clearPendingSecureWrite(key: string): void;
|
|
18
|
+
clearPendingDiskWriteIf(write: PendingDiskWrite): void;
|
|
19
|
+
clearPendingSecureWriteIf(write: PendingSecureWrite): void;
|
|
16
20
|
clearAllPendingDiskWrites(): void;
|
|
17
21
|
clearAllPendingSecureWrites(): void;
|
|
18
|
-
scheduleDiskWrite(key: string, value: string | undefined):
|
|
19
|
-
scheduleSecureWrite(key: string, value: string | undefined, accessControl?: AccessControl):
|
|
22
|
+
scheduleDiskWrite(key: string, value: string | undefined): PendingDiskWrite;
|
|
23
|
+
scheduleSecureWrite(key: string, value: string | undefined, accessControl?: AccessControl): PendingSecureWrite;
|
|
20
24
|
flushDiskWrites(): void;
|
|
21
25
|
flushSecureWrites(): void;
|
|
26
|
+
runSecurePromotion<T>(key: string, promotion: () => T): T;
|
|
22
27
|
};
|
|
23
28
|
export declare function createDurabilityCoordinator(options: {
|
|
24
29
|
backend: DurabilityBackend;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durability.d.ts","sourceRoot":"","sources":["../../../src/core/durability.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"durability.d.ts","sourceRoot":"","sources":["../../../src/core/durability.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,iBAAiB,IAAI,OAAO,CAAC;IAC7B,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1C,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACxD,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACvE,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvD,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3D,yBAAyB,IAAI,IAAI,CAAC;IAClC,2BAA2B,IAAI,IAAI,CAAC;IACpC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAC;IAC5E,mBAAmB,CACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,aAAa,CAAC,EAAE,aAAa,GAC5B,kBAAkB,CAAC;IACtB,eAAe,IAAI,IAAI,CAAC;IACxB,iBAAiB,IAAI,IAAI,CAAC;IAC1B,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CAC3D,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,iCAAiC,IAAI,aAAa,CAAC;CACpD,GAAG,qBAAqB,CAuOxB"}
|
|
@@ -2,12 +2,12 @@ import type { SecurityCapabilities, StorageCapabilities } from "./storage-runtim
|
|
|
2
2
|
import type { AccessControl } from "./Storage.types";
|
|
3
3
|
import { StorageScope } from "./Storage.types";
|
|
4
4
|
import type { WebDiskStorageBackend, WebSecureStorageBackend } from "./web-storage-backend";
|
|
5
|
-
export type { ExpirationConfig, Migration, MigrationContext, SecureAuthStorageConfig, StorageEventObserverOptions, StorageExportOptions, StorageMetricSummary, StorageMetricsEvent, StorageMetricsObserver, StorageSelectorListener, StorageSelectorSubscribeOptions, StorageVersion, Validator, VersionedValue, } from "./shared";
|
|
5
|
+
export type { ExpirationConfig, Migration, MigrationContext, SecureAuthStorageConfig, StorageEventObserverOptions, StorageExportOptions, StorageMetricSummary, StorageMetricsEvent, StorageMetricsObserver, StorageSelectorListener, StorageSelectorSubscribeOptions, StorageCompositeError, StorageCompensationError, StorageVersion, Validator, VersionedValue, } from "./shared";
|
|
6
6
|
export { isKeychainLockedError } from "./shared";
|
|
7
7
|
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
8
8
|
export type { Storage } from "./Storage.nitro";
|
|
9
9
|
export { migrateFromMMKV } from "./migration";
|
|
10
|
-
export { getStorageErrorCode, type SecureStorageMetadata, type SecurityCapabilities, type StorageCapabilities, type StorageErrorCode, } from "./storage-runtime";
|
|
10
|
+
export { getStorageErrorCode, isStorageError, type SecureStorageMetadata, type SecurityCapabilities, type StorageCapabilities, type StorageErrorCode, } from "./storage-runtime";
|
|
11
11
|
export type { StorageBatchChangeEvent, StorageChangeEvent, StorageChangeOperation, StorageChangeSource, StorageEventListener, StorageKeyChangeEvent, } from "./storage-events";
|
|
12
12
|
export type { StorageActions, StorageSetter } from "./storage-hooks";
|
|
13
13
|
export type { WebDiskStorageBackend, WebSecureStorageBackend, WebStorageBackend, WebStorageChangeEvent, WebStorageScope, } from "./web-storage-backend";
|