react-native-nitro-storage 0.5.1 → 0.5.3

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 CHANGED
@@ -390,10 +390,13 @@ bun run test -- --filter=react-native-nitro-storage
390
390
  bun run test:coverage -- --filter=react-native-nitro-storage
391
391
  bun run test:cpp -- --filter=react-native-nitro-storage
392
392
  bun run test:cpp:coverage -- --filter=react-native-nitro-storage
393
- bun run --cwd packages/react-native-nitro-storage check:pack
393
+ (cd packages/react-native-nitro-storage && bun run check:pack)
394
394
  bun run publish-package:dry -- --yes --with-coverage
395
395
  ```
396
396
 
397
+ Publishing a GitHub Release tagged `v<package.version>` triggers the npm workflow.
398
+ The npm package must trust `.github/workflows/npm-publish.yml` in npm package settings.
399
+
397
400
  ## Development
398
401
 
399
402
  ```sh
@@ -411,7 +414,7 @@ Release checks:
411
414
  ```sh
412
415
  bun run build -- --filter=react-native-nitro-storage
413
416
  bun run benchmark -- --filter=react-native-nitro-storage
414
- bun run --cwd packages/react-native-nitro-storage check:pack
417
+ (cd packages/react-native-nitro-storage && bun run check:pack)
415
418
  bun run publish-package:dry -- --yes
416
419
  ```
417
420
 
@@ -498,11 +498,13 @@ void HybridStorage::setSecureAccessControl(double level) {
498
498
  if (std::isnan(level) || std::isinf(level)) {
499
499
  throw std::runtime_error("NitroStorage: Invalid access control level");
500
500
  }
501
- int intLevel = static_cast<int>(level);
502
- if (intLevel < 0 || intLevel > 4) {
501
+ if (level < 0.0 || level > 4.0) {
503
502
  throw std::runtime_error(
504
- "NitroStorage: Invalid access control level " + std::to_string(intLevel) +
505
- ". Expected 0-4.");
503
+ "NitroStorage: Invalid access control level. Expected 0-4.");
504
+ }
505
+ int intLevel = static_cast<int>(level);
506
+ if (level != static_cast<double>(intLevel)) {
507
+ throw std::runtime_error("NitroStorage: Invalid access control level");
506
508
  }
507
509
  ensureAdapter();
508
510
  nativeAdapter_->setSecureAccessControl(intLevel);
@@ -529,11 +531,14 @@ void HybridStorage::setSecureBiometricWithLevel(const std::string& key, const st
529
531
  throw std::runtime_error(
530
532
  "NitroStorage: Invalid biometric level");
531
533
  }
534
+ if (level < 0.0 || level > 2.0) {
535
+ throw std::runtime_error(
536
+ "NitroStorage: Invalid biometric level. Expected 0 (none), 1 (user presence), or 2 (biometric only).");
537
+ }
532
538
  int intLevel = static_cast<int>(level);
533
- if (intLevel < 0 || intLevel > 2) {
539
+ if (level != static_cast<double>(intLevel)) {
534
540
  throw std::runtime_error(
535
- "NitroStorage: Invalid biometric level " + std::to_string(intLevel) +
536
- ". Expected 0 (none), 1 (user presence), or 2 (biometric only).");
541
+ "NitroStorage: Invalid biometric level");
537
542
  }
538
543
  ensureAdapter();
539
544
  try {
@@ -30,7 +30,7 @@ bun run test -- --filter=react-native-nitro-storage
30
30
  bun run test:cpp -- --filter=react-native-nitro-storage
31
31
  bun run build -- --filter=react-native-nitro-storage
32
32
  bun run benchmark -- --filter=react-native-nitro-storage
33
- bun run --cwd packages/react-native-nitro-storage check:pack
33
+ (cd packages/react-native-nitro-storage && bun run check:pack)
34
34
  npm publish --dry-run
35
35
  ```
36
36
 
@@ -184,7 +184,7 @@ Before releasing secure-storage changes, run:
184
184
  ```sh
185
185
  bun run test -- --filter=react-native-nitro-storage
186
186
  bun run test:cpp -- --filter=react-native-nitro-storage
187
- bun run --cwd packages/react-native-nitro-storage check:pack
187
+ (cd packages/react-native-nitro-storage && bun run check:pack)
188
188
  ```
189
189
 
190
190
  Also run an end-to-end auth flow on a locked/unlocked real device when changing biometric or Keychain behavior.
@@ -59,6 +59,7 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
59
59
  const db = await openDB(dbName, storeName);
60
60
  const cache = new Map();
61
61
  const pendingWrites = new Set();
62
+ const pendingErrors = [];
62
63
  const subscribers = new Set();
63
64
  const sourceId = `nitro-storage-${Math.random().toString(36).slice(2)}`;
64
65
  const channelName = options.channelName ?? `nitro-storage:${dbName}:${storeName}`;
@@ -70,6 +71,7 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
70
71
  }
71
72
  function handleAsyncError(error) {
72
73
  const normalized = error instanceof Error ? error : new Error(String(error ?? "Unknown IndexedDB error"));
74
+ pendingErrors.push(normalized);
73
75
  options.onError?.(normalized);
74
76
  }
75
77
  channel?.addEventListener("message", event => {
@@ -245,6 +247,11 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
245
247
  },
246
248
  async flush() {
247
249
  await Promise.all(Array.from(pendingWrites));
250
+ if (pendingErrors.length === 0) {
251
+ return;
252
+ }
253
+ const [error] = pendingErrors.splice(0);
254
+ throw error;
248
255
  }
249
256
  };
250
257
  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","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":[]}
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","sourceId","Math","random","toString","slice","channelName","channel","BroadcastChannel","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"],"sourceRoot":"../../src","sources":["indexeddb-backend.ts"],"mappings":"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","ignoreList":[]}
@@ -55,6 +55,7 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
55
55
  const db = await openDB(dbName, storeName);
56
56
  const cache = new Map();
57
57
  const pendingWrites = new Set();
58
+ const pendingErrors = [];
58
59
  const subscribers = new Set();
59
60
  const sourceId = `nitro-storage-${Math.random().toString(36).slice(2)}`;
60
61
  const channelName = options.channelName ?? `nitro-storage:${dbName}:${storeName}`;
@@ -66,6 +67,7 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
66
67
  }
67
68
  function handleAsyncError(error) {
68
69
  const normalized = error instanceof Error ? error : new Error(String(error ?? "Unknown IndexedDB error"));
70
+ pendingErrors.push(normalized);
69
71
  options.onError?.(normalized);
70
72
  }
71
73
  channel?.addEventListener("message", event => {
@@ -241,6 +243,11 @@ export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName
241
243
  },
242
244
  async flush() {
243
245
  await Promise.all(Array.from(pendingWrites));
246
+ if (pendingErrors.length === 0) {
247
+ return;
248
+ }
249
+ const [error] = pendingErrors.splice(0);
250
+ throw error;
244
251
  }
245
252
  };
246
253
  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","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":[]}
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","sourceId","Math","random","toString","slice","channelName","channel","BroadcastChannel","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"],"sourceRoot":"../../src","sources":["indexeddb-backend.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"indexeddb-backend.d.ts","sourceRoot":"","sources":["../../src/indexeddb-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,uBAAuB,CAAC;AAM/B,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AA4BF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,SAAkB,EACxB,SAAS,SAAqB,EAC9B,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,uBAAuB,CAAC,CAqNlC"}
1
+ {"version":3,"file":"indexeddb-backend.d.ts","sourceRoot":"","sources":["../../src/indexeddb-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,uBAAuB,CAAC;AAM/B,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AA4BF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,SAAkB,EACxB,SAAS,SAAqB,EAC9B,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,uBAAuB,CAAC,CA6NlC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-nitro-storage",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
4
4
  "description": "Synchronous React Native storage powered by Nitro Modules and JSI: typed Memory, Disk, Keychain/Android Keystore secure storage, biometric auth, MMKV migration, Expo, Zustand/Jotai persistence, and web IndexedDB support.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -113,8 +113,7 @@
113
113
  "@react-native/babel-preset": "^0.83.6",
114
114
  "@testing-library/react-hooks": "^8.0.1",
115
115
  "@testing-library/react-native": "^13.3.3",
116
- "@types/react": "~19.2.0",
117
- "typescript": "^5.9.3"
116
+ "@types/react": "~19.2.0"
118
117
  },
119
118
  "peerDependencies": {
120
119
  "react": ">=18.2.0",
@@ -127,7 +126,12 @@
127
126
  "targets": [
128
127
  "commonjs",
129
128
  "module",
130
- "typescript"
129
+ [
130
+ "typescript",
131
+ {
132
+ "tsc": "../../node_modules/.bin/tsc"
133
+ }
134
+ ]
131
135
  ]
132
136
  }
133
137
  }
@@ -72,6 +72,7 @@ export async function createIndexedDBBackend(
72
72
  const db = await openDB(dbName, storeName);
73
73
  const cache = new Map<string, string>();
74
74
  const pendingWrites = new Set<Promise<void>>();
75
+ const pendingErrors: Error[] = [];
75
76
  const subscribers = new Set<(event: WebStorageChangeEvent) => void>();
76
77
  const sourceId = `nitro-storage-${Math.random().toString(36).slice(2)}`;
77
78
  const channelName =
@@ -92,6 +93,7 @@ export async function createIndexedDBBackend(
92
93
  error instanceof Error
93
94
  ? error
94
95
  : new Error(String(error ?? "Unknown IndexedDB error"));
96
+ pendingErrors.push(normalized);
95
97
  options.onError?.(normalized);
96
98
  }
97
99
 
@@ -277,6 +279,12 @@ export async function createIndexedDBBackend(
277
279
  },
278
280
  async flush(): Promise<void> {
279
281
  await Promise.all(Array.from(pendingWrites));
282
+ if (pendingErrors.length === 0) {
283
+ return;
284
+ }
285
+
286
+ const [error] = pendingErrors.splice(0);
287
+ throw error;
280
288
  },
281
289
  };
282
290