react-native-nitro-storage 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/README.md +260 -7
- package/cpp/bindings/HybridStorage.cpp +21 -0
- package/cpp/bindings/HybridStorage.hpp +2 -0
- package/cpp/core/NativeStorageAdapter.hpp +6 -0
- package/docs/api-reference.md +68 -43
- package/docs/batch-transactions-migrations.md +7 -0
- package/docs/qa/agent-device-replay.md +106 -0
- package/docs/secure-storage.md +12 -6
- package/ios/IOSStorageAdapterCpp.hpp +12 -0
- package/ios/IOSStorageAdapterCpp.mm +180 -2
- package/lib/commonjs/Storage.types.js +4 -2
- package/lib/commonjs/Storage.types.js.map +1 -1
- package/lib/commonjs/core/durability.js +30 -2
- package/lib/commonjs/core/durability.js.map +1 -1
- package/lib/commonjs/index.js +16 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +10 -1
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/shared.js +6 -0
- package/lib/commonjs/shared.js.map +1 -1
- package/lib/commonjs/storage-core.js +116 -3
- package/lib/commonjs/storage-core.js.map +1 -1
- package/lib/commonjs/testing.js +32 -2
- package/lib/commonjs/testing.js.map +1 -1
- package/lib/module/Storage.types.js +4 -2
- package/lib/module/Storage.types.js.map +1 -1
- package/lib/module/core/durability.js +30 -2
- package/lib/module/core/durability.js.map +1 -1
- package/lib/module/index.js +16 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +10 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/shared.js +5 -0
- package/lib/module/shared.js.map +1 -1
- package/lib/module/storage-core.js +117 -4
- package/lib/module/storage-core.js.map +1 -1
- package/lib/module/testing.js +31 -1
- package/lib/module/testing.js.map +1 -1
- package/lib/typescript/Storage.nitro.d.ts +2 -0
- package/lib/typescript/Storage.nitro.d.ts.map +1 -1
- package/lib/typescript/Storage.types.d.ts +4 -2
- package/lib/typescript/Storage.types.d.ts.map +1 -1
- package/lib/typescript/core/durability.d.ts +7 -1
- package/lib/typescript/core/durability.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +8 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +8 -3
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/shared.d.ts +9 -1
- package/lib/typescript/shared.d.ts.map +1 -1
- package/lib/typescript/storage-core.d.ts +34 -4
- package/lib/typescript/storage-core.d.ts.map +1 -1
- package/lib/typescript/storage-platform.d.ts +2 -0
- package/lib/typescript/storage-platform.d.ts.map +1 -1
- package/lib/typescript/testing.d.ts +16 -5
- package/lib/typescript/testing.d.ts.map +1 -1
- package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +2 -0
- package/package.json +2 -2
- package/src/Storage.nitro.ts +2 -0
- package/src/Storage.types.ts +4 -2
- package/src/core/durability.ts +46 -2
- package/src/index.ts +24 -0
- package/src/index.web.ts +18 -0
- package/src/shared.ts +27 -1
- package/src/storage-core.ts +182 -8
- package/src/storage-platform.ts +2 -0
- package/src/testing.ts +42 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createDurabilityCoordinator","createMetricsRegistry","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","toVersionToken","assertValidStorageKey","prefixKey","isNamespaced","escapeCollidingRawValue","unescapeCollidingRawValue","assertAccessControlLevel","assertBiometricLevel","canUseRawBatchPath","canUseSecureRawBatchPath","createStorageCompositeError","createKeyChange","defaultDeserialize","defaultSerialize","isKeychainLockedError","isUpdater","normalizeStorageError","notifyAllListeners","notifyKeyListeners","redactSecureKeyChange","typedKeys","StorageEventRegistry","isStorageError","StorageScope","AccessControl","BiometricLevel","EMPTY_KEYS","Object","freeze","asInternal","item","createStorageCore","buildAdapter","registeredMigrations","Map","itemGroups","registeredKeyCounts","memoryStore","memoryExpirationDeadlines","memoryItemsByKey","memoryListeners","scopedListeners","Disk","Secure","scopedRawCache","cacheHits","cacheMisses","secureDefaultAccessControl","WhenUnlocked","eventObserver","eventObserverRedactSecureValues","storageEvents","metrics","setOwnDataProperty","target","key","value","defineProperty","configurable","enumerable","writable","durability","backend","setBatch","keys","values","scope","adapter","removeBatch","setSecureAccessControl","level","resolveSecureDefaultAccessControl","getScopedListeners","getScopeRawCache","getCachedRawValueEntry","create","scopeCache","existing","get","entry","set","cacheRawValue","representation","readCachedRawValue","invalidateRawCache","delete","clearScopeRawCache","clear","snapshotCacheMetrics","cacheEntries","cacheBytes","length","invalidateMemoryItemCaches","forEach","_invalidateParsedCacheOnly","addKeyListener","registry","listener","listeners","Set","add","keyListeners","size","getEventRawValue","Memory","undefined","getRawValue","getEventRawValueForRepresentation","raw","getSecureBiometric","shouldReadPreviousEventValues","hasListeners","readPreviousEventValue","toMemoryStoredValue","deleteMemoryKey","eventForGlobalObserver","event","type","changes","map","emitKeyChange","oldValue","newValue","operation","source","onWillEmitChanges","emitKey","emitBatchChange","emitWhenEmpty","change","emitBatch","measureOperation","fn","keysCount","measure","recordMetric","durationMs","record","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","flushSecureWrites","runSecurePromotion","promotion","scheduleDiskWrite","scheduleSecureWrite","accessControl","setDiskWritesAsyncMode","enabled","setDiskWritesAsync","isDiskWritesAsync","getStoredRawValue","pending","getPendingDiskWrite","getPendingSecureWrite","getStoredRawValueForRepresentation","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","previousValuesUnreadable","getAll","error","diskFlushFailed","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","getCacheMetrics","getSecureMetadata","profile","getSecureMetadataProfile","biometricProtected","exists","kind","encrypted","hardwareBacked","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","storedValues","readPrevious","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","cached","getRenameSourceKeys","getRenameSourceRaw","invalidateRenameSourceCache","removeRenameSource","deleteSecureBiometric","restoreRenameSource","snapshot","biometricValue","setSecureBiometricWithLevel","plainValue","readRenameSnapshots","flatMap","selectedRenameValue","hasPendingCurrentWrite","hasPendingDiskWrite","hasPendingSecureWrite","hasPendingRenameSourceWrite","some","flushPendingRenameSourceWrites","clearPendingCurrentWriteIf","write","clearPendingDiskWriteIf","clearPendingSecureWriteIf","flushPendingCurrentWrite","removeCurrentBackendValue","scheduleRenameSourceCleanup","sourceKeys","atomicMutationDepth","getItemStateKeys","captureItemState","records","pendingWrite","clearPendingItemWrite","restoreItemState","rollbackErrors","recordsByKey","biometricRecords","label","plainSets","plainRemoves","runAtomicItemMutation","mutation","primaryError","writeStoredRaw","rawValue","cleanupRenameSources","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","readRollbackEvents","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
|
+
{"version":3,"names":["createDurabilityCoordinator","createMetricsRegistry","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","toVersionToken","assertValidStorageKey","prefixKey","isNamespaced","escapeCollidingRawValue","unescapeCollidingRawValue","assertAccessControlLevel","assertBiometricLevel","canUseRawBatchPath","canUseSecureRawBatchPath","createStorageCompositeError","createKeyChange","defaultDeserialize","defaultSerialize","isKeychainLockedError","isUpdater","normalizeStorageError","notifyAllListeners","notifyKeyListeners","redactSecureKeyChange","typedKeys","StorageEventRegistry","getStorageErrorCode","isStorageError","StorageScope","AccessControl","BiometricLevel","assertSynchronousCallbackResult","value","callbackKind","then","Promise","resolve","catch","undefined","TypeError","EMPTY_KEYS","Object","freeze","asInternal","item","createStorageCore","buildAdapter","registeredMigrations","Map","itemGroups","registeredKeyCounts","memoryStore","memoryExpirationDeadlines","memoryItemsByKey","memoryListeners","scopedListeners","Disk","Secure","scopedRawCache","cacheHits","cacheMisses","secureDefaultAccessControl","WhenUnlocked","eventObserver","eventObserverRedactSecureValues","storageEvents","metrics","setOwnDataProperty","target","key","defineProperty","configurable","enumerable","writable","durability","backend","setBatch","keys","values","scope","adapter","removeBatch","setSecureAccessControl","level","resolveSecureDefaultAccessControl","getScopedListeners","getScopeRawCache","getCachedRawValueEntry","create","scopeCache","existing","get","entry","set","cacheRawValue","representation","readCachedRawValue","invalidateRawCache","delete","clearScopeRawCache","clear","snapshotCacheMetrics","cacheEntries","cacheBytes","length","invalidateMemoryItemCaches","forEach","_invalidateParsedCacheOnly","addKeyListener","registry","listener","listeners","Set","add","keyListeners","size","getEventRawValue","Memory","getRawValue","getEventRawValueForRepresentation","raw","getSecureBiometric","shouldReadPreviousEventValues","hasListeners","readPreviousEventValue","toMemoryStoredValue","deleteMemoryKey","eventForGlobalObserver","event","type","changes","map","emitKeyChange","oldValue","newValue","operation","source","onWillEmitChanges","emitKey","emitBatchChange","emitWhenEmpty","change","emitBatch","measureOperation","fn","keysCount","measure","recordMetric","durationMs","record","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","flushSecureWrites","runSecurePromotion","promotion","scheduleDiskWrite","scheduleSecureWrite","accessControl","setDiskWritesAsyncMode","enabled","setDiskWritesAsync","isDiskWritesAsync","getStoredRawValue","pending","getPendingDiskWrite","getPendingSecureWrite","getStoredRawValueForRepresentation","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","previousValuesUnreadable","getAll","error","diskFlushFailed","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","setScheduledFlushErrorObserver","setMetricsObserver","setObserver","getMetricsSnapshot","getSnapshot","getScopedMetricsSnapshot","getScopedSnapshot","resetMetrics","reset","getCacheMetrics","getSecureMetadata","profile","getSecureMetadataProfile","biometricProtected","exists","kind","encrypted","hardwareBacked","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","storedValues","readPrevious","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","cached","getRenameSourceKeys","getRenameSourceRaw","invalidateRenameSourceCache","removeRenameSource","deleteSecureBiometric","restoreRenameSource","snapshot","biometricValue","setSecureBiometricWithLevel","plainValue","readRenameSnapshots","flatMap","selectedRenameValue","hasPendingCurrentWrite","hasPendingDiskWrite","hasPendingSecureWrite","hasPendingRenameSourceWrite","some","flushPendingRenameSourceWrites","clearPendingCurrentWriteIf","write","clearPendingDiskWriteIf","clearPendingSecureWriteIf","flushPendingCurrentWrite","removeCurrentBackendValue","scheduleRenameSourceCleanup","sourceKeys","atomicMutationDepth","getItemStateKeys","captureItemState","records","pendingWrite","clearPendingItemWrite","restoreItemState","rollbackErrors","recordsByKey","biometricRecords","label","plainSets","plainRemoves","runAtomicItemMutation","mutation","primaryError","writeStoredRaw","rawValue","cleanupRenameSources","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","migrateSecureAccessControl","requestedKeys","locked","missing","skipped","failed","enumerationLocked","supportsSecureAccessControlMigration","hasBiometric","code","migrateToLatest","versions","sort","a","b","appliedVersion","runTransaction","tx","migrationResult","setRaw","String","transaction","NOT_SET","Symbol","rollback","itemRenameStates","transactionOpen","assertTransactionOpen","rememberRollback","includeOtherSecureRepresentation","rememberRepresentation","representationToRemember","identity","rememberItemRollback","aliasKey","getRaw","removeRaw","getItem","setItem","removeItem","rollbackEntries","reverse","rollbackSource","readRollbackEvents","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":[]}
|
package/lib/module/testing.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { createIndexedDBBackend as createIndexedDBBackendFromSubpath } from "./indexeddb-backend";
|
|
4
|
-
import { assertAccessControlLevel, notifyAllListeners, notifyKeyListeners } from "./shared";
|
|
4
|
+
import { assertAccessControlLevel, assertProtectedDataListener, notifyAllListeners, notifyKeyListeners } from "./shared";
|
|
5
5
|
import { createStorageCore } from "./storage-core";
|
|
6
6
|
import { StorageScope, AccessControl } from "./Storage.types";
|
|
7
7
|
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
@@ -120,6 +120,7 @@ function buildTestingModule() {
|
|
|
120
120
|
backend,
|
|
121
121
|
changeSource: "native",
|
|
122
122
|
applyAccessControlOnSecureRawWrite: true,
|
|
123
|
+
supportsSecureAccessControlMigration: () => true,
|
|
123
124
|
ensureScopeSubscription: _scope => {},
|
|
124
125
|
maybeCleanupScopeSubscription: _scope => {},
|
|
125
126
|
onWillEmitChanges: () => {},
|
|
@@ -134,12 +135,22 @@ function buildTestingModule() {
|
|
|
134
135
|
const {
|
|
135
136
|
internals
|
|
136
137
|
} = core;
|
|
138
|
+
let protectedDataAvailable = true;
|
|
139
|
+
const protectedDataListeners = new Set();
|
|
137
140
|
const storage = {
|
|
138
141
|
...core.storage,
|
|
139
142
|
setAccessControl: level => {
|
|
140
143
|
assertAccessControlLevel(level);
|
|
141
144
|
internals.setSecureDefaultAccessControl(level);
|
|
142
145
|
},
|
|
146
|
+
isProtectedDataAvailable: () => protectedDataAvailable,
|
|
147
|
+
onProtectedDataAvailable: listener => {
|
|
148
|
+
assertProtectedDataListener(listener);
|
|
149
|
+
protectedDataListeners.add(listener);
|
|
150
|
+
return () => {
|
|
151
|
+
protectedDataListeners.delete(listener);
|
|
152
|
+
};
|
|
153
|
+
},
|
|
143
154
|
setSecureWritesAsync: _enabled => {},
|
|
144
155
|
setKeychainAccessGroup: _group => {},
|
|
145
156
|
getCapabilities: () => ({
|
|
@@ -176,8 +187,23 @@ function buildTestingModule() {
|
|
|
176
187
|
}
|
|
177
188
|
})
|
|
178
189
|
};
|
|
190
|
+
const setProtectedDataAvailable = available => {
|
|
191
|
+
if (typeof available !== "boolean") {
|
|
192
|
+
throw new TypeError("NitroStorage: Protected data availability must be a boolean");
|
|
193
|
+
}
|
|
194
|
+
const wasAvailable = protectedDataAvailable;
|
|
195
|
+
protectedDataAvailable = available;
|
|
196
|
+
if (available && !wasAvailable) {
|
|
197
|
+
Array.from(protectedDataListeners).forEach(listener => {
|
|
198
|
+
listener();
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
};
|
|
179
202
|
const reset = () => {
|
|
203
|
+
protectedDataAvailable = true;
|
|
204
|
+
protectedDataListeners.clear();
|
|
180
205
|
storage.setEventObserver(undefined);
|
|
206
|
+
storage.setScheduledFlushErrorObserver(undefined);
|
|
181
207
|
storage.setMetricsObserver(undefined);
|
|
182
208
|
storage.resetMetrics();
|
|
183
209
|
storage.clearAll();
|
|
@@ -196,8 +222,10 @@ function buildTestingModule() {
|
|
|
196
222
|
removeBatch: core.removeBatch,
|
|
197
223
|
registerMigration: core.registerMigration,
|
|
198
224
|
migrateToLatest: core.migrateToLatest,
|
|
225
|
+
migrateSecureAccessControl: core.migrateSecureAccessControl,
|
|
199
226
|
runTransaction: core.runTransaction,
|
|
200
227
|
createSecureAuthStorage: core.createSecureAuthStorage,
|
|
228
|
+
setProtectedDataAvailable,
|
|
201
229
|
reset
|
|
202
230
|
};
|
|
203
231
|
}
|
|
@@ -213,8 +241,10 @@ export const setBatch = defaultModule.setBatch;
|
|
|
213
241
|
export const removeBatch = defaultModule.removeBatch;
|
|
214
242
|
export const registerMigration = defaultModule.registerMigration;
|
|
215
243
|
export const migrateToLatest = defaultModule.migrateToLatest;
|
|
244
|
+
export const migrateSecureAccessControl = defaultModule.migrateSecureAccessControl;
|
|
216
245
|
export const runTransaction = defaultModule.runTransaction;
|
|
217
246
|
export const createSecureAuthStorage = defaultModule.createSecureAuthStorage;
|
|
247
|
+
export const setMockProtectedDataAvailable = defaultModule.setProtectedDataAvailable;
|
|
218
248
|
export function setWebSecureStorageBackend(_backend) {}
|
|
219
249
|
export function getWebSecureStorageBackend() {
|
|
220
250
|
return undefined;
|