react-native-nitro-storage 0.4.3 → 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.
Files changed (41) hide show
  1. package/README.md +108 -8
  2. package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +61 -10
  3. package/ios/IOSStorageAdapterCpp.mm +44 -14
  4. package/lib/commonjs/index.js +221 -5
  5. package/lib/commonjs/index.js.map +1 -1
  6. package/lib/commonjs/index.web.js +444 -202
  7. package/lib/commonjs/index.web.js.map +1 -1
  8. package/lib/commonjs/indexeddb-backend.js +129 -7
  9. package/lib/commonjs/indexeddb-backend.js.map +1 -1
  10. package/lib/commonjs/storage-runtime.js +41 -0
  11. package/lib/commonjs/storage-runtime.js.map +1 -0
  12. package/lib/commonjs/web-storage-backend.js +90 -0
  13. package/lib/commonjs/web-storage-backend.js.map +1 -0
  14. package/lib/module/index.js +213 -5
  15. package/lib/module/index.js.map +1 -1
  16. package/lib/module/index.web.js +436 -202
  17. package/lib/module/index.web.js.map +1 -1
  18. package/lib/module/indexeddb-backend.js +129 -7
  19. package/lib/module/indexeddb-backend.js.map +1 -1
  20. package/lib/module/storage-runtime.js +36 -0
  21. package/lib/module/storage-runtime.js.map +1 -0
  22. package/lib/module/web-storage-backend.js +86 -0
  23. package/lib/module/web-storage-backend.js.map +1 -0
  24. package/lib/typescript/index.d.ts +11 -7
  25. package/lib/typescript/index.d.ts.map +1 -1
  26. package/lib/typescript/index.web.d.ts +12 -8
  27. package/lib/typescript/index.web.d.ts.map +1 -1
  28. package/lib/typescript/indexeddb-backend.d.ts +6 -2
  29. package/lib/typescript/indexeddb-backend.d.ts.map +1 -1
  30. package/lib/typescript/storage-runtime.d.ts +16 -0
  31. package/lib/typescript/storage-runtime.d.ts.map +1 -0
  32. package/lib/typescript/web-storage-backend.d.ts +30 -0
  33. package/lib/typescript/web-storage-backend.d.ts.map +1 -0
  34. package/nitro.json +8 -2
  35. package/nitrogen/generated/ios/NitroStorage+autolinking.rb +2 -0
  36. package/package.json +2 -2
  37. package/src/index.ts +268 -21
  38. package/src/index.web.ts +601 -246
  39. package/src/indexeddb-backend.ts +147 -6
  40. package/src/storage-runtime.ts +94 -0
  41. package/src/web-storage-backend.ts +129 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_Storage","require","_internal","_migration","_storageHooks","_indexeddbBackend","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","StorageScope","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","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","BiometricLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","k","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","exports","clearAll","clearNamespace","namespace","isNamespaced","keyPrefix","prefixKey","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","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","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","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","items","assertBatchScope","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":["_Storage","require","_internal","_webStorageBackend","_storageRuntime","_migration","_storageHooks","_indexeddbBackend","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","memoryStore","memoryListeners","webScopeListeners","StorageScope","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","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","createLocalStorageWebBackend","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","BiometricLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","storage","exports","clearAll","clearNamespace","namespace","isNamespaced","keyPrefix","prefixKey","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","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","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","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","items","assertBatchScope","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","isLockedStorageErrorCode","getStorageErrorCode"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,6 @@ exports.createIndexedDBBackend = createIndexedDBBackend;
7
7
  const DEFAULT_DB_NAME = "nitro-storage-secure";
8
8
  const DEFAULT_STORE_NAME = "keyvalue";
9
9
  const DB_VERSION = 1;
10
-
11
10
  /**
12
11
  * Opens (or creates) an IndexedDB database and returns the underlying IDBDatabase.
13
12
  * Rejects if IndexedDB is unavailable in the current environment.
@@ -56,9 +55,46 @@ function openDB(dbName, storeName) {
56
55
  * setWebSecureStorageBackend(backend);
57
56
  * ```
58
57
  */
59
- async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFAULT_STORE_NAME) {
58
+ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFAULT_STORE_NAME, options = {}) {
60
59
  const db = await openDB(dbName, storeName);
61
60
  const cache = new Map();
61
+ const pendingWrites = new Set();
62
+ const subscribers = new Set();
63
+ const sourceId = `nitro-storage-${Math.random().toString(36).slice(2)}`;
64
+ const channelName = options.channelName ?? `nitro-storage:${dbName}:${storeName}`;
65
+ const channel = typeof BroadcastChannel !== "undefined" ? new BroadcastChannel(channelName) : null;
66
+ function emitExternal(event) {
67
+ subscribers.forEach(subscriber => {
68
+ subscriber(event);
69
+ });
70
+ }
71
+ function handleAsyncError(error) {
72
+ const normalized = error instanceof Error ? error : new Error(String(error ?? "Unknown IndexedDB error"));
73
+ options.onError?.(normalized);
74
+ }
75
+ channel?.addEventListener("message", event => {
76
+ const data = event.data;
77
+ if (!data || data.sourceId === sourceId) {
78
+ return;
79
+ }
80
+ if (data.key === null) {
81
+ cache.clear();
82
+ } else if (data.newValue === null) {
83
+ cache.delete(data.key);
84
+ } else {
85
+ cache.set(data.key, data.newValue);
86
+ }
87
+ emitExternal({
88
+ key: data.key,
89
+ newValue: data.newValue
90
+ });
91
+ });
92
+ function publish(event) {
93
+ channel?.postMessage({
94
+ ...event,
95
+ sourceId
96
+ });
97
+ }
62
98
 
63
99
  // Hydrate the in-memory cache from IndexedDB.
64
100
  await new Promise((resolve, reject) => {
@@ -78,51 +114,137 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
78
114
  tx.oncomplete = () => resolve();
79
115
  tx.onerror = () => reject(tx.error ?? new Error("Failed to load IndexedDB entries."));
80
116
  });
117
+ function trackWrite(tx) {
118
+ const pending = new Promise(resolve => {
119
+ tx.oncomplete = () => resolve();
120
+ tx.onerror = () => {
121
+ handleAsyncError(tx.error ?? new Error("Failed to persist IndexedDB transaction."));
122
+ resolve();
123
+ };
124
+ tx.onabort = () => {
125
+ handleAsyncError(tx.error ?? new Error("IndexedDB transaction was aborted."));
126
+ resolve();
127
+ };
128
+ });
129
+ pendingWrites.add(pending);
130
+ void pending.finally(() => {
131
+ pendingWrites.delete(pending);
132
+ });
133
+ }
81
134
 
82
- /** Fire-and-forget IndexedDB write. Errors are silently ignored to avoid
83
- * breaking the synchronous caller the in-memory cache is always authoritative. */
135
+ /** Fire-and-forget IndexedDB write. The in-memory cache remains authoritative,
136
+ * but async persistence failures are surfaced through `onError` and `flush()`. */
84
137
  function persistSet(key, value) {
85
138
  try {
86
139
  const tx = db.transaction(storeName, "readwrite");
87
140
  tx.objectStore(storeName).put(value, key);
141
+ trackWrite(tx);
88
142
  } catch {
89
- // Best-effort; cache is the source of truth.
143
+ handleAsyncError(new Error(`Failed to queue IndexedDB write for "${key}".`));
90
144
  }
91
145
  }
92
146
  function persistDelete(key) {
93
147
  try {
94
148
  const tx = db.transaction(storeName, "readwrite");
95
149
  tx.objectStore(storeName).delete(key);
150
+ trackWrite(tx);
96
151
  } catch {
97
- // Best-effort.
152
+ handleAsyncError(new Error(`Failed to queue IndexedDB delete for "${key}".`));
98
153
  }
99
154
  }
100
155
  function persistClear() {
101
156
  try {
102
157
  const tx = db.transaction(storeName, "readwrite");
103
158
  tx.objectStore(storeName).clear();
159
+ trackWrite(tx);
104
160
  } catch {
105
- // Best-effort.
161
+ handleAsyncError(new Error("Failed to queue IndexedDB clear."));
106
162
  }
107
163
  }
108
164
  const backend = {
165
+ name: `indexeddb:${dbName}/${storeName}`,
109
166
  getItem(key) {
110
167
  return cache.get(key) ?? null;
111
168
  },
112
169
  setItem(key, value) {
113
170
  cache.set(key, value);
114
171
  persistSet(key, value);
172
+ publish({
173
+ key,
174
+ newValue: value
175
+ });
115
176
  },
116
177
  removeItem(key) {
117
178
  cache.delete(key);
118
179
  persistDelete(key);
180
+ publish({
181
+ key,
182
+ newValue: null
183
+ });
119
184
  },
120
185
  clear() {
121
186
  cache.clear();
122
187
  persistClear();
188
+ publish({
189
+ key: null,
190
+ newValue: null
191
+ });
123
192
  },
124
193
  getAllKeys() {
125
194
  return Array.from(cache.keys());
195
+ },
196
+ getMany(keys) {
197
+ return keys.map(key => cache.get(key) ?? null);
198
+ },
199
+ setMany(entries) {
200
+ entries.forEach(([key, value]) => {
201
+ cache.set(key, value);
202
+ });
203
+ try {
204
+ const tx = db.transaction(storeName, "readwrite");
205
+ const store = tx.objectStore(storeName);
206
+ entries.forEach(([key, value]) => {
207
+ store.put(value, key);
208
+ publish({
209
+ key,
210
+ newValue: value
211
+ });
212
+ });
213
+ trackWrite(tx);
214
+ } catch {
215
+ handleAsyncError(new Error("Failed to queue IndexedDB batch write."));
216
+ }
217
+ },
218
+ removeMany(keys) {
219
+ keys.forEach(key => {
220
+ cache.delete(key);
221
+ });
222
+ try {
223
+ const tx = db.transaction(storeName, "readwrite");
224
+ const store = tx.objectStore(storeName);
225
+ keys.forEach(key => {
226
+ store.delete(key);
227
+ publish({
228
+ key,
229
+ newValue: null
230
+ });
231
+ });
232
+ trackWrite(tx);
233
+ } catch {
234
+ handleAsyncError(new Error("Failed to queue IndexedDB batch delete."));
235
+ }
236
+ },
237
+ size() {
238
+ return cache.size;
239
+ },
240
+ subscribe(listener) {
241
+ subscribers.add(listener);
242
+ return () => {
243
+ subscribers.delete(listener);
244
+ };
245
+ },
246
+ async flush() {
247
+ await Promise.all(Array.from(pendingWrites));
126
248
  }
127
249
  };
128
250
  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","set","String","key","continue","oncomplete","persistSet","put","persistDelete","delete","persistClear","clear","backend","getItem","get","setItem","removeItem","getAllKeys","Array","from","keys"],"sourceRoot":"../../src","sources":["indexeddb-backend.ts"],"mappings":"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","ignoreList":[]}
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,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getStorageErrorCode = getStorageErrorCode;
7
+ exports.isLockedStorageErrorCode = isLockedStorageErrorCode;
8
+ const STORAGE_ERROR_TAG_PATTERN = /\[nitro-error:([a-z_]+)\]/;
9
+ function getStorageErrorCode(err) {
10
+ if (!(err instanceof Error)) {
11
+ return undefined;
12
+ }
13
+ const message = err.message;
14
+ const taggedCode = message.match(STORAGE_ERROR_TAG_PATTERN)?.[1];
15
+ if (taggedCode === "keychain_locked" || taggedCode === "authentication_required" || taggedCode === "key_invalidated" || taggedCode === "storage_corruption" || taggedCode === "biometric_unavailable" || taggedCode === "unsupported") {
16
+ return taggedCode;
17
+ }
18
+ if (message.includes("errSecInteractionNotAllowed")) {
19
+ return "keychain_locked";
20
+ }
21
+ if (message.includes("UserNotAuthenticatedException") || message.includes("KeyStoreException") || message.includes("android.security.keystore")) {
22
+ return "authentication_required";
23
+ }
24
+ if (message.includes("KeyPermanentlyInvalidatedException") || message.includes("InvalidKeyException")) {
25
+ return "key_invalidated";
26
+ }
27
+ if (message.includes("AEADBadTagException") || message.toLowerCase().includes("storage corruption") || message.toLowerCase().includes("corrupted storage")) {
28
+ return "storage_corruption";
29
+ }
30
+ if (message.toLowerCase().includes("biometric storage unavailable") || message.toLowerCase().includes("biometric storage is not available")) {
31
+ return "biometric_unavailable";
32
+ }
33
+ if (message.toLowerCase().includes("unsupported")) {
34
+ return "unsupported";
35
+ }
36
+ return undefined;
37
+ }
38
+ function isLockedStorageErrorCode(code) {
39
+ return code === "keychain_locked" || code === "authentication_required" || code === "key_invalidated";
40
+ }
41
+ //# 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;AAEtD,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;AAEO,SAASM,wBAAwBA,CACtCC,IAAkC,EACzB;EACT,OACEA,IAAI,KAAK,iBAAiB,IAC1BA,IAAI,KAAK,yBAAyB,IAClCA,IAAI,KAAK,iBAAiB;AAE9B","ignoreList":[]}