react-native-nitro-storage 0.11.0 → 0.13.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 +47 -0
- package/README.md +71 -11
- package/SECURITY.md +2 -2
- package/android/build.gradle +5 -0
- package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +12 -13
- package/android/src/main/cpp/JniSize.hpp +21 -0
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +124 -16
- package/android/src/main/java/com/nitrostorage/DiskSqliteStore.kt +160 -43
- package/cpp/bindings/HybridStorage.cpp +12 -4
- package/cpp/core/SqliteDiskStore.cpp +191 -33
- package/cpp/core/SqliteDiskStore.hpp +11 -1
- package/docs/api-reference.md +11 -10
- package/docs/native-libraries.md +28 -0
- package/ios/IOSStorageAdapterCpp.mm +89 -22
- package/lib/commonjs/index.web.js +2 -1
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/storage-core.js +26 -6
- package/lib/commonjs/storage-core.js.map +1 -1
- package/lib/commonjs/storage-runtime.js +1 -1
- package/lib/commonjs/storage-runtime.js.map +1 -1
- package/lib/module/index.web.js +2 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/storage-core.js +26 -6
- package/lib/module/storage-core.js.map +1 -1
- package/lib/module/storage-runtime.js +1 -1
- package/lib/module/storage-runtime.js.map +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/storage-core.d.ts.map +1 -1
- package/lib/typescript/storage-runtime.d.ts +1 -1
- package/lib/typescript/storage-runtime.d.ts.map +1 -1
- package/lib/typescript/testing.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/index.web.ts +5 -1
- package/src/storage-core.ts +26 -6
- package/src/storage-runtime.ts +2 -0
|
@@ -363,9 +363,9 @@ std::string diskStorePathForTesting() {
|
|
|
363
363
|
// --- Disk ---
|
|
364
364
|
|
|
365
365
|
void IOSStorageAdapterCpp::setDisk(const std::string& key, const std::string& value) {
|
|
366
|
+
NSString* nsKey = nsStringFromStdString(key);
|
|
366
367
|
ensureDiskMigrated();
|
|
367
368
|
NitroSqliteDiskStore().set(key, value);
|
|
368
|
-
NSString* nsKey = nsStringFromStdString(key);
|
|
369
369
|
NSUserDefaults* defaults = NitroDiskDefaults();
|
|
370
370
|
NSUserDefaults* standard = [NSUserDefaults standardUserDefaults];
|
|
371
371
|
if (defaults != standard && [standard objectForKey:nsKey] != nil) {
|
|
@@ -383,14 +383,17 @@ std::optional<std::string> IOSStorageAdapterCpp::getDisk(const std::string& key)
|
|
|
383
383
|
NSString* result = migrateLegacyDiskValue(nsKey);
|
|
384
384
|
if (!result) return std::nullopt;
|
|
385
385
|
const std::string value = stdStringFromNSString(result);
|
|
386
|
-
|
|
386
|
+
try {
|
|
387
|
+
NitroSqliteDiskStore().set(key, value);
|
|
388
|
+
} catch (const std::exception&) {
|
|
389
|
+
}
|
|
387
390
|
return value;
|
|
388
391
|
}
|
|
389
392
|
|
|
390
393
|
void IOSStorageAdapterCpp::deleteDisk(const std::string& key) {
|
|
394
|
+
NSString* nsKey = nsStringFromStdString(key);
|
|
391
395
|
ensureDiskMigrated();
|
|
392
396
|
NitroSqliteDiskStore().remove(key);
|
|
393
|
-
NSString* nsKey = nsStringFromStdString(key);
|
|
394
397
|
NSUserDefaults* defaults = NitroDiskDefaults();
|
|
395
398
|
[defaults removeObjectForKey:nsKey];
|
|
396
399
|
NSUserDefaults* standard = [NSUserDefaults standardUserDefaults];
|
|
@@ -445,13 +448,33 @@ std::vector<std::string> IOSStorageAdapterCpp::getAllKeysDisk() {
|
|
|
445
448
|
return keys;
|
|
446
449
|
}
|
|
447
450
|
|
|
451
|
+
static std::vector<std::string> legacyDefaultsDiskKeys() {
|
|
452
|
+
std::vector<std::string> keys;
|
|
453
|
+
NSUserDefaults* defaults = NitroDiskDefaults();
|
|
454
|
+
NSDictionary<NSString*, id>* entries = [defaults persistentDomainForName:kDiskSuiteName] ?: @{};
|
|
455
|
+
NSUserDefaults* standard = [NSUserDefaults standardUserDefaults];
|
|
456
|
+
for (NSString* key in entries) {
|
|
457
|
+
if (!isInternalDiskKey(key)) {
|
|
458
|
+
keys.push_back(stdStringFromNSString(key));
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
for (NSString* key in [registeredLegacyDiskKeys() allObjects]) {
|
|
462
|
+
if ([entries objectForKey:key] == nil &&
|
|
463
|
+
[standard stringForKey:key] != nil) {
|
|
464
|
+
keys.push_back(stdStringFromNSString(key));
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
return keys;
|
|
468
|
+
}
|
|
469
|
+
|
|
448
470
|
std::vector<std::string> IOSStorageAdapterCpp::getKeysByPrefixDisk(const std::string& prefix) {
|
|
449
471
|
ensureDiskMigrated();
|
|
450
472
|
std::unordered_set<std::string> combined;
|
|
451
473
|
for (const auto& key : NitroSqliteDiskStore().getKeysByPrefix(prefix)) {
|
|
452
474
|
combined.insert(key);
|
|
453
475
|
}
|
|
454
|
-
|
|
476
|
+
const auto remaining = SqliteDiskStore::isValidUtf8(prefix) ? legacyDefaultsDiskKeys() : getAllKeysDisk();
|
|
477
|
+
for (const auto& key : remaining) {
|
|
455
478
|
if (key.rfind(prefix, 0) == 0) {
|
|
456
479
|
combined.insert(key);
|
|
457
480
|
}
|
|
@@ -466,20 +489,31 @@ std::vector<std::string> IOSStorageAdapterCpp::getKeysByPrefixDisk(const std::st
|
|
|
466
489
|
|
|
467
490
|
size_t IOSStorageAdapterCpp::sizeDisk() {
|
|
468
491
|
ensureDiskMigrated();
|
|
469
|
-
|
|
492
|
+
auto& store = NitroSqliteDiskStore();
|
|
493
|
+
size_t count = store.size();
|
|
494
|
+
std::unordered_set<std::string> counted;
|
|
495
|
+
for (const auto& key : legacyDefaultsDiskKeys()) {
|
|
496
|
+
if (counted.insert(key).second && !store.has(key)) {
|
|
497
|
+
count += 1;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
return count;
|
|
470
501
|
}
|
|
471
502
|
|
|
472
503
|
void IOSStorageAdapterCpp::setDiskBatch(
|
|
473
504
|
const std::vector<std::string>& keys,
|
|
474
505
|
const std::vector<std::string>& values
|
|
475
506
|
) {
|
|
507
|
+
NSMutableArray<NSString*>* nsKeys = [NSMutableArray arrayWithCapacity:keys.size()];
|
|
508
|
+
for (size_t i = 0; i < keys.size() && i < values.size(); ++i) {
|
|
509
|
+
[nsKeys addObject:nsStringFromStdString(keys[i])];
|
|
510
|
+
}
|
|
476
511
|
ensureDiskMigrated();
|
|
477
512
|
NitroSqliteDiskStore().setBatch(keys, values);
|
|
478
513
|
NSUserDefaults* defaults = NitroDiskDefaults();
|
|
479
514
|
NSUserDefaults* standard = [NSUserDefaults standardUserDefaults];
|
|
480
515
|
NSMutableArray* legacyKeysToRemove = [NSMutableArray array];
|
|
481
|
-
for (
|
|
482
|
-
NSString* nsKey = nsStringFromStdString(keys[i]);
|
|
516
|
+
for (NSString* nsKey in nsKeys) {
|
|
483
517
|
if (defaults != standard && [standard objectForKey:nsKey] != nil) {
|
|
484
518
|
[legacyKeysToRemove addObject:nsKey];
|
|
485
519
|
}
|
|
@@ -503,10 +537,13 @@ std::vector<std::optional<std::string>> IOSStorageAdapterCpp::getDiskBatch(
|
|
|
503
537
|
}
|
|
504
538
|
|
|
505
539
|
void IOSStorageAdapterCpp::deleteDiskBatch(const std::vector<std::string>& keys) {
|
|
540
|
+
NSMutableArray<NSString*>* nsKeys = [NSMutableArray arrayWithCapacity:keys.size()];
|
|
541
|
+
for (const auto& key : keys) {
|
|
542
|
+
[nsKeys addObject:nsStringFromStdString(key)];
|
|
543
|
+
}
|
|
506
544
|
ensureDiskMigrated();
|
|
507
545
|
NitroSqliteDiskStore().removeBatch(keys);
|
|
508
|
-
for (
|
|
509
|
-
NSString* nsKey = nsStringFromStdString(key);
|
|
546
|
+
for (NSString* nsKey in nsKeys) {
|
|
510
547
|
NSUserDefaults* defaults = NitroDiskDefaults();
|
|
511
548
|
[defaults removeObjectForKey:nsKey];
|
|
512
549
|
NSUserDefaults* standard = [NSUserDefaults standardUserDefaults];
|
|
@@ -517,9 +554,13 @@ void IOSStorageAdapterCpp::deleteDiskBatch(const std::vector<std::string>& keys)
|
|
|
517
554
|
}
|
|
518
555
|
}
|
|
519
556
|
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
557
|
+
static bool isRecoverableByDiskClear(const std::exception& error) {
|
|
558
|
+
const std::string message = error.what();
|
|
559
|
+
return message.rfind("[nitro-error:storage_corruption] NitroStorage: Disk SQLite ", 0) == 0 ||
|
|
560
|
+
message.rfind("[nitro-error:storage_full] NitroStorage: Disk SQLite ", 0) == 0;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
static void clearDiskDefaults() {
|
|
523
564
|
NSUserDefaults* defaults = NitroDiskDefaults();
|
|
524
565
|
NSDictionary<NSString*, id>* entries = [defaults persistentDomainForName:kDiskSuiteName] ?: @{};
|
|
525
566
|
NSMutableSet* legacyKeys = [registeredLegacyDiskKeys() mutableCopy];
|
|
@@ -545,6 +586,25 @@ void IOSStorageAdapterCpp::clearDisk() {
|
|
|
545
586
|
[defaults removeObjectForKey:kLegacyDiskKeysRegistryKey];
|
|
546
587
|
}
|
|
547
588
|
|
|
589
|
+
void IOSStorageAdapterCpp::clearDisk() {
|
|
590
|
+
bool recreate = false;
|
|
591
|
+
try {
|
|
592
|
+
ensureDiskMigrated();
|
|
593
|
+
NitroSqliteDiskStore().clear();
|
|
594
|
+
} catch (const std::exception& error) {
|
|
595
|
+
if (!isRecoverableByDiskClear(error)) {
|
|
596
|
+
throw;
|
|
597
|
+
}
|
|
598
|
+
recreate = true;
|
|
599
|
+
}
|
|
600
|
+
clearDiskDefaults();
|
|
601
|
+
if (recreate) {
|
|
602
|
+
SqliteDiskStore::recreateShared(NitroDiskStorePath());
|
|
603
|
+
std::lock_guard<std::mutex> lock(diskMigrationMutex_);
|
|
604
|
+
diskMigrated_.store(false, std::memory_order_release);
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
|
|
548
608
|
// --- Secure (Keychain) ---
|
|
549
609
|
|
|
550
610
|
static NSMutableDictionary* baseKeychainQuery(NSString* key, NSString* service, NSString* accessGroup) {
|
|
@@ -695,6 +755,18 @@ static void setSecureValue(
|
|
|
695
755
|
throw keychainStatusError(status, "Secure set");
|
|
696
756
|
}
|
|
697
757
|
|
|
758
|
+
static std::string decodeKeychainText(CFTypeRef result, const std::string& operation) {
|
|
759
|
+
NSData* data = (__bridge_transfer NSData*)result;
|
|
760
|
+
NSString* text = data ? [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] : nil;
|
|
761
|
+
if (!text) {
|
|
762
|
+
throw taggedStorageError(
|
|
763
|
+
"storage_corruption",
|
|
764
|
+
"NitroStorage: " + operation + " failed: the Keychain item has no data or is not valid UTF-8 text."
|
|
765
|
+
);
|
|
766
|
+
}
|
|
767
|
+
return stdStringFromNSString(text);
|
|
768
|
+
}
|
|
769
|
+
|
|
698
770
|
static std::optional<std::string> getSecureValue(NSString* nsKey, NSString* group) {
|
|
699
771
|
NSMutableDictionary* query = baseKeychainQuery(nsKey, kKeychainService, group);
|
|
700
772
|
query[(__bridge id)kSecReturnData] = @YES;
|
|
@@ -703,10 +775,8 @@ static std::optional<std::string> getSecureValue(NSString* nsKey, NSString* grou
|
|
|
703
775
|
|
|
704
776
|
CFTypeRef result = NULL;
|
|
705
777
|
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, &result);
|
|
706
|
-
if (status == errSecSuccess
|
|
707
|
-
|
|
708
|
-
NSString* str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
|
|
709
|
-
if (str) return stdStringFromNSString(str);
|
|
778
|
+
if (status == errSecSuccess) {
|
|
779
|
+
return decodeKeychainText(result, "Secure get");
|
|
710
780
|
}
|
|
711
781
|
if (status == errSecInteractionNotAllowed) {
|
|
712
782
|
throw taggedStorageError(
|
|
@@ -1169,10 +1239,8 @@ std::optional<std::string> IOSStorageAdapterCpp::getSecureBiometric(const std::s
|
|
|
1169
1239
|
|
|
1170
1240
|
CFTypeRef result = NULL;
|
|
1171
1241
|
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, &result);
|
|
1172
|
-
if (status == errSecSuccess
|
|
1173
|
-
|
|
1174
|
-
NSString* str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
|
|
1175
|
-
if (str) return stdStringFromNSString(str);
|
|
1242
|
+
if (status == errSecSuccess) {
|
|
1243
|
+
return decodeKeychainText(result, "Biometric get");
|
|
1176
1244
|
}
|
|
1177
1245
|
if (status == errSecInteractionNotAllowed) {
|
|
1178
1246
|
throw taggedStorageError(
|
|
@@ -1251,8 +1319,7 @@ void IOSStorageAdapterCpp::clearSecureBiometric() {
|
|
|
1251
1319
|
"NitroStorage: Cannot clear biometric storage: keychain is locked (errSecInteractionNotAllowed)"
|
|
1252
1320
|
);
|
|
1253
1321
|
}
|
|
1254
|
-
throw
|
|
1255
|
-
std::string("NitroStorage: clearSecureBiometric failed with status ") + std::to_string(status));
|
|
1322
|
+
throw keychainStatusError(status, "clearSecureBiometric");
|
|
1256
1323
|
}
|
|
1257
1324
|
{
|
|
1258
1325
|
std::lock_guard<std::mutex> lock(secureKeysMutex_);
|
|
@@ -156,7 +156,8 @@ function getWebSecureEncryptionStatus(backend) {
|
|
|
156
156
|
function createWebStorageError(scope, operation, error, backend) {
|
|
157
157
|
const backendName = getBackendName(scope, backend);
|
|
158
158
|
const message = error instanceof Error ? error.message : String(error ?? "Unknown error");
|
|
159
|
-
const
|
|
159
|
+
const tag = error instanceof Error && error.name === "QuotaExceededError" ? "[nitro-error:storage_full] " : "";
|
|
160
|
+
const wrapped = new Error(`${tag}NitroStorage(web): ${operation} failed for ${backendName}: ${message}`);
|
|
160
161
|
Object.defineProperty(wrapped, "cause", {
|
|
161
162
|
configurable: true,
|
|
162
163
|
enumerable: false,
|
|
@@ -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","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","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":[]}
|
|
@@ -187,8 +187,8 @@ function createStorageCore(buildAdapter) {
|
|
|
187
187
|
storageEvents.emitKey(event);
|
|
188
188
|
eventObserver?.(eventForGlobalObserver(event));
|
|
189
189
|
}
|
|
190
|
-
function emitBatchChange(scope, operation, source, changes) {
|
|
191
|
-
if (changes.length === 0) {
|
|
190
|
+
function emitBatchChange(scope, operation, source, changes, emitWhenEmpty = false) {
|
|
191
|
+
if (changes.length === 0 && !emitWhenEmpty) {
|
|
192
192
|
return;
|
|
193
193
|
}
|
|
194
194
|
adapter.onWillEmitChanges(scope, changes.map(change => change.key), operation, source);
|
|
@@ -478,7 +478,18 @@ function createStorageCore(buildAdapter) {
|
|
|
478
478
|
return;
|
|
479
479
|
}
|
|
480
480
|
measureOperation("storage:clear", scope, () => {
|
|
481
|
-
|
|
481
|
+
let previousValues = {};
|
|
482
|
+
let previousValuesUnreadable = false;
|
|
483
|
+
if (shouldReadPreviousEventValues(scope)) {
|
|
484
|
+
try {
|
|
485
|
+
previousValues = storage.getAll(scope);
|
|
486
|
+
} catch (error) {
|
|
487
|
+
if (scope !== _Storage.StorageScope.Disk) {
|
|
488
|
+
throw error;
|
|
489
|
+
}
|
|
490
|
+
previousValuesUnreadable = true;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
482
493
|
if (scope === _Storage.StorageScope.Memory) {
|
|
483
494
|
memoryStore.clear();
|
|
484
495
|
memoryExpirationDeadlines.clear();
|
|
@@ -486,9 +497,15 @@ function createStorageCore(buildAdapter) {
|
|
|
486
497
|
emitBatchChange(scope, "clear", "memory", Object.keys(previousValues).map(key => (0, _shared.createKeyChange)(scope, key, previousValues[key], undefined, "clear", "memory")));
|
|
487
498
|
return;
|
|
488
499
|
}
|
|
500
|
+
let diskFlushFailed = false;
|
|
489
501
|
if (scope === _Storage.StorageScope.Disk) {
|
|
490
|
-
|
|
491
|
-
|
|
502
|
+
try {
|
|
503
|
+
flushDiskWrites();
|
|
504
|
+
durability.clearAllPendingDiskWrites();
|
|
505
|
+
} catch {
|
|
506
|
+
diskFlushFailed = true;
|
|
507
|
+
previousValuesUnreadable = shouldReadPreviousEventValues(scope);
|
|
508
|
+
}
|
|
492
509
|
}
|
|
493
510
|
if (scope === _Storage.StorageScope.Secure) {
|
|
494
511
|
flushSecureWrites();
|
|
@@ -496,7 +513,10 @@ function createStorageCore(buildAdapter) {
|
|
|
496
513
|
}
|
|
497
514
|
clearScopeRawCache(scope);
|
|
498
515
|
adapter.backend.clear(scope);
|
|
499
|
-
|
|
516
|
+
if (diskFlushFailed) {
|
|
517
|
+
durability.clearAllPendingDiskWrites();
|
|
518
|
+
}
|
|
519
|
+
emitBatchChange(scope, "clear", adapter.changeSource, Object.keys(previousValues).map(key => (0, _shared.createKeyChange)(scope, key, previousValues[key], undefined, "clear", adapter.changeSource)), previousValuesUnreadable);
|
|
500
520
|
});
|
|
501
521
|
},
|
|
502
522
|
clearAll: () => {
|