react-native-nitro-storage 0.4.4 → 0.4.5
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/README.md +107 -7
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +61 -10
- package/ios/IOSStorageAdapterCpp.mm +44 -14
- package/lib/commonjs/index.js +221 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +444 -202
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/indexeddb-backend.js +129 -7
- package/lib/commonjs/indexeddb-backend.js.map +1 -1
- package/lib/commonjs/storage-runtime.js +41 -0
- package/lib/commonjs/storage-runtime.js.map +1 -0
- package/lib/commonjs/web-storage-backend.js +90 -0
- package/lib/commonjs/web-storage-backend.js.map +1 -0
- package/lib/module/index.js +213 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +436 -202
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/indexeddb-backend.js +129 -7
- package/lib/module/indexeddb-backend.js.map +1 -1
- package/lib/module/storage-runtime.js +36 -0
- package/lib/module/storage-runtime.js.map +1 -0
- package/lib/module/web-storage-backend.js +86 -0
- package/lib/module/web-storage-backend.js.map +1 -0
- package/lib/typescript/index.d.ts +11 -7
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +12 -8
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/indexeddb-backend.d.ts +6 -2
- package/lib/typescript/indexeddb-backend.d.ts.map +1 -1
- package/lib/typescript/storage-runtime.d.ts +16 -0
- package/lib/typescript/storage-runtime.d.ts.map +1 -0
- package/lib/typescript/web-storage-backend.d.ts +30 -0
- package/lib/typescript/web-storage-backend.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +264 -20
- package/src/index.web.ts +597 -245
- package/src/indexeddb-backend.ts +147 -6
- package/src/storage-runtime.ts +94 -0
- package/src/web-storage-backend.ts +129 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWebStorageEventSubscription","webStorageSubscriberCount","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","Date","now","createLocalStorageWebSecureBackend","getItem","key","globalThis","localStorage","setItem","value","removeItem","clear","getAllKeys","storage","index","length","push","webSecureStorageBackend","cachedSecureBrowserStorage","cachedSecureBackendRef","getBrowserStorage","undefined","toSecureStorageKey","fromSecureStorageKey","slice","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","startsWith","add","ensureWebScopeKeyIndex","handleWebStorageEvent","event","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","newValue","delete","cacheRawValue","notifyKeyListeners","ensureWebStorageEventSubscription","window","addEventListener","maybeCleanupWebStorageSubscription","removeEventListener","getScopeRawCache","readCachedRawValue","hasCachedRawValue","registry","listeners","listener","values","addKeyListener","scopedListeners","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","groupedSetWrites","keysToRemove","forEach","accessControl","resolvedAccessControl","existingGroup","group","WebStorage","setSecureAccessControl","setBatch","removeBatch","scheduleSecureWrite","pendingWrite","name","equals","other","dispose","storageKey","remove","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","k","getRawValue","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","clearAll","clearNamespace","namespace","keyPrefix","scopeCache","clearBiometric","getByPrefix","result","getAll","val","setAccessControl","level","_group","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getString","setString","deleteString","import","data","setWebSecureStorageBackend","backend","getWebSecureStorageBackend","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","useStorage","useStorageSelector","useSetStorage","createIndexedDBBackend","items","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","error","rollbackEntries","entries","reverse","previousValue","keysToSet","valuesToSet","createSecureAuthStorage","options","ns","itemConfig","expirationConfig","isKeychainLockedError","_err"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","createLocalStorageWebBackend","getStorageErrorCode","isLockedStorageErrorCode","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","memoryStore","memoryListeners","webScopeListeners","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWindowStorageEventSubscription","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","createDefaultDiskBackend","name","includeKey","key","startsWith","createDefaultSecureBackend","webDiskStorageBackend","webSecureStorageBackend","externalSyncUnsubscribers","getBackendName","backend","scopeName","createWebStorageError","error","backendName","message","Error","String","withWebBackendOperation","ensureExternalSyncSubscriptions","getWebBackend","toSecureStorageKey","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","clear","getAllKeys","add","ensureWebScopeKeyIndex","applyExternalChangeEvent","newValue","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","delete","cacheRawValue","undefined","notifyKeyListeners","getItem","handleWebStorageEvent","event","subscribeToBackendChanges","subscribe","unsubscribe","resetBackendChangeSubscription","window","addEventListener","getScopeRawCache","value","readCachedRawValue","hasCachedRawValue","registry","listeners","listener","values","addKeyListener","scopedListeners","size","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","forEach","push","WebStorage","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","equals","other","dispose","storageKey","setItem","remove","removeMany","removeItem","entries","index","setMany","getBatch","map","storageKeys","getMany","flatMap","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","getRawValue","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","storage","clearAll","clearNamespace","namespace","keyPrefix","scopeCache","clearBiometric","getByPrefix","result","getAll","val","setAccessControl","level","setDiskWritesAsync","enabled","_group","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","disk","secure","writeBuffering","errorClassification","getString","setString","deleteString","import","data","k","setWebSecureStorageBackend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","flushes","diskFlush","flush","secureFlush","all","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","useStorage","useStorageSelector","useSetStorage","createIndexedDBBackend","items","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","rollbackEntries","reverse","previousValue","createSecureAuthStorage","options","ns","itemConfig","expirationConfig","isKeychainLockedError","err"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
const DEFAULT_DB_NAME = "nitro-storage-secure";
|
|
4
4
|
const DEFAULT_STORE_NAME = "keyvalue";
|
|
5
5
|
const DB_VERSION = 1;
|
|
6
|
-
|
|
7
6
|
/**
|
|
8
7
|
* Opens (or creates) an IndexedDB database and returns the underlying IDBDatabase.
|
|
9
8
|
* Rejects if IndexedDB is unavailable in the current environment.
|
|
@@ -52,9 +51,46 @@ function openDB(dbName, storeName) {
|
|
|
52
51
|
* setWebSecureStorageBackend(backend);
|
|
53
52
|
* ```
|
|
54
53
|
*/
|
|
55
|
-
export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFAULT_STORE_NAME) {
|
|
54
|
+
export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFAULT_STORE_NAME, options = {}) {
|
|
56
55
|
const db = await openDB(dbName, storeName);
|
|
57
56
|
const cache = new Map();
|
|
57
|
+
const pendingWrites = new Set();
|
|
58
|
+
const subscribers = new Set();
|
|
59
|
+
const sourceId = `nitro-storage-${Math.random().toString(36).slice(2)}`;
|
|
60
|
+
const channelName = options.channelName ?? `nitro-storage:${dbName}:${storeName}`;
|
|
61
|
+
const channel = typeof BroadcastChannel !== "undefined" ? new BroadcastChannel(channelName) : null;
|
|
62
|
+
function emitExternal(event) {
|
|
63
|
+
subscribers.forEach(subscriber => {
|
|
64
|
+
subscriber(event);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function handleAsyncError(error) {
|
|
68
|
+
const normalized = error instanceof Error ? error : new Error(String(error ?? "Unknown IndexedDB error"));
|
|
69
|
+
options.onError?.(normalized);
|
|
70
|
+
}
|
|
71
|
+
channel?.addEventListener("message", event => {
|
|
72
|
+
const data = event.data;
|
|
73
|
+
if (!data || data.sourceId === sourceId) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (data.key === null) {
|
|
77
|
+
cache.clear();
|
|
78
|
+
} else if (data.newValue === null) {
|
|
79
|
+
cache.delete(data.key);
|
|
80
|
+
} else {
|
|
81
|
+
cache.set(data.key, data.newValue);
|
|
82
|
+
}
|
|
83
|
+
emitExternal({
|
|
84
|
+
key: data.key,
|
|
85
|
+
newValue: data.newValue
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
function publish(event) {
|
|
89
|
+
channel?.postMessage({
|
|
90
|
+
...event,
|
|
91
|
+
sourceId
|
|
92
|
+
});
|
|
93
|
+
}
|
|
58
94
|
|
|
59
95
|
// Hydrate the in-memory cache from IndexedDB.
|
|
60
96
|
await new Promise((resolve, reject) => {
|
|
@@ -74,51 +110,137 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
|
|
|
74
110
|
tx.oncomplete = () => resolve();
|
|
75
111
|
tx.onerror = () => reject(tx.error ?? new Error("Failed to load IndexedDB entries."));
|
|
76
112
|
});
|
|
113
|
+
function trackWrite(tx) {
|
|
114
|
+
const pending = new Promise(resolve => {
|
|
115
|
+
tx.oncomplete = () => resolve();
|
|
116
|
+
tx.onerror = () => {
|
|
117
|
+
handleAsyncError(tx.error ?? new Error("Failed to persist IndexedDB transaction."));
|
|
118
|
+
resolve();
|
|
119
|
+
};
|
|
120
|
+
tx.onabort = () => {
|
|
121
|
+
handleAsyncError(tx.error ?? new Error("IndexedDB transaction was aborted."));
|
|
122
|
+
resolve();
|
|
123
|
+
};
|
|
124
|
+
});
|
|
125
|
+
pendingWrites.add(pending);
|
|
126
|
+
void pending.finally(() => {
|
|
127
|
+
pendingWrites.delete(pending);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
77
130
|
|
|
78
|
-
/** Fire-and-forget IndexedDB write.
|
|
79
|
-
*
|
|
131
|
+
/** Fire-and-forget IndexedDB write. The in-memory cache remains authoritative,
|
|
132
|
+
* but async persistence failures are surfaced through `onError` and `flush()`. */
|
|
80
133
|
function persistSet(key, value) {
|
|
81
134
|
try {
|
|
82
135
|
const tx = db.transaction(storeName, "readwrite");
|
|
83
136
|
tx.objectStore(storeName).put(value, key);
|
|
137
|
+
trackWrite(tx);
|
|
84
138
|
} catch {
|
|
85
|
-
|
|
139
|
+
handleAsyncError(new Error(`Failed to queue IndexedDB write for "${key}".`));
|
|
86
140
|
}
|
|
87
141
|
}
|
|
88
142
|
function persistDelete(key) {
|
|
89
143
|
try {
|
|
90
144
|
const tx = db.transaction(storeName, "readwrite");
|
|
91
145
|
tx.objectStore(storeName).delete(key);
|
|
146
|
+
trackWrite(tx);
|
|
92
147
|
} catch {
|
|
93
|
-
|
|
148
|
+
handleAsyncError(new Error(`Failed to queue IndexedDB delete for "${key}".`));
|
|
94
149
|
}
|
|
95
150
|
}
|
|
96
151
|
function persistClear() {
|
|
97
152
|
try {
|
|
98
153
|
const tx = db.transaction(storeName, "readwrite");
|
|
99
154
|
tx.objectStore(storeName).clear();
|
|
155
|
+
trackWrite(tx);
|
|
100
156
|
} catch {
|
|
101
|
-
|
|
157
|
+
handleAsyncError(new Error("Failed to queue IndexedDB clear."));
|
|
102
158
|
}
|
|
103
159
|
}
|
|
104
160
|
const backend = {
|
|
161
|
+
name: `indexeddb:${dbName}/${storeName}`,
|
|
105
162
|
getItem(key) {
|
|
106
163
|
return cache.get(key) ?? null;
|
|
107
164
|
},
|
|
108
165
|
setItem(key, value) {
|
|
109
166
|
cache.set(key, value);
|
|
110
167
|
persistSet(key, value);
|
|
168
|
+
publish({
|
|
169
|
+
key,
|
|
170
|
+
newValue: value
|
|
171
|
+
});
|
|
111
172
|
},
|
|
112
173
|
removeItem(key) {
|
|
113
174
|
cache.delete(key);
|
|
114
175
|
persistDelete(key);
|
|
176
|
+
publish({
|
|
177
|
+
key,
|
|
178
|
+
newValue: null
|
|
179
|
+
});
|
|
115
180
|
},
|
|
116
181
|
clear() {
|
|
117
182
|
cache.clear();
|
|
118
183
|
persistClear();
|
|
184
|
+
publish({
|
|
185
|
+
key: null,
|
|
186
|
+
newValue: null
|
|
187
|
+
});
|
|
119
188
|
},
|
|
120
189
|
getAllKeys() {
|
|
121
190
|
return Array.from(cache.keys());
|
|
191
|
+
},
|
|
192
|
+
getMany(keys) {
|
|
193
|
+
return keys.map(key => cache.get(key) ?? null);
|
|
194
|
+
},
|
|
195
|
+
setMany(entries) {
|
|
196
|
+
entries.forEach(([key, value]) => {
|
|
197
|
+
cache.set(key, value);
|
|
198
|
+
});
|
|
199
|
+
try {
|
|
200
|
+
const tx = db.transaction(storeName, "readwrite");
|
|
201
|
+
const store = tx.objectStore(storeName);
|
|
202
|
+
entries.forEach(([key, value]) => {
|
|
203
|
+
store.put(value, key);
|
|
204
|
+
publish({
|
|
205
|
+
key,
|
|
206
|
+
newValue: value
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
trackWrite(tx);
|
|
210
|
+
} catch {
|
|
211
|
+
handleAsyncError(new Error("Failed to queue IndexedDB batch write."));
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
removeMany(keys) {
|
|
215
|
+
keys.forEach(key => {
|
|
216
|
+
cache.delete(key);
|
|
217
|
+
});
|
|
218
|
+
try {
|
|
219
|
+
const tx = db.transaction(storeName, "readwrite");
|
|
220
|
+
const store = tx.objectStore(storeName);
|
|
221
|
+
keys.forEach(key => {
|
|
222
|
+
store.delete(key);
|
|
223
|
+
publish({
|
|
224
|
+
key,
|
|
225
|
+
newValue: null
|
|
226
|
+
});
|
|
227
|
+
});
|
|
228
|
+
trackWrite(tx);
|
|
229
|
+
} catch {
|
|
230
|
+
handleAsyncError(new Error("Failed to queue IndexedDB batch delete."));
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
size() {
|
|
234
|
+
return cache.size;
|
|
235
|
+
},
|
|
236
|
+
subscribe(listener) {
|
|
237
|
+
subscribers.add(listener);
|
|
238
|
+
return () => {
|
|
239
|
+
subscribers.delete(listener);
|
|
240
|
+
};
|
|
241
|
+
},
|
|
242
|
+
async flush() {
|
|
243
|
+
await Promise.all(Array.from(pendingWrites));
|
|
122
244
|
}
|
|
123
245
|
};
|
|
124
246
|
return backend;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_DB_NAME","DEFAULT_STORE_NAME","DB_VERSION","openDB","dbName","storeName","Promise","resolve","reject","indexedDB","Error","request","open","onupgradeneeded","db","result","objectStoreNames","contains","createObjectStore","onsuccess","onerror","error","createIndexedDBBackend","cache","Map","tx","transaction","store","objectStore","openCursor","cursor","value","
|
|
1
|
+
{"version":3,"names":["DEFAULT_DB_NAME","DEFAULT_STORE_NAME","DB_VERSION","openDB","dbName","storeName","Promise","resolve","reject","indexedDB","Error","request","open","onupgradeneeded","db","result","objectStoreNames","contains","createObjectStore","onsuccess","onerror","error","createIndexedDBBackend","options","cache","Map","pendingWrites","Set","subscribers","sourceId","Math","random","toString","slice","channelName","channel","BroadcastChannel","emitExternal","event","forEach","subscriber","handleAsyncError","normalized","String","onError","addEventListener","data","key","clear","newValue","delete","set","publish","postMessage","tx","transaction","store","objectStore","openCursor","cursor","value","continue","oncomplete","trackWrite","pending","onabort","add","finally","persistSet","put","persistDelete","persistClear","backend","name","getItem","get","setItem","removeItem","getAllKeys","Array","from","keys","getMany","map","setMany","entries","removeMany","size","subscribe","listener","flush","all"],"sourceRoot":"../../src","sources":["indexeddb-backend.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const STORAGE_ERROR_TAG_PATTERN = /\[nitro-error:([a-z_]+)\]/;
|
|
4
|
+
export function getStorageErrorCode(err) {
|
|
5
|
+
if (!(err instanceof Error)) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
const message = err.message;
|
|
9
|
+
const taggedCode = message.match(STORAGE_ERROR_TAG_PATTERN)?.[1];
|
|
10
|
+
if (taggedCode === "keychain_locked" || taggedCode === "authentication_required" || taggedCode === "key_invalidated" || taggedCode === "storage_corruption" || taggedCode === "biometric_unavailable" || taggedCode === "unsupported") {
|
|
11
|
+
return taggedCode;
|
|
12
|
+
}
|
|
13
|
+
if (message.includes("errSecInteractionNotAllowed")) {
|
|
14
|
+
return "keychain_locked";
|
|
15
|
+
}
|
|
16
|
+
if (message.includes("UserNotAuthenticatedException") || message.includes("KeyStoreException") || message.includes("android.security.keystore")) {
|
|
17
|
+
return "authentication_required";
|
|
18
|
+
}
|
|
19
|
+
if (message.includes("KeyPermanentlyInvalidatedException") || message.includes("InvalidKeyException")) {
|
|
20
|
+
return "key_invalidated";
|
|
21
|
+
}
|
|
22
|
+
if (message.includes("AEADBadTagException") || message.toLowerCase().includes("storage corruption") || message.toLowerCase().includes("corrupted storage")) {
|
|
23
|
+
return "storage_corruption";
|
|
24
|
+
}
|
|
25
|
+
if (message.toLowerCase().includes("biometric storage unavailable") || message.toLowerCase().includes("biometric storage is not available")) {
|
|
26
|
+
return "biometric_unavailable";
|
|
27
|
+
}
|
|
28
|
+
if (message.toLowerCase().includes("unsupported")) {
|
|
29
|
+
return "unsupported";
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
export function isLockedStorageErrorCode(code) {
|
|
34
|
+
return code === "keychain_locked" || code === "authentication_required" || code === "key_invalidated";
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=storage-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["STORAGE_ERROR_TAG_PATTERN","getStorageErrorCode","err","Error","undefined","message","taggedCode","match","includes","toLowerCase","isLockedStorageErrorCode","code"],"sourceRoot":"../../src","sources":["storage-runtime.ts"],"mappings":";;AAqBA,MAAMA,yBAAyB,GAAG,2BAA2B;AAE7D,OAAO,SAASC,mBAAmBA,CACjCC,GAAY,EACkB;EAC9B,IAAI,EAAEA,GAAG,YAAYC,KAAK,CAAC,EAAE;IAC3B,OAAOC,SAAS;EAClB;EAEA,MAAMC,OAAO,GAAGH,GAAG,CAACG,OAAO;EAC3B,MAAMC,UAAU,GAAGD,OAAO,CAACE,KAAK,CAACP,yBAAyB,CAAC,GAAG,CAAC,CAAC;EAEhE,IACEM,UAAU,KAAK,iBAAiB,IAChCA,UAAU,KAAK,yBAAyB,IACxCA,UAAU,KAAK,iBAAiB,IAChCA,UAAU,KAAK,oBAAoB,IACnCA,UAAU,KAAK,uBAAuB,IACtCA,UAAU,KAAK,aAAa,EAC5B;IACA,OAAOA,UAAU;EACnB;EAEA,IAAID,OAAO,CAACG,QAAQ,CAAC,6BAA6B,CAAC,EAAE;IACnD,OAAO,iBAAiB;EAC1B;EAEA,IACEH,OAAO,CAACG,QAAQ,CAAC,+BAA+B,CAAC,IACjDH,OAAO,CAACG,QAAQ,CAAC,mBAAmB,CAAC,IACrCH,OAAO,CAACG,QAAQ,CAAC,2BAA2B,CAAC,EAC7C;IACA,OAAO,yBAAyB;EAClC;EAEA,IACEH,OAAO,CAACG,QAAQ,CAAC,oCAAoC,CAAC,IACtDH,OAAO,CAACG,QAAQ,CAAC,qBAAqB,CAAC,EACvC;IACA,OAAO,iBAAiB;EAC1B;EAEA,IACEH,OAAO,CAACG,QAAQ,CAAC,qBAAqB,CAAC,IACvCH,OAAO,CAACI,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,oBAAoB,CAAC,IACpDH,OAAO,CAACI,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,mBAAmB,CAAC,EACnD;IACA,OAAO,oBAAoB;EAC7B;EAEA,IACEH,OAAO,CAACI,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,+BAA+B,CAAC,IAC/DH,OAAO,CAACI,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,oCAAoC,CAAC,EACpE;IACA,OAAO,uBAAuB;EAChC;EAEA,IAAIH,OAAO,CAACI,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,aAAa,CAAC,EAAE;IACjD,OAAO,aAAa;EACtB;EAEA,OAAOJ,SAAS;AAClB;AAEA,OAAO,SAASM,wBAAwBA,CACtCC,IAAkC,EACzB;EACT,OACEA,IAAI,KAAK,iBAAiB,IAC1BA,IAAI,KAAK,yBAAyB,IAClCA,IAAI,KAAK,iBAAiB;AAE9B","ignoreList":[]}
|