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
|
@@ -64,7 +64,7 @@ Object.defineProperty(exports, "migrateFromMMKV", {
|
|
|
64
64
|
return _migration.migrateFromMMKV;
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
|
-
exports.setBatch = exports.secureItem = exports.runTransaction = exports.removeBatch = exports.registerMigration = exports.migrateToLatest = void 0;
|
|
67
|
+
exports.setBatch = exports.secureItem = exports.runTransaction = exports.removeBatch = exports.registerMigration = exports.migrateToLatest = exports.migrateSecureAccessControl = void 0;
|
|
68
68
|
exports.setWebDiskStorageBackend = setWebDiskStorageBackend;
|
|
69
69
|
exports.setWebSecureStorageBackend = setWebSecureStorageBackend;
|
|
70
70
|
exports.storage = void 0;
|
|
@@ -601,6 +601,11 @@ const WebStorage = {
|
|
|
601
601
|
},
|
|
602
602
|
setSecureWritesAsync: _enabled => {},
|
|
603
603
|
setKeychainAccessGroup: () => {},
|
|
604
|
+
isProtectedDataAvailable: () => true,
|
|
605
|
+
onProtectedDataAvailable: listener => {
|
|
606
|
+
(0, _shared.assertProtectedDataListener)(listener);
|
|
607
|
+
return () => {};
|
|
608
|
+
},
|
|
604
609
|
setSecureBiometric: (key, value) => {
|
|
605
610
|
WebStorage.setSecureBiometricWithLevel(key, value, _Storage.BiometricLevel.BiometryOnly);
|
|
606
611
|
},
|
|
@@ -724,6 +729,7 @@ function buildWebAdapter(coreInternals) {
|
|
|
724
729
|
backend: WebStorage,
|
|
725
730
|
changeSource: "web",
|
|
726
731
|
applyAccessControlOnSecureRawWrite: false,
|
|
732
|
+
supportsSecureAccessControlMigration: () => false,
|
|
727
733
|
ensureScopeSubscription: () => {
|
|
728
734
|
ensureExternalSyncSubscriptions();
|
|
729
735
|
},
|
|
@@ -744,6 +750,8 @@ const storage = exports.storage = {
|
|
|
744
750
|
getInternals().setSecureDefaultAccessControl(level);
|
|
745
751
|
getInternals().recordMetric("storage:setAccessControl", _Storage.StorageScope.Secure, 0);
|
|
746
752
|
},
|
|
753
|
+
isProtectedDataAvailable: () => WebStorage.isProtectedDataAvailable(),
|
|
754
|
+
onProtectedDataAvailable: listener => WebStorage.onProtectedDataAvailable(listener),
|
|
747
755
|
setSecureWritesAsync: _enabled => {
|
|
748
756
|
getInternals().recordMetric("storage:setSecureWritesAsync", _Storage.StorageScope.Secure, 0);
|
|
749
757
|
},
|
|
@@ -794,6 +802,7 @@ const setBatch = exports.setBatch = core.setBatch;
|
|
|
794
802
|
const removeBatch = exports.removeBatch = core.removeBatch;
|
|
795
803
|
const registerMigration = exports.registerMigration = core.registerMigration;
|
|
796
804
|
const migrateToLatest = exports.migrateToLatest = core.migrateToLatest;
|
|
805
|
+
const migrateSecureAccessControl = exports.migrateSecureAccessControl = core.migrateSecureAccessControl;
|
|
797
806
|
const runTransaction = exports.runTransaction = core.runTransaction;
|
|
798
807
|
const createSecureAuthStorage = exports.createSecureAuthStorage = core.createSecureAuthStorage;
|
|
799
808
|
function setWebSecureStorageBackend(backend) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_capabilities","require","_indexeddbBackend","_internal","_shared","_storageCore","_Storage","_webStorageBackend","_migration","_storageRuntime","_webBackendContract","_storageHooks","webScopeKeyIndex","StorageScope","Disk","Set","Secure","hydratedWebScopeKeyIndex","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWindowStorageEventSubscription","internals","getInternals","undefined","Error","DEFAULT_DISK_BACKEND_NAME","DEFAULT_SECURE_BACKEND_NAME","isSecureWebStorageKey","key","startsWith","createDefaultDiskBackend","createLocalStorageWebBackend","name","includeKey","createDefaultSecureBackend","webDiskStorageBackend","webSecureStorageBackend","externalSyncUnsubscribers","Map","retiredWebBackends","getBackendName","scope","backend","scopeName","getWebSecureEncryptionStatus","createWebStorageError","operation","error","backendName","message","String","tag","wrapped","Object","defineProperty","configurable","enumerable","value","writable","withWebBackendOperation","fn","ensureExternalSyncSubscriptions","getWebBackend","toSecureStorageKey","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","replaceWebScopeKeyIndex","keys","keyIndex","clear","add","invalidateWebScopeKeyIndex","delete","clearScopeRawCache","hydrateWebScopeKeyIndex","has","getAllKeys","reconcileWebScopeKeyIndex","throwAfterWebMutationFailure","primary","contexts","reconciliationError","createStorageCompositeError","label","ensureWebScopeKeyIndex","applyExternalChangeEvent","newValue","notifyAllListeners","getScopedListeners","plainKey","oldValue","readCachedRawValue","invalidateRawCache","includes","cacheRawValue","notifyKeyListeners","emitKeyChange","unescapeCollidingRawValue","usesDefaultLocalStorageBackend","handleWebStorageEvent","event","globalThis","localStorage","storageArea","subscribeToBackendChanges","subscribe","unsubscribe","eventScope","set","resetBackendChangeSubscription","get","closeWebBackend","close","retireWebBackend","previousBackend","nextBackend","flush","window","addEventListener","WebStorage","equals","other","dispose","storageKey","setItem","getItem","remove","removeMany","removeItem","ownedKeys","filter","forEach","setBatch","values","entries","index","push","setMany","listeners","getBatch","map","storageKeys","getMany","removeBatch","flatMap","removeByPrefix","prefix","Array","from","addOnChange","_scope","_callback","getKeysByPrefix","size","setSecureAccessControl","level","assertAccessControlLevel","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometricLevel","BiometryOnly","assertBiometricLevel","None","__DEV__","console","warn","biometricStorageKey","plainStorageKey","previous","biometric","plain","restoreErrors","restore","previousValue","getSecureBiometric","deleteSecureBiometric","hasPlainValue","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","buildWebAdapter","coreInternals","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","maybeCleanupScopeSubscription","onWillEmitChanges","getSecureMetadataProfile","encrypted","hardwareBacked","core","createStorageCore","storage","exports","setAccessControl","setSecureDefaultAccessControl","recordMetric","_group","getCapabilities","platform","disk","secure","writeBuffering","resolveWebWriteBuffering","errorClassification","getSecurityCapabilities","secureBackend","secureStorage","accessControl","keychainAccessGroup","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","setWebSecureStorageBackend","flushSecureWrites","getWebSecureStorageBackend","setWebDiskStorageBackend","flushDiskWrites","getWebDiskStorageBackend","flushWebStorageBackends","backends","results","Promise","allSettled","failure","find","result","status","reason","createIndexedDBBackend","createIndexedDBBackendFromSubpath"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_capabilities","require","_indexeddbBackend","_internal","_shared","_storageCore","_Storage","_webStorageBackend","_migration","_storageRuntime","_webBackendContract","_storageHooks","webScopeKeyIndex","StorageScope","Disk","Set","Secure","hydratedWebScopeKeyIndex","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWindowStorageEventSubscription","internals","getInternals","undefined","Error","DEFAULT_DISK_BACKEND_NAME","DEFAULT_SECURE_BACKEND_NAME","isSecureWebStorageKey","key","startsWith","createDefaultDiskBackend","createLocalStorageWebBackend","name","includeKey","createDefaultSecureBackend","webDiskStorageBackend","webSecureStorageBackend","externalSyncUnsubscribers","Map","retiredWebBackends","getBackendName","scope","backend","scopeName","getWebSecureEncryptionStatus","createWebStorageError","operation","error","backendName","message","String","tag","wrapped","Object","defineProperty","configurable","enumerable","value","writable","withWebBackendOperation","fn","ensureExternalSyncSubscriptions","getWebBackend","toSecureStorageKey","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","replaceWebScopeKeyIndex","keys","keyIndex","clear","add","invalidateWebScopeKeyIndex","delete","clearScopeRawCache","hydrateWebScopeKeyIndex","has","getAllKeys","reconcileWebScopeKeyIndex","throwAfterWebMutationFailure","primary","contexts","reconciliationError","createStorageCompositeError","label","ensureWebScopeKeyIndex","applyExternalChangeEvent","newValue","notifyAllListeners","getScopedListeners","plainKey","oldValue","readCachedRawValue","invalidateRawCache","includes","cacheRawValue","notifyKeyListeners","emitKeyChange","unescapeCollidingRawValue","usesDefaultLocalStorageBackend","handleWebStorageEvent","event","globalThis","localStorage","storageArea","subscribeToBackendChanges","subscribe","unsubscribe","eventScope","set","resetBackendChangeSubscription","get","closeWebBackend","close","retireWebBackend","previousBackend","nextBackend","flush","window","addEventListener","WebStorage","equals","other","dispose","storageKey","setItem","getItem","remove","removeMany","removeItem","ownedKeys","filter","forEach","setBatch","values","entries","index","push","setMany","listeners","getBatch","map","storageKeys","getMany","removeBatch","flatMap","removeByPrefix","prefix","Array","from","addOnChange","_scope","_callback","getKeysByPrefix","size","setSecureAccessControl","level","assertAccessControlLevel","setSecureWritesAsync","_enabled","setKeychainAccessGroup","isProtectedDataAvailable","onProtectedDataAvailable","listener","assertProtectedDataListener","setSecureBiometric","setSecureBiometricWithLevel","BiometricLevel","BiometryOnly","assertBiometricLevel","None","__DEV__","console","warn","biometricStorageKey","plainStorageKey","previous","biometric","plain","restoreErrors","restore","previousValue","getSecureBiometric","deleteSecureBiometric","hasPlainValue","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","buildWebAdapter","coreInternals","changeSource","applyAccessControlOnSecureRawWrite","supportsSecureAccessControlMigration","ensureScopeSubscription","maybeCleanupScopeSubscription","onWillEmitChanges","getSecureMetadataProfile","encrypted","hardwareBacked","core","createStorageCore","storage","exports","setAccessControl","setSecureDefaultAccessControl","recordMetric","_group","getCapabilities","platform","disk","secure","writeBuffering","resolveWebWriteBuffering","errorClassification","getSecurityCapabilities","secureBackend","secureStorage","accessControl","keychainAccessGroup","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","migrateSecureAccessControl","runTransaction","createSecureAuthStorage","setWebSecureStorageBackend","flushSecureWrites","getWebSecureStorageBackend","setWebDiskStorageBackend","flushDiskWrites","getWebDiskStorageBackend","flushWebStorageBackends","backends","results","Promise","allSettled","failure","find","result","status","reason","createIndexedDBBackend","createIndexedDBBackendFromSubpath"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/shared.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.SECURE_EVENT_REDACTED_VALUE = void 0;
|
|
|
7
7
|
exports.assertAccessControlLevel = assertAccessControlLevel;
|
|
8
8
|
exports.assertBiometricLevel = assertBiometricLevel;
|
|
9
9
|
exports.assertEnumInteger = assertEnumInteger;
|
|
10
|
+
exports.assertProtectedDataListener = assertProtectedDataListener;
|
|
10
11
|
exports.canUseRawBatchPath = canUseRawBatchPath;
|
|
11
12
|
exports.canUseSecureRawBatchPath = canUseSecureRawBatchPath;
|
|
12
13
|
exports.createKeyChange = createKeyChange;
|
|
@@ -99,6 +100,11 @@ function assertAccessControlLevel(level) {
|
|
|
99
100
|
function assertBiometricLevel(level) {
|
|
100
101
|
assertEnumInteger(level, 0, 2, "biometric level");
|
|
101
102
|
}
|
|
103
|
+
function assertProtectedDataListener(listener) {
|
|
104
|
+
if (typeof listener !== "function") {
|
|
105
|
+
throw new TypeError("NitroStorage: Protected data listener must be a function");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
102
108
|
const runMicrotask = exports.runMicrotask = typeof queueMicrotask === "function" ? queueMicrotask : task => {
|
|
103
109
|
void Promise.resolve().then(task);
|
|
104
110
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_internal","require","_storageRuntime","_Storage","createStorageCompositeError","operation","primary","contexts","primaryMessage","Error","message","String","contextMessage","map","label","error","join","composite","length","Object","defineProperties","cause","configurable","enumerable","value","writable","errors","freeze","code","normalizeStorageError","getStorageErrorCode","operationMatch","match","countMatch","rollbackErrorCount","Number","Array","from","_","index","isUpdater","valueOrFn","typedKeys","record","keys","assertEnumInteger","min","max","isFinite","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","runMicrotask","exports","queueMicrotask","task","Promise","resolve","then","now","performance","Date","notifyKeyListeners","registry","key","listeners","get","
|
|
1
|
+
{"version":3,"names":["_internal","require","_storageRuntime","_Storage","createStorageCompositeError","operation","primary","contexts","primaryMessage","Error","message","String","contextMessage","map","label","error","join","composite","length","Object","defineProperties","cause","configurable","enumerable","value","writable","errors","freeze","code","normalizeStorageError","getStorageErrorCode","operationMatch","match","countMatch","rollbackErrorCount","Number","Array","from","_","index","isUpdater","valueOrFn","typedKeys","record","keys","assertEnumInteger","min","max","isFinite","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","assertProtectedDataListener","listener","TypeError","runMicrotask","exports","queueMicrotask","task","Promise","resolve","then","now","performance","Date","notifyKeyListeners","registry","key","listeners","get","notifyAllListeners","values","createKeyChange","scope","oldValue","newValue","source","type","SECURE_EVENT_REDACTED_VALUE","redactSecureKeyChange","event","StorageScope","Secure","undefined","canUseRawBatchPath","item","_hasExpiration","_hasValidation","_hasRenameFrom","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","isKeychainLockedError","err","isLockedStorageErrorCode"],"sourceRoot":"../../src","sources":["shared.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,17 @@ var _shared = require("./shared");
|
|
|
11
11
|
var _storageEvents = require("./storage-events");
|
|
12
12
|
var _storageRuntime = require("./storage-runtime");
|
|
13
13
|
var _Storage = require("./Storage.types");
|
|
14
|
+
function assertSynchronousCallbackResult(value, callbackKind) {
|
|
15
|
+
if (value === null || typeof value !== "object" && typeof value !== "function") {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const then = value.then;
|
|
19
|
+
if (typeof then !== "function") {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
void Promise.resolve(value).catch(() => undefined);
|
|
23
|
+
throw new TypeError(`${callbackKind} callbacks must be synchronous and cannot return a Promise or thenable.`);
|
|
24
|
+
}
|
|
14
25
|
const EMPTY_KEYS = Object.freeze([]);
|
|
15
26
|
function asInternal(item) {
|
|
16
27
|
return item;
|
|
@@ -806,6 +817,10 @@ function createStorageCore(buildAdapter) {
|
|
|
806
817
|
flushSecureWrites();
|
|
807
818
|
});
|
|
808
819
|
},
|
|
820
|
+
/** Observes scheduled flush failures; explicit flush calls still throw. */
|
|
821
|
+
setScheduledFlushErrorObserver: observer => {
|
|
822
|
+
durability.setScheduledFlushErrorObserver(observer);
|
|
823
|
+
},
|
|
809
824
|
setMetricsObserver: observer => {
|
|
810
825
|
metrics.setObserver(observer);
|
|
811
826
|
},
|
|
@@ -2130,6 +2145,84 @@ function createStorageCore(buildAdapter) {
|
|
|
2130
2145
|
}
|
|
2131
2146
|
registeredMigrations.set(version, migration);
|
|
2132
2147
|
}
|
|
2148
|
+
function migrateSecureAccessControl(level, options) {
|
|
2149
|
+
return measureOperation("storage:migrateSecureAccessControl", _Storage.StorageScope.Secure, () => {
|
|
2150
|
+
(0, _shared.assertAccessControlLevel)(level);
|
|
2151
|
+
const requestedKeys = options?.keys;
|
|
2152
|
+
requestedKeys?.forEach(key => {
|
|
2153
|
+
(0, _internal.assertValidStorageKey)(key);
|
|
2154
|
+
});
|
|
2155
|
+
let keys;
|
|
2156
|
+
try {
|
|
2157
|
+
flushSecureWrites();
|
|
2158
|
+
keys = Array.from(new Set(requestedKeys ?? adapter.backend.getAllKeys(_Storage.StorageScope.Secure)));
|
|
2159
|
+
} catch (error) {
|
|
2160
|
+
if ((0, _storageRuntime.getStorageErrorCode)(error) !== "keychain_locked") {
|
|
2161
|
+
throw error;
|
|
2162
|
+
}
|
|
2163
|
+
return {
|
|
2164
|
+
migrated: [],
|
|
2165
|
+
locked: [],
|
|
2166
|
+
missing: [],
|
|
2167
|
+
skipped: [],
|
|
2168
|
+
failed: [],
|
|
2169
|
+
enumerationLocked: true
|
|
2170
|
+
};
|
|
2171
|
+
}
|
|
2172
|
+
secureDefaultAccessControl = level;
|
|
2173
|
+
adapter.backend.setSecureAccessControl(level);
|
|
2174
|
+
const result = {
|
|
2175
|
+
migrated: [],
|
|
2176
|
+
locked: [],
|
|
2177
|
+
missing: [],
|
|
2178
|
+
skipped: [],
|
|
2179
|
+
failed: [],
|
|
2180
|
+
enumerationLocked: false
|
|
2181
|
+
};
|
|
2182
|
+
if (!adapter.supportsSecureAccessControlMigration()) {
|
|
2183
|
+
result.skipped = keys;
|
|
2184
|
+
return result;
|
|
2185
|
+
}
|
|
2186
|
+
keys.forEach(key => {
|
|
2187
|
+
try {
|
|
2188
|
+
let hasBiometric;
|
|
2189
|
+
try {
|
|
2190
|
+
hasBiometric = adapter.backend.hasSecureBiometric(key);
|
|
2191
|
+
} catch (error) {
|
|
2192
|
+
if ((0, _storageRuntime.getStorageErrorCode)(error) !== "keychain_locked") {
|
|
2193
|
+
throw error;
|
|
2194
|
+
}
|
|
2195
|
+
result.skipped.push(key);
|
|
2196
|
+
return;
|
|
2197
|
+
}
|
|
2198
|
+
if (hasBiometric) {
|
|
2199
|
+
result.skipped.push(key);
|
|
2200
|
+
return;
|
|
2201
|
+
}
|
|
2202
|
+
const raw = adapter.backend.get(key, _Storage.StorageScope.Secure);
|
|
2203
|
+
if (raw === undefined) {
|
|
2204
|
+
result.missing.push(key);
|
|
2205
|
+
return;
|
|
2206
|
+
}
|
|
2207
|
+
adapter.backend.set(key, raw, _Storage.StorageScope.Secure);
|
|
2208
|
+
result.migrated.push(key);
|
|
2209
|
+
} catch (error) {
|
|
2210
|
+
const code = (0, _storageRuntime.getStorageErrorCode)(error);
|
|
2211
|
+
if (code === "keychain_locked") {
|
|
2212
|
+
result.locked.push(key);
|
|
2213
|
+
} else {
|
|
2214
|
+
result.failed.push(code === undefined ? {
|
|
2215
|
+
key
|
|
2216
|
+
} : {
|
|
2217
|
+
key,
|
|
2218
|
+
code
|
|
2219
|
+
});
|
|
2220
|
+
}
|
|
2221
|
+
}
|
|
2222
|
+
});
|
|
2223
|
+
return result;
|
|
2224
|
+
}, options?.keys?.length ?? 1);
|
|
2225
|
+
}
|
|
2133
2226
|
function migrateToLatest(scope = _Storage.StorageScope.Disk) {
|
|
2134
2227
|
return measureOperation("migration:run", scope, () => {
|
|
2135
2228
|
(0, _internal.assertValidScope)(scope);
|
|
@@ -2142,7 +2235,8 @@ function createStorageCore(buildAdapter) {
|
|
|
2142
2235
|
return;
|
|
2143
2236
|
}
|
|
2144
2237
|
runTransaction(scope, tx => {
|
|
2145
|
-
migration(tx);
|
|
2238
|
+
const migrationResult = migration(tx);
|
|
2239
|
+
assertSynchronousCallbackResult(migrationResult, "Migration");
|
|
2146
2240
|
tx.setRaw(_internal.MIGRATION_VERSION_KEY, String(version));
|
|
2147
2241
|
});
|
|
2148
2242
|
appliedVersion = version;
|
|
@@ -2162,6 +2256,12 @@ function createStorageCore(buildAdapter) {
|
|
|
2162
2256
|
const NOT_SET = Symbol();
|
|
2163
2257
|
const rollback = new Map();
|
|
2164
2258
|
const itemRenameStates = new Map();
|
|
2259
|
+
let transactionOpen = true;
|
|
2260
|
+
const assertTransactionOpen = () => {
|
|
2261
|
+
if (!transactionOpen) {
|
|
2262
|
+
throw new TypeError("Transaction context is closed.");
|
|
2263
|
+
}
|
|
2264
|
+
};
|
|
2165
2265
|
const rememberRollback = (key, item, includeOtherSecureRepresentation = false) => {
|
|
2166
2266
|
const internal = item ? item : undefined;
|
|
2167
2267
|
const representation = scope === _Storage.StorageScope.Secure && internal?._isBiometric === true ? "biometric" : "plain";
|
|
@@ -2232,34 +2332,46 @@ function createStorageCore(buildAdapter) {
|
|
|
2232
2332
|
};
|
|
2233
2333
|
const tx = {
|
|
2234
2334
|
scope,
|
|
2235
|
-
getRaw: key =>
|
|
2335
|
+
getRaw: key => {
|
|
2336
|
+
assertTransactionOpen();
|
|
2337
|
+
return getRawValue(key, scope);
|
|
2338
|
+
},
|
|
2236
2339
|
setRaw: (key, value) => {
|
|
2340
|
+
assertTransactionOpen();
|
|
2237
2341
|
rememberRollback(key);
|
|
2238
2342
|
setRawValue(key, value, scope);
|
|
2239
2343
|
},
|
|
2240
2344
|
removeRaw: key => {
|
|
2345
|
+
assertTransactionOpen();
|
|
2241
2346
|
rememberRollback(key, undefined, scope === _Storage.StorageScope.Secure);
|
|
2242
2347
|
removeRawValue(key, scope);
|
|
2243
2348
|
},
|
|
2244
2349
|
getItem: item => {
|
|
2350
|
+
assertTransactionOpen();
|
|
2245
2351
|
(0, _internal.assertBatchScope)([item], scope);
|
|
2246
2352
|
rememberItemRollback(item);
|
|
2247
2353
|
return item.get();
|
|
2248
2354
|
},
|
|
2249
2355
|
setItem: (item, value) => {
|
|
2356
|
+
assertTransactionOpen();
|
|
2250
2357
|
(0, _internal.assertBatchScope)([item], scope);
|
|
2251
2358
|
rememberItemRollback(item);
|
|
2252
2359
|
item.set(value);
|
|
2253
2360
|
},
|
|
2254
2361
|
removeItem: item => {
|
|
2362
|
+
assertTransactionOpen();
|
|
2255
2363
|
(0, _internal.assertBatchScope)([item], scope);
|
|
2256
2364
|
rememberItemRollback(item);
|
|
2257
2365
|
item.delete();
|
|
2258
2366
|
}
|
|
2259
2367
|
};
|
|
2260
2368
|
try {
|
|
2261
|
-
|
|
2369
|
+
const result = transaction(tx);
|
|
2370
|
+
assertSynchronousCallbackResult(result, "Transaction");
|
|
2371
|
+
transactionOpen = false;
|
|
2372
|
+
return result;
|
|
2262
2373
|
} catch (error) {
|
|
2374
|
+
transactionOpen = false;
|
|
2263
2375
|
itemRenameStates.forEach((migrated, item) => {
|
|
2264
2376
|
item._setRenameMigrationState(migrated);
|
|
2265
2377
|
});
|
|
@@ -2590,6 +2702,7 @@ function createStorageCore(buildAdapter) {
|
|
|
2590
2702
|
removeBatch,
|
|
2591
2703
|
registerMigration,
|
|
2592
2704
|
migrateToLatest,
|
|
2705
|
+
migrateSecureAccessControl,
|
|
2593
2706
|
runTransaction,
|
|
2594
2707
|
createSecureAuthStorage,
|
|
2595
2708
|
internals
|