react-native-nitro-storage 0.7.0 → 0.9.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.
Files changed (110) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +89 -22
  3. package/SECURITY.md +2 -2
  4. package/cpp/bindings/HybridStorage.cpp +5 -12
  5. package/cpp/bindings/HybridStorage.hpp +1 -1
  6. package/docs/api-reference.md +11 -1
  7. package/docs/batch-transactions-migrations.md +8 -2
  8. package/docs/benchmarks.md +19 -15
  9. package/docs/web-backends.md +18 -1
  10. package/ios/IOSStorageAdapterCpp.mm +162 -17
  11. package/lib/commonjs/capabilities.js +26 -0
  12. package/lib/commonjs/capabilities.js.map +1 -0
  13. package/lib/commonjs/core/durability.js +137 -0
  14. package/lib/commonjs/core/durability.js.map +1 -0
  15. package/lib/commonjs/core/metrics.js +91 -0
  16. package/lib/commonjs/core/metrics.js.map +1 -0
  17. package/lib/commonjs/index.js +47 -22
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/commonjs/index.web.js +118 -66
  20. package/lib/commonjs/index.web.js.map +1 -1
  21. package/lib/commonjs/indexeddb-backend.js +73 -23
  22. package/lib/commonjs/indexeddb-backend.js.map +1 -1
  23. package/lib/commonjs/internal.js +27 -4
  24. package/lib/commonjs/internal.js.map +1 -1
  25. package/lib/commonjs/shared.js +2 -2
  26. package/lib/commonjs/shared.js.map +1 -1
  27. package/lib/commonjs/storage-core.js +224 -237
  28. package/lib/commonjs/storage-core.js.map +1 -1
  29. package/lib/commonjs/storage-events.js.map +1 -1
  30. package/lib/commonjs/storage-platform.js +6 -0
  31. package/lib/commonjs/storage-platform.js.map +1 -0
  32. package/lib/commonjs/storage-runtime.js +3 -21
  33. package/lib/commonjs/storage-runtime.js.map +1 -1
  34. package/lib/commonjs/testing.js +19 -4
  35. package/lib/commonjs/testing.js.map +1 -1
  36. package/lib/commonjs/web-backend-contract.js +27 -0
  37. package/lib/commonjs/web-backend-contract.js.map +1 -0
  38. package/lib/module/capabilities.js +21 -0
  39. package/lib/module/capabilities.js.map +1 -0
  40. package/lib/module/core/durability.js +133 -0
  41. package/lib/module/core/durability.js.map +1 -0
  42. package/lib/module/core/metrics.js +87 -0
  43. package/lib/module/core/metrics.js.map +1 -0
  44. package/lib/module/index.js +48 -23
  45. package/lib/module/index.js.map +1 -1
  46. package/lib/module/index.web.js +103 -64
  47. package/lib/module/index.web.js.map +1 -1
  48. package/lib/module/indexeddb-backend.js +73 -23
  49. package/lib/module/indexeddb-backend.js.map +1 -1
  50. package/lib/module/internal.js +24 -3
  51. package/lib/module/internal.js.map +1 -1
  52. package/lib/module/shared.js +2 -2
  53. package/lib/module/shared.js.map +1 -1
  54. package/lib/module/storage-core.js +225 -238
  55. package/lib/module/storage-core.js.map +1 -1
  56. package/lib/module/storage-events.js.map +1 -1
  57. package/lib/module/storage-platform.js +4 -0
  58. package/lib/module/storage-platform.js.map +1 -0
  59. package/lib/module/storage-runtime.js +3 -21
  60. package/lib/module/storage-runtime.js.map +1 -1
  61. package/lib/module/testing.js +5 -3
  62. package/lib/module/testing.js.map +1 -1
  63. package/lib/module/web-backend-contract.js +22 -0
  64. package/lib/module/web-backend-contract.js.map +1 -0
  65. package/lib/typescript/capabilities.d.ts +11 -0
  66. package/lib/typescript/capabilities.d.ts.map +1 -0
  67. package/lib/typescript/core/durability.d.ts +27 -0
  68. package/lib/typescript/core/durability.d.ts.map +1 -0
  69. package/lib/typescript/core/metrics.d.ts +12 -0
  70. package/lib/typescript/core/metrics.d.ts.map +1 -0
  71. package/lib/typescript/index.d.ts +5 -2
  72. package/lib/typescript/index.d.ts.map +1 -1
  73. package/lib/typescript/index.web.d.ts +8 -4
  74. package/lib/typescript/index.web.d.ts.map +1 -1
  75. package/lib/typescript/indexeddb-backend.d.ts.map +1 -1
  76. package/lib/typescript/internal.d.ts +3 -0
  77. package/lib/typescript/internal.d.ts.map +1 -1
  78. package/lib/typescript/shared.d.ts +2 -1
  79. package/lib/typescript/shared.d.ts.map +1 -1
  80. package/lib/typescript/storage-core.d.ts +6 -6
  81. package/lib/typescript/storage-core.d.ts.map +1 -1
  82. package/lib/typescript/storage-events.d.ts +2 -2
  83. package/lib/typescript/storage-events.d.ts.map +1 -1
  84. package/lib/typescript/storage-platform.d.ts +12 -0
  85. package/lib/typescript/storage-platform.d.ts.map +1 -0
  86. package/lib/typescript/storage-runtime.d.ts.map +1 -1
  87. package/lib/typescript/testing.d.ts +5 -1
  88. package/lib/typescript/testing.d.ts.map +1 -1
  89. package/lib/typescript/web-backend-contract.d.ts +10 -0
  90. package/lib/typescript/web-backend-contract.d.ts.map +1 -0
  91. package/lib/typescript/web-storage-backend.d.ts +1 -1
  92. package/lib/typescript/web-storage-backend.d.ts.map +1 -1
  93. package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +1 -1
  94. package/package.json +4 -3
  95. package/react-native-nitro-storage.podspec +3 -1
  96. package/src/capabilities.ts +36 -0
  97. package/src/core/durability.ts +170 -0
  98. package/src/core/metrics.ts +133 -0
  99. package/src/index.ts +66 -40
  100. package/src/index.web.ts +158 -86
  101. package/src/indexeddb-backend.ts +91 -20
  102. package/src/internal.ts +50 -4
  103. package/src/shared.ts +7 -6
  104. package/src/storage-core.ts +327 -292
  105. package/src/storage-events.ts +2 -1
  106. package/src/storage-platform.ts +16 -0
  107. package/src/storage-runtime.ts +13 -47
  108. package/src/testing.ts +14 -7
  109. package/src/web-backend-contract.ts +34 -0
  110. package/src/web-storage-backend.ts +1 -1
@@ -10,7 +10,7 @@ const DB_VERSION = 1;
10
10
  function openDB(dbName, storeName) {
11
11
  return new Promise((resolve, reject) => {
12
12
  if (typeof indexedDB === "undefined") {
13
- reject(new Error("IndexedDB is not available in this environment."));
13
+ reject(new Error("[nitro-error:unsupported] IndexedDB is not available in this environment."));
14
14
  return;
15
15
  }
16
16
  const request = indexedDB.open(dbName, DB_VERSION);
@@ -20,8 +20,12 @@ function openDB(dbName, storeName) {
20
20
  db.createObjectStore(storeName);
21
21
  }
22
22
  };
23
- request.onsuccess = () => resolve(request.result);
24
- request.onerror = () => reject(request.error ?? new Error("Failed to open IndexedDB database."));
23
+ request.onsuccess = () => {
24
+ resolve(request.result);
25
+ };
26
+ request.onerror = () => {
27
+ reject(request.error ?? new Error("Failed to open IndexedDB database."));
28
+ };
25
29
  });
26
30
  }
27
31
 
@@ -71,11 +75,43 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
71
75
  subscriber(event);
72
76
  });
73
77
  }
74
- function handleAsyncError(error) {
78
+ function handleAsyncError(keys, error) {
75
79
  const normalized = error instanceof Error ? error : new Error(String(error ?? "Unknown IndexedDB error"));
76
- pendingErrors.push(normalized);
80
+ pendingErrors.push({
81
+ keys,
82
+ error: normalized
83
+ });
77
84
  options.onError?.(normalized);
78
85
  }
86
+ function handleLifecycleFlush() {
87
+ if (closed || pendingWrites.size === 0) {
88
+ return;
89
+ }
90
+ void Promise.all(Array.from(pendingWrites)).catch(() => {
91
+ // Errors are surfaced through flush() and onError; the page may be
92
+ // hidden, so the flush result is intentionally not awaited here.
93
+ });
94
+ }
95
+ function installLifecycleFlush() {
96
+ if (typeof globalThis === "undefined" || !globalThis.addEventListener) {
97
+ return () => {};
98
+ }
99
+ const onPageHide = () => {
100
+ handleLifecycleFlush();
101
+ };
102
+ const onVisibilityChange = () => {
103
+ if (typeof document !== "undefined" && document.visibilityState === "hidden") {
104
+ handleLifecycleFlush();
105
+ }
106
+ };
107
+ globalThis.addEventListener("pagehide", onPageHide);
108
+ globalThis.addEventListener("visibilitychange", onVisibilityChange);
109
+ return () => {
110
+ globalThis.removeEventListener("pagehide", onPageHide);
111
+ globalThis.removeEventListener("visibilitychange", onVisibilityChange);
112
+ };
113
+ }
114
+ const removeLifecycleFlush = installLifecycleFlush();
79
115
  channel?.addEventListener("message", event => {
80
116
  if (closed) {
81
117
  return;
@@ -118,18 +154,24 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
118
154
  cursor.continue();
119
155
  }
120
156
  };
121
- tx.oncomplete = () => resolve();
122
- tx.onerror = () => reject(tx.error ?? new Error("Failed to load IndexedDB entries."));
157
+ tx.oncomplete = () => {
158
+ resolve();
159
+ };
160
+ tx.onerror = () => {
161
+ reject(tx.error ?? new Error("Failed to load IndexedDB entries."));
162
+ };
123
163
  });
124
- function trackWrite(tx) {
164
+ function trackWrite(tx, keys) {
125
165
  const pending = new Promise(resolve => {
126
- tx.oncomplete = () => resolve();
166
+ tx.oncomplete = () => {
167
+ resolve();
168
+ };
127
169
  tx.onerror = () => {
128
- handleAsyncError(tx.error ?? new Error("Failed to persist IndexedDB transaction."));
170
+ handleAsyncError(keys, tx.error ?? new Error("Failed to persist IndexedDB transaction."));
129
171
  resolve();
130
172
  };
131
173
  tx.onabort = () => {
132
- handleAsyncError(tx.error ?? new Error("IndexedDB transaction was aborted."));
174
+ handleAsyncError(keys, tx.error ?? new Error("IndexedDB transaction was aborted."));
133
175
  resolve();
134
176
  };
135
177
  });
@@ -145,27 +187,27 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
145
187
  try {
146
188
  const tx = db.transaction(storeName, "readwrite");
147
189
  tx.objectStore(storeName).put(value, key);
148
- trackWrite(tx);
190
+ trackWrite(tx, [key]);
149
191
  } catch {
150
- handleAsyncError(new Error(`Failed to queue IndexedDB write for "${key}".`));
192
+ handleAsyncError([key], new Error(`Failed to queue IndexedDB write for "${key}".`));
151
193
  }
152
194
  }
153
195
  function persistDelete(key) {
154
196
  try {
155
197
  const tx = db.transaction(storeName, "readwrite");
156
198
  tx.objectStore(storeName).delete(key);
157
- trackWrite(tx);
199
+ trackWrite(tx, [key]);
158
200
  } catch {
159
- handleAsyncError(new Error(`Failed to queue IndexedDB delete for "${key}".`));
201
+ handleAsyncError([key], new Error(`Failed to queue IndexedDB delete for "${key}".`));
160
202
  }
161
203
  }
162
204
  function persistClear() {
163
205
  try {
164
206
  const tx = db.transaction(storeName, "readwrite");
165
207
  tx.objectStore(storeName).clear();
166
- trackWrite(tx);
208
+ trackWrite(tx, null);
167
209
  } catch {
168
- handleAsyncError(new Error("Failed to queue IndexedDB clear."));
210
+ handleAsyncError(null, new Error("Failed to queue IndexedDB clear."));
169
211
  }
170
212
  }
171
213
  const backend = {
@@ -211,8 +253,10 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
211
253
  },
212
254
  setMany(entries) {
213
255
  assertOpen();
256
+ const keys = [];
214
257
  entries.forEach(([key, value]) => {
215
258
  cache.set(key, value);
259
+ keys.push(key);
216
260
  });
217
261
  try {
218
262
  const tx = db.transaction(storeName, "readwrite");
@@ -224,9 +268,9 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
224
268
  newValue: value
225
269
  });
226
270
  });
227
- trackWrite(tx);
271
+ trackWrite(tx, keys);
228
272
  } catch {
229
- handleAsyncError(new Error("Failed to queue IndexedDB batch write."));
273
+ handleAsyncError(null, new Error("Failed to queue IndexedDB batch write."));
230
274
  }
231
275
  },
232
276
  removeMany(keys) {
@@ -244,9 +288,9 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
244
288
  newValue: null
245
289
  });
246
290
  });
247
- trackWrite(tx);
291
+ trackWrite(tx, keys);
248
292
  } catch {
249
- handleAsyncError(new Error("Failed to queue IndexedDB batch delete."));
293
+ handleAsyncError(null, new Error("Failed to queue IndexedDB batch delete."));
250
294
  }
251
295
  },
252
296
  size() {
@@ -265,14 +309,20 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
265
309
  if (pendingErrors.length === 0) {
266
310
  return;
267
311
  }
268
- const [error] = pendingErrors.splice(0);
269
- throw error;
312
+ const failures = pendingErrors.splice(0);
313
+ const failedKeys = failures.flatMap(({
314
+ keys
315
+ }) => keys ?? []).filter((key, index, all) => all.indexOf(key) === index);
316
+ const keyDetail = failedKeys.length > 0 ? ` Affected keys: ${failedKeys.join(", ")}.` : "";
317
+ const [first] = failures;
318
+ throw new Error(`NitroStorage: IndexedDB persistence failed for ${failures.length} write(s).${keyDetail} ${first?.error.message ?? ""}`);
270
319
  },
271
320
  close() {
272
321
  if (closed) {
273
322
  return;
274
323
  }
275
324
  closed = true;
325
+ removeLifecycleFlush();
276
326
  subscribers.clear();
277
327
  channel?.close();
278
328
  db.close();
@@ -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","options","cache","Map","pendingWrites","Set","pendingErrors","subscribers","closed","sourceId","Math","random","toString","slice","channelName","channel","BroadcastChannel","assertOpen","emitExternal","event","forEach","subscriber","handleAsyncError","normalized","String","push","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","length","splice","close"],"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","pendingErrors","subscribers","closed","sourceId","Math","random","toString","slice","channelName","channel","BroadcastChannel","assertOpen","emitExternal","event","forEach","subscriber","handleAsyncError","keys","normalized","String","push","onError","handleLifecycleFlush","size","all","Array","from","catch","installLifecycleFlush","globalThis","addEventListener","onPageHide","onVisibilityChange","document","visibilityState","removeEventListener","removeLifecycleFlush","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","getMany","map","setMany","entries","removeMany","subscribe","listener","flush","length","failures","splice","failedKeys","flatMap","filter","index","indexOf","keyDetail","join","first","message","close"],"sourceRoot":"../../src","sources":["indexeddb-backend.ts"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,17 @@ const PRIM_NEG_INFINITY = "__nitro_storage_primitive__:n:-Infinity";
15
15
  const PRIM_NAN = "__nitro_storage_primitive__:n:NaN";
16
16
  const NAMESPACE_SEPARATOR = ":";
17
17
  const VERSION_TOKEN_PREFIX = "__nitro_storage_version__:";
18
+ export const ESCAPE_PREFIX = "__nitro_storage_escaped__:";
19
+ const RESERVED_RAW_TOKENS = new Set([PRIM_NULL, PRIM_UNDEFINED, PRIM_TRUE, PRIM_FALSE, PRIM_INFINITY, PRIM_NEG_INFINITY, PRIM_NAN, NATIVE_BATCH_MISSING_SENTINEL]);
20
+ export function escapeCollidingRawValue(value) {
21
+ if (RESERVED_RAW_TOKENS.has(value) || value.startsWith(PRIMITIVE_FAST_PATH_PREFIX) || value.startsWith(ESCAPE_PREFIX)) {
22
+ return `${ESCAPE_PREFIX}${value}`;
23
+ }
24
+ return value;
25
+ }
26
+ export function unescapeCollidingRawValue(value) {
27
+ return value.startsWith(ESCAPE_PREFIX) ? value.slice(ESCAPE_PREFIX.length) : value;
28
+ }
18
29
  export function isStoredEnvelope(value) {
19
30
  if (typeof value !== "object" || value === null) {
20
31
  return false;
@@ -37,7 +48,7 @@ export function assertBatchScope(items, scope) {
37
48
  throw new Error(`Batch scope mismatch for "${mismatchedItem.key}": expected ${expectedScope}, received ${actualScope}.`);
38
49
  }
39
50
  export function decodeNativeBatchValue(value) {
40
- if (value === NATIVE_BATCH_MISSING_SENTINEL) {
51
+ if (value === undefined || value === NATIVE_BATCH_MISSING_SENTINEL) {
41
52
  return undefined;
42
53
  }
43
54
  return value;
@@ -55,7 +66,13 @@ export function serializeWithPrimitiveFastPath(value) {
55
66
  }
56
67
  switch (typeof value) {
57
68
  case "string":
58
- return PRIM_STRING_PREFIX + value;
69
+ {
70
+ const stringValue = value;
71
+ if (stringValue === NATIVE_BATCH_MISSING_SENTINEL || stringValue.startsWith(PRIMITIVE_FAST_PATH_PREFIX) || stringValue.startsWith(ESCAPE_PREFIX)) {
72
+ return `${PRIM_STRING_PREFIX}${ESCAPE_PREFIX}${stringValue}`;
73
+ }
74
+ return PRIM_STRING_PREFIX + stringValue;
75
+ }
59
76
  case "number":
60
77
  if (Number.isFinite(value)) {
61
78
  return PRIM_NUMBER_PREFIX + String(value);
@@ -92,6 +109,9 @@ const CHAR_B = 98; // 'b'
92
109
  const CHAR_N = 110; // 'n'
93
110
 
94
111
  export function deserializeWithPrimitiveFastPath(value) {
112
+ if (value.startsWith(ESCAPE_PREFIX)) {
113
+ return value.slice(ESCAPE_PREFIX.length);
114
+ }
95
115
  if (value.startsWith(PRIMITIVE_FAST_PATH_PREFIX)) {
96
116
  const prefixLen = PRIMITIVE_FAST_PATH_PREFIX.length;
97
117
  const tagChar = value.charCodeAt(prefixLen);
@@ -105,7 +125,8 @@ export function deserializeWithPrimitiveFastPath(value) {
105
125
  // Tagged values have format: prefix + tag + ':' + payload
106
126
  const payload = value.slice(prefixLen + 2);
107
127
  if (tagChar === CHAR_S) {
108
- return payload;
128
+ const unescapedPayload = payload.startsWith(ESCAPE_PREFIX) ? payload.slice(ESCAPE_PREFIX.length) : payload;
129
+ return unescapedPayload;
109
130
  }
110
131
  if (tagChar === CHAR_B) {
111
132
  return payload === "1";
@@ -1 +1 @@
1
- {"version":3,"names":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","PRIM_NULL","PRIM_UNDEFINED","PRIM_TRUE","PRIM_FALSE","PRIM_STRING_PREFIX","PRIM_NUMBER_PREFIX","PRIM_INFINITY","PRIM_NEG_INFINITY","PRIM_NAN","NAMESPACE_SEPARATOR","VERSION_TOKEN_PREFIX","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","prefixKey","namespace","isNamespaced","startsWith","serializeWithPrimitiveFastPath","Number","isFinite","isNaN","Infinity","serialized","JSON","stringify","CHAR_U","CHAR_L","CHAR_S","CHAR_B","CHAR_N","deserializeWithPrimitiveFastPath","prefixLen","length","tagChar","charCodeAt","slice","NaN","parsed","parse","fnv1aHash","hash","index","Math","imul","toString","padStart","toVersionToken","raw","normalized"],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","PRIM_NULL","PRIM_UNDEFINED","PRIM_TRUE","PRIM_FALSE","PRIM_STRING_PREFIX","PRIM_NUMBER_PREFIX","PRIM_INFINITY","PRIM_NEG_INFINITY","PRIM_NAN","NAMESPACE_SEPARATOR","VERSION_TOKEN_PREFIX","ESCAPE_PREFIX","RESERVED_RAW_TOKENS","Set","escapeCollidingRawValue","value","has","startsWith","unescapeCollidingRawValue","slice","length","isStoredEnvelope","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","prefixKey","namespace","isNamespaced","serializeWithPrimitiveFastPath","stringValue","Number","isFinite","isNaN","Infinity","serialized","JSON","stringify","CHAR_U","CHAR_L","CHAR_S","CHAR_B","CHAR_N","deserializeWithPrimitiveFastPath","prefixLen","tagChar","charCodeAt","unescapedPayload","NaN","parsed","parse","fnv1aHash","hash","index","Math","imul","toString","padStart","toVersionToken","raw","normalized"],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { StorageScope } from "./Storage.types";
4
3
  import { serializeWithPrimitiveFastPath, deserializeWithPrimitiveFastPath } from "./internal";
5
4
  import { getStorageErrorCode, isLockedStorageErrorCode } from "./storage-runtime";
5
+ import { StorageScope } from "./Storage.types";
6
6
  export function isUpdater(valueOrFn) {
7
7
  return typeof valueOrFn === "function";
8
8
  }
@@ -24,7 +24,7 @@ export function assertBiometricLevel(level) {
24
24
  assertEnumInteger(level, 0, 2, "biometric level");
25
25
  }
26
26
  export const runMicrotask = typeof queueMicrotask === "function" ? queueMicrotask : task => {
27
- Promise.resolve().then(task);
27
+ void Promise.resolve().then(task);
28
28
  };
29
29
  export const now = typeof performance !== "undefined" && typeof performance.now === "function" ? () => performance.now() : () => Date.now();
30
30
  export function notifyKeyListeners(registry, key) {
@@ -1 +1 @@
1
- {"version":3,"names":["StorageScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","getStorageErrorCode","isLockedStorageErrorCode","isUpdater","valueOrFn","typedKeys","record","Object","keys","assertEnumInteger","value","min","max","label","Number","isFinite","Error","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","notifyKeyListeners","registry","key","listeners","get","listener","notifyAllListeners","values","createKeyChange","scope","oldValue","newValue","operation","source","type","SECURE_EVENT_REDACTED_VALUE","redactSecureKeyChange","event","Secure","undefined","canUseRawBatchPath","item","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","isKeychainLockedError","err"],"sourceRoot":"../../src","sources":["shared.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","getStorageErrorCode","isLockedStorageErrorCode","StorageScope","isUpdater","valueOrFn","typedKeys","record","Object","keys","assertEnumInteger","value","min","max","label","Number","isFinite","Error","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","notifyKeyListeners","registry","key","listeners","get","listener","notifyAllListeners","values","createKeyChange","scope","oldValue","newValue","operation","source","type","SECURE_EVENT_REDACTED_VALUE","redactSecureKeyChange","event","Secure","undefined","canUseRawBatchPath","item","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","isKeychainLockedError","err"],"sourceRoot":"../../src","sources":["shared.ts"],"mappings":"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","ignoreList":[]}