react-native-nitro-storage 0.5.4 → 0.5.6

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 (40) hide show
  1. package/README.md +90 -7
  2. package/android/build.gradle +5 -5
  3. package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +12 -25
  4. package/app.plugin.js +114 -9
  5. package/docs/api-reference.md +39 -36
  6. package/docs/batch-transactions-migrations.md +1 -1
  7. package/docs/recipes.md +1 -1
  8. package/docs/secure-storage.md +15 -4
  9. package/docs/web-backends.md +5 -0
  10. package/lib/commonjs/index.js +49 -9
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/index.web.js +71 -11
  13. package/lib/commonjs/index.web.js.map +1 -1
  14. package/lib/commonjs/indexeddb-backend.js +28 -0
  15. package/lib/commonjs/indexeddb-backend.js.map +1 -1
  16. package/lib/commonjs/storage-hooks.js.map +1 -1
  17. package/lib/commonjs/web-storage-backend.js.map +1 -1
  18. package/lib/module/index.js +49 -9
  19. package/lib/module/index.js.map +1 -1
  20. package/lib/module/index.web.js +71 -11
  21. package/lib/module/index.web.js.map +1 -1
  22. package/lib/module/indexeddb-backend.js +28 -0
  23. package/lib/module/indexeddb-backend.js.map +1 -1
  24. package/lib/module/storage-hooks.js.map +1 -1
  25. package/lib/module/web-storage-backend.js.map +1 -1
  26. package/lib/typescript/index.d.ts +21 -9
  27. package/lib/typescript/index.d.ts.map +1 -1
  28. package/lib/typescript/index.web.d.ts +10 -3
  29. package/lib/typescript/index.web.d.ts.map +1 -1
  30. package/lib/typescript/indexeddb-backend.d.ts.map +1 -1
  31. package/lib/typescript/storage-hooks.d.ts +5 -4
  32. package/lib/typescript/storage-hooks.d.ts.map +1 -1
  33. package/lib/typescript/web-storage-backend.d.ts +1 -0
  34. package/lib/typescript/web-storage-backend.d.ts.map +1 -1
  35. package/package.json +4 -4
  36. package/src/index.ts +96 -19
  37. package/src/index.web.ts +107 -11
  38. package/src/indexeddb-backend.ts +30 -0
  39. package/src/storage-hooks.ts +6 -6
  40. package/src/web-storage-backend.ts +1 -0
@@ -61,9 +61,15 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
61
61
  const pendingWrites = new Set();
62
62
  const pendingErrors = [];
63
63
  const subscribers = new Set();
64
+ let closed = false;
64
65
  const sourceId = `nitro-storage-${Math.random().toString(36).slice(2)}`;
65
66
  const channelName = options.channelName ?? `nitro-storage:${dbName}:${storeName}`;
66
67
  const channel = typeof BroadcastChannel !== "undefined" ? new BroadcastChannel(channelName) : null;
68
+ function assertOpen() {
69
+ if (closed) {
70
+ throw new Error(`IndexedDB backend "${dbName}/${storeName}" is closed.`);
71
+ }
72
+ }
67
73
  function emitExternal(event) {
68
74
  subscribers.forEach(subscriber => {
69
75
  subscriber(event);
@@ -75,6 +81,9 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
75
81
  options.onError?.(normalized);
76
82
  }
77
83
  channel?.addEventListener("message", event => {
84
+ if (closed) {
85
+ return;
86
+ }
78
87
  const data = event.data;
79
88
  if (!data || data.sourceId === sourceId) {
80
89
  return;
@@ -166,9 +175,11 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
166
175
  const backend = {
167
176
  name: `indexeddb:${dbName}/${storeName}`,
168
177
  getItem(key) {
178
+ assertOpen();
169
179
  return cache.get(key) ?? null;
170
180
  },
171
181
  setItem(key, value) {
182
+ assertOpen();
172
183
  cache.set(key, value);
173
184
  persistSet(key, value);
174
185
  publish({
@@ -177,6 +188,7 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
177
188
  });
178
189
  },
179
190
  removeItem(key) {
191
+ assertOpen();
180
192
  cache.delete(key);
181
193
  persistDelete(key);
182
194
  publish({
@@ -185,6 +197,7 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
185
197
  });
186
198
  },
187
199
  clear() {
200
+ assertOpen();
188
201
  cache.clear();
189
202
  persistClear();
190
203
  publish({
@@ -193,12 +206,15 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
193
206
  });
194
207
  },
195
208
  getAllKeys() {
209
+ assertOpen();
196
210
  return Array.from(cache.keys());
197
211
  },
198
212
  getMany(keys) {
213
+ assertOpen();
199
214
  return keys.map(key => cache.get(key) ?? null);
200
215
  },
201
216
  setMany(entries) {
217
+ assertOpen();
202
218
  entries.forEach(([key, value]) => {
203
219
  cache.set(key, value);
204
220
  });
@@ -218,6 +234,7 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
218
234
  }
219
235
  },
220
236
  removeMany(keys) {
237
+ assertOpen();
221
238
  keys.forEach(key => {
222
239
  cache.delete(key);
223
240
  });
@@ -237,9 +254,11 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
237
254
  }
238
255
  },
239
256
  size() {
257
+ assertOpen();
240
258
  return cache.size;
241
259
  },
242
260
  subscribe(listener) {
261
+ assertOpen();
243
262
  subscribers.add(listener);
244
263
  return () => {
245
264
  subscribers.delete(listener);
@@ -252,6 +271,15 @@ async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFA
252
271
  }
253
272
  const [error] = pendingErrors.splice(0);
254
273
  throw error;
274
+ },
275
+ close() {
276
+ if (closed) {
277
+ return;
278
+ }
279
+ closed = true;
280
+ subscribers.clear();
281
+ channel?.close();
282
+ db.close();
255
283
  }
256
284
  };
257
285
  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","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
+ {"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":";;;;;;AAKA,MAAMA,eAAe,GAAG,sBAAsB;AAC9C,MAAMC,kBAAkB,GAAG,UAAU;AACrC,MAAMC,UAAU,GAAG,CAAC;AAOpB;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACC,MAAc,EAAEC,SAAiB,EAAwB;EACvE,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAI,OAAOC,SAAS,KAAK,WAAW,EAAE;MACpCD,MAAM,CAAC,IAAIE,KAAK,CAAC,iDAAiD,CAAC,CAAC;MACpE;IACF;IAEA,MAAMC,OAAO,GAAGF,SAAS,CAACG,IAAI,CAACR,MAAM,EAAEF,UAAU,CAAC;IAElDS,OAAO,CAACE,eAAe,GAAG,MAAM;MAC9B,MAAMC,EAAE,GAAGH,OAAO,CAACI,MAAM;MACzB,IAAI,CAACD,EAAE,CAACE,gBAAgB,CAACC,QAAQ,CAACZ,SAAS,CAAC,EAAE;QAC5CS,EAAE,CAACI,iBAAiB,CAACb,SAAS,CAAC;MACjC;IACF,CAAC;IAEDM,OAAO,CAACQ,SAAS,GAAG,MAAMZ,OAAO,CAACI,OAAO,CAACI,MAAM,CAAC;IACjDJ,OAAO,CAACS,OAAO,GAAG,MAChBZ,MAAM,CAACG,OAAO,CAACU,KAAK,IAAI,IAAIX,KAAK,CAAC,oCAAoC,CAAC,CAAC;EAC5E,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeY,sBAAsBA,CAC1ClB,MAAM,GAAGJ,eAAe,EACxBK,SAAS,GAAGJ,kBAAkB,EAC9BsB,OAAgC,GAAG,CAAC,CAAC,EACH;EAClC,MAAMT,EAAE,GAAG,MAAMX,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC;EAC1C,MAAMmB,KAAK,GAAG,IAAIC,GAAG,CAAiB,CAAC;EACvC,MAAMC,aAAa,GAAG,IAAIC,GAAG,CAAgB,CAAC;EAC9C,MAAMC,aAAsB,GAAG,EAAE;EACjC,MAAMC,WAAW,GAAG,IAAIF,GAAG,CAAyC,CAAC;EACrE,IAAIG,MAAM,GAAG,KAAK;EAClB,MAAMC,QAAQ,GAAG,iBAAiBC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE;EACvE,MAAMC,WAAW,GACfb,OAAO,CAACa,WAAW,IAAI,iBAAiBhC,MAAM,IAAIC,SAAS,EAAE;EAC/D,MAAMgC,OAAO,GACX,OAAOC,gBAAgB,KAAK,WAAW,GACnC,IAAIA,gBAAgB,CAACF,WAAW,CAAC,GACjC,IAAI;EAEV,SAASG,UAAUA,CAAA,EAAS;IAC1B,IAAIT,MAAM,EAAE;MACV,MAAM,IAAIpB,KAAK,CAAC,sBAAsBN,MAAM,IAAIC,SAAS,cAAc,CAAC;IAC1E;EACF;EAEA,SAASmC,YAAYA,CAACC,KAA4B,EAAQ;IACxDZ,WAAW,CAACa,OAAO,CAAEC,UAAU,IAAK;MAClCA,UAAU,CAACF,KAAK,CAAC;IACnB,CAAC,CAAC;EACJ;EAEA,SAASG,gBAAgBA,CAACvB,KAAc,EAAQ;IAC9C,MAAMwB,UAAU,GACdxB,KAAK,YAAYX,KAAK,GAClBW,KAAK,GACL,IAAIX,KAAK,CAACoC,MAAM,CAACzB,KAAK,IAAI,yBAAyB,CAAC,CAAC;IAC3DO,aAAa,CAACmB,IAAI,CAACF,UAAU,CAAC;IAC9BtB,OAAO,CAACyB,OAAO,GAAGH,UAAU,CAAC;EAC/B;EAEAR,OAAO,EAAEY,gBAAgB,CAAC,SAAS,EAAGR,KAAmB,IAAK;IAC5D,IAAIX,MAAM,EAAE;MACV;IACF;IAEA,MAAMoB,IAAI,GAAGT,KAAK,CAACS,IAEN;IACb,IAAI,CAACA,IAAI,IAAIA,IAAI,CAACnB,QAAQ,KAAKA,QAAQ,EAAE;MACvC;IACF;IAEA,IAAImB,IAAI,CAACC,GAAG,KAAK,IAAI,EAAE;MACrB3B,KAAK,CAAC4B,KAAK,CAAC,CAAC;IACf,CAAC,MAAM,IAAIF,IAAI,CAACG,QAAQ,KAAK,IAAI,EAAE;MACjC7B,KAAK,CAAC8B,MAAM,CAACJ,IAAI,CAACC,GAAG,CAAC;IACxB,CAAC,MAAM;MACL3B,KAAK,CAAC+B,GAAG,CAACL,IAAI,CAACC,GAAG,EAAED,IAAI,CAACG,QAAQ,CAAC;IACpC;IAEAb,YAAY,CAAC;MACXW,GAAG,EAAED,IAAI,CAACC,GAAG;MACbE,QAAQ,EAAEH,IAAI,CAACG;IACjB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASG,OAAOA,CAACf,KAA4B,EAAQ;IACnDJ,OAAO,EAAEoB,WAAW,CAAC;MACnB,GAAGhB,KAAK;MACRV;IACF,CAAC,CAAC;EACJ;;EAEA;EACA,MAAM,IAAIzB,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC3C,MAAMkD,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,UAAU,CAAC;IAChD,MAAMuD,KAAK,GAAGF,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC;IACvC,MAAMM,OAAO,GAAGiD,KAAK,CAACE,UAAU,CAAC,CAAC;IAElCnD,OAAO,CAACQ,SAAS,GAAG,MAAM;MACxB,MAAM4C,MAAM,GAAGpD,OAAO,CAACI,MAAM;MAC7B,IAAIgD,MAAM,EAAE;QACV,MAAMC,KAAK,GAAGD,MAAM,CAACC,KAAgB;QACrC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;UAC7BxC,KAAK,CAAC+B,GAAG,CAACT,MAAM,CAACiB,MAAM,CAACZ,GAAG,CAAC,EAAEa,KAAK,CAAC;QACtC;QACAD,MAAM,CAACE,QAAQ,CAAC,CAAC;MACnB;IACF,CAAC;IAEDP,EAAE,CAACQ,UAAU,GAAG,MAAM3D,OAAO,CAAC,CAAC;IAC/BmD,EAAE,CAACtC,OAAO,GAAG,MACXZ,MAAM,CAACkD,EAAE,CAACrC,KAAK,IAAI,IAAIX,KAAK,CAAC,mCAAmC,CAAC,CAAC;EACtE,CAAC,CAAC;EAEF,SAASyD,UAAUA,CAACT,EAAkB,EAAQ;IAC5C,MAAMU,OAAO,GAAG,IAAI9D,OAAO,CAAQC,OAAO,IAAK;MAC7CmD,EAAE,CAACQ,UAAU,GAAG,MAAM3D,OAAO,CAAC,CAAC;MAC/BmD,EAAE,CAACtC,OAAO,GAAG,MAAM;QACjBwB,gBAAgB,CACdc,EAAE,CAACrC,KAAK,IAAI,IAAIX,KAAK,CAAC,0CAA0C,CAClE,CAAC;QACDH,OAAO,CAAC,CAAC;MACX,CAAC;MACDmD,EAAE,CAACW,OAAO,GAAG,MAAM;QACjBzB,gBAAgB,CACdc,EAAE,CAACrC,KAAK,IAAI,IAAIX,KAAK,CAAC,oCAAoC,CAC5D,CAAC;QACDH,OAAO,CAAC,CAAC;MACX,CAAC;IACH,CAAC,CAAC;IACFmB,aAAa,CAAC4C,GAAG,CAACF,OAAO,CAAC;IAC1B,KAAKA,OAAO,CAACG,OAAO,CAAC,MAAM;MACzB7C,aAAa,CAAC4B,MAAM,CAACc,OAAO,CAAC;IAC/B,CAAC,CAAC;EACJ;;EAEA;AACF;EACE,SAASI,UAAUA,CAACrB,GAAW,EAAEa,KAAa,EAAQ;IACpD,IAAI;MACF,MAAMN,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,WAAW,CAAC;MACjDqD,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC,CAACoE,GAAG,CAACT,KAAK,EAAEb,GAAG,CAAC;MACzCgB,UAAU,CAACT,EAAE,CAAC;IAChB,CAAC,CAAC,MAAM;MACNd,gBAAgB,CACd,IAAIlC,KAAK,CAAC,wCAAwCyC,GAAG,IAAI,CAC3D,CAAC;IACH;EACF;EAEA,SAASuB,aAAaA,CAACvB,GAAW,EAAQ;IACxC,IAAI;MACF,MAAMO,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,WAAW,CAAC;MACjDqD,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC,CAACiD,MAAM,CAACH,GAAG,CAAC;MACrCgB,UAAU,CAACT,EAAE,CAAC;IAChB,CAAC,CAAC,MAAM;MACNd,gBAAgB,CACd,IAAIlC,KAAK,CAAC,yCAAyCyC,GAAG,IAAI,CAC5D,CAAC;IACH;EACF;EAEA,SAASwB,YAAYA,CAAA,EAAS;IAC5B,IAAI;MACF,MAAMjB,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,WAAW,CAAC;MACjDqD,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC,CAAC+C,KAAK,CAAC,CAAC;MACjCe,UAAU,CAACT,EAAE,CAAC;IAChB,CAAC,CAAC,MAAM;MACNd,gBAAgB,CAAC,IAAIlC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACjE;EACF;EAEA,MAAMkE,OAAgC,GAAG;IACvCC,IAAI,EAAE,aAAazE,MAAM,IAAIC,SAAS,EAAE;IACxCyE,OAAOA,CAAC3B,GAAW,EAAiB;MAClCZ,UAAU,CAAC,CAAC;MACZ,OAAOf,KAAK,CAACuD,GAAG,CAAC5B,GAAG,CAAC,IAAI,IAAI;IAC/B,CAAC;IAED6B,OAAOA,CAAC7B,GAAW,EAAEa,KAAa,EAAQ;MACxCzB,UAAU,CAAC,CAAC;MACZf,KAAK,CAAC+B,GAAG,CAACJ,GAAG,EAAEa,KAAK,CAAC;MACrBQ,UAAU,CAACrB,GAAG,EAAEa,KAAK,CAAC;MACtBR,OAAO,CAAC;QAAEL,GAAG;QAAEE,QAAQ,EAAEW;MAAM,CAAC,CAAC;IACnC,CAAC;IAEDiB,UAAUA,CAAC9B,GAAW,EAAQ;MAC5BZ,UAAU,CAAC,CAAC;MACZf,KAAK,CAAC8B,MAAM,CAACH,GAAG,CAAC;MACjBuB,aAAa,CAACvB,GAAG,CAAC;MAClBK,OAAO,CAAC;QAAEL,GAAG;QAAEE,QAAQ,EAAE;MAAK,CAAC,CAAC;IAClC,CAAC;IAEDD,KAAKA,CAAA,EAAS;MACZb,UAAU,CAAC,CAAC;MACZf,KAAK,CAAC4B,KAAK,CAAC,CAAC;MACbuB,YAAY,CAAC,CAAC;MACdnB,OAAO,CAAC;QAAEL,GAAG,EAAE,IAAI;QAAEE,QAAQ,EAAE;MAAK,CAAC,CAAC;IACxC,CAAC;IAED6B,UAAUA,CAAA,EAAa;MACrB3C,UAAU,CAAC,CAAC;MACZ,OAAO4C,KAAK,CAACC,IAAI,CAAC5D,KAAK,CAAC6D,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;IACDC,OAAOA,CAACD,IAAc,EAAqB;MACzC9C,UAAU,CAAC,CAAC;MACZ,OAAO8C,IAAI,CAACE,GAAG,CAAEpC,GAAG,IAAK3B,KAAK,CAACuD,GAAG,CAAC5B,GAAG,CAAC,IAAI,IAAI,CAAC;IAClD,CAAC;IACDqC,OAAOA,CAACC,OAAO,EAAQ;MACrBlD,UAAU,CAAC,CAAC;MACZkD,OAAO,CAAC/C,OAAO,CAAC,CAAC,CAACS,GAAG,EAAEa,KAAK,CAAC,KAAK;QAChCxC,KAAK,CAAC+B,GAAG,CAACJ,GAAG,EAAEa,KAAK,CAAC;MACvB,CAAC,CAAC;MACF,IAAI;QACF,MAAMN,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,WAAW,CAAC;QACjD,MAAMuD,KAAK,GAAGF,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC;QACvCoF,OAAO,CAAC/C,OAAO,CAAC,CAAC,CAACS,GAAG,EAAEa,KAAK,CAAC,KAAK;UAChCJ,KAAK,CAACa,GAAG,CAACT,KAAK,EAAEb,GAAG,CAAC;UACrBK,OAAO,CAAC;YAAEL,GAAG;YAAEE,QAAQ,EAAEW;UAAM,CAAC,CAAC;QACnC,CAAC,CAAC;QACFG,UAAU,CAACT,EAAE,CAAC;MAChB,CAAC,CAAC,MAAM;QACNd,gBAAgB,CAAC,IAAIlC,KAAK,CAAC,wCAAwC,CAAC,CAAC;MACvE;IACF,CAAC;IACDgF,UAAUA,CAACL,IAAc,EAAQ;MAC/B9C,UAAU,CAAC,CAAC;MACZ8C,IAAI,CAAC3C,OAAO,CAAES,GAAG,IAAK;QACpB3B,KAAK,CAAC8B,MAAM,CAACH,GAAG,CAAC;MACnB,CAAC,CAAC;MACF,IAAI;QACF,MAAMO,EAAE,GAAG5C,EAAE,CAAC6C,WAAW,CAACtD,SAAS,EAAE,WAAW,CAAC;QACjD,MAAMuD,KAAK,GAAGF,EAAE,CAACG,WAAW,CAACxD,SAAS,CAAC;QACvCgF,IAAI,CAAC3C,OAAO,CAAES,GAAG,IAAK;UACpBS,KAAK,CAACN,MAAM,CAACH,GAAG,CAAC;UACjBK,OAAO,CAAC;YAAEL,GAAG;YAAEE,QAAQ,EAAE;UAAK,CAAC,CAAC;QAClC,CAAC,CAAC;QACFc,UAAU,CAACT,EAAE,CAAC;MAChB,CAAC,CAAC,MAAM;QACNd,gBAAgB,CAAC,IAAIlC,KAAK,CAAC,yCAAyC,CAAC,CAAC;MACxE;IACF,CAAC;IACDiF,IAAIA,CAAA,EAAW;MACbpD,UAAU,CAAC,CAAC;MACZ,OAAOf,KAAK,CAACmE,IAAI;IACnB,CAAC;IACDC,SAASA,CAACC,QAAQ,EAAc;MAC9BtD,UAAU,CAAC,CAAC;MACZV,WAAW,CAACyC,GAAG,CAACuB,QAAQ,CAAC;MACzB,OAAO,MAAM;QACXhE,WAAW,CAACyB,MAAM,CAACuC,QAAQ,CAAC;MAC9B,CAAC;IACH,CAAC;IACD,MAAMC,KAAKA,CAAA,EAAkB;MAC3B,MAAMxF,OAAO,CAACyF,GAAG,CAACZ,KAAK,CAACC,IAAI,CAAC1D,aAAa,CAAC,CAAC;MAC5C,IAAIE,aAAa,CAACoE,MAAM,KAAK,CAAC,EAAE;QAC9B;MACF;MAEA,MAAM,CAAC3E,KAAK,CAAC,GAAGO,aAAa,CAACqE,MAAM,CAAC,CAAC,CAAC;MACvC,MAAM5E,KAAK;IACb,CAAC;IACD6E,KAAKA,CAAA,EAAS;MACZ,IAAIpE,MAAM,EAAE;QACV;MACF;MACAA,MAAM,GAAG,IAAI;MACbD,WAAW,CAACuB,KAAK,CAAC,CAAC;MACnBf,OAAO,EAAE6D,KAAK,CAAC,CAAC;MAChBpF,EAAE,CAACoF,KAAK,CAAC,CAAC;IACZ;EACF,CAAC;EAED,OAAOtB,OAAO;AAChB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","useStorage","item","value","useSyncExternalStore","subscribe","get","set","useStorageSelector","selector","isEqual","Object","is","selectedRef","useRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage"],"sourceRoot":"../../src","sources":["storage-hooks.ts"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAQO,SAASC,UAAUA,CACxBC,IAAwB,EACoB;EAC5C,MAAMC,KAAK,GAAG,IAAAC,2BAAoB,EAACF,IAAI,CAACG,SAAS,EAAEH,IAAI,CAACI,GAAG,EAAEJ,IAAI,CAACI,GAAG,CAAC;EACtE,OAAO,CAACH,KAAK,EAAED,IAAI,CAACK,GAAG,CAAC;AAC1B;AAEO,SAASC,kBAAkBA,CAChCN,IAAwB,EACxBO,QAAiC,EACjCC,OAAsD,GAAGC,MAAM,CAACC,EAAE,EACd;EACpD,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAExB;IACAC,QAAQ,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;IAChC,MAAMC,YAAY,GAAGR,QAAQ,CAACP,IAAI,CAACI,GAAG,CAAC,CAAC,CAAC;IACzC,MAAMY,OAAO,GAAGL,WAAW,CAACK,OAAO;IACnC,IAAIA,OAAO,CAACH,QAAQ,IAAIL,OAAO,CAACQ,OAAO,CAACf,KAAK,EAAEc,YAAY,CAAC,EAAE;MAC5D,OAAOC,OAAO,CAACf,KAAK;IACtB;IAEAU,WAAW,CAACK,OAAO,GAAG;MAAEH,QAAQ,EAAE,IAAI;MAAEZ,KAAK,EAAEc;IAAa,CAAC;IAC7D,OAAOA,YAAY;EACrB,CAAC;EAED,MAAME,aAAa,GAAG,IAAAf,2BAAoB,EACxCF,IAAI,CAACG,SAAS,EACdW,mBAAmB,EACnBA,mBACF,CAAC;EACD,OAAO,CAACG,aAAa,EAAEjB,IAAI,CAACK,GAAG,CAAC;AAClC;AAEO,SAASa,aAAaA,CAAIlB,IAAwB,EAAE;EACzD,OAAOA,IAAI,CAACK,GAAG;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","useStorage","item","value","useSyncExternalStore","subscribe","get","set","useStorageSelector","selector","isEqual","Object","is","selectedRef","useRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage"],"sourceRoot":"../../src","sources":["storage-hooks.ts"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAUO,SAASC,UAAUA,CAAIC,IAAwB,EAAyB;EAC7E,MAAMC,KAAK,GAAG,IAAAC,2BAAoB,EAACF,IAAI,CAACG,SAAS,EAAEH,IAAI,CAACI,GAAG,EAAEJ,IAAI,CAACI,GAAG,CAAC;EACtE,OAAO,CAACH,KAAK,EAAED,IAAI,CAACK,GAAG,CAAC;AAC1B;AAEO,SAASC,kBAAkBA,CAChCN,IAAwB,EACxBO,QAAiC,EACjCC,OAAsD,GAAGC,MAAM,CAACC,EAAE,EACnC;EAC/B,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAExB;IACAC,QAAQ,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;IAChC,MAAMC,YAAY,GAAGR,QAAQ,CAACP,IAAI,CAACI,GAAG,CAAC,CAAC,CAAC;IACzC,MAAMY,OAAO,GAAGL,WAAW,CAACK,OAAO;IACnC,IAAIA,OAAO,CAACH,QAAQ,IAAIL,OAAO,CAACQ,OAAO,CAACf,KAAK,EAAEc,YAAY,CAAC,EAAE;MAC5D,OAAOC,OAAO,CAACf,KAAK;IACtB;IAEAU,WAAW,CAACK,OAAO,GAAG;MAAEH,QAAQ,EAAE,IAAI;MAAEZ,KAAK,EAAEc;IAAa,CAAC;IAC7D,OAAOA,YAAY;EACrB,CAAC;EAED,MAAME,aAAa,GAAG,IAAAf,2BAAoB,EACxCF,IAAI,CAACG,SAAS,EACdW,mBAAmB,EACnBA,mBACF,CAAC;EACD,OAAO,CAACG,aAAa,EAAEjB,IAAI,CAACK,GAAG,CAAC;AAClC;AAEO,SAASa,aAAaA,CAAIlB,IAAwB,EAAoB;EAC3E,OAAOA,IAAI,CAACK,GAAG;AACjB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["getResolvedStorage","resolveStorage","globalThis","localStorage","undefined","createLocalStorageWebBackend","options","includeKey","listKeys","storage","keys","index","length","key","push","name","getItem","setItem","value","removeItem","clear","forEach","getAllKeys","getMany","map","setMany","entries","removeMany","size"],"sourceRoot":"../../src","sources":["web-storage-backend.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getResolvedStorage","resolveStorage","globalThis","localStorage","undefined","createLocalStorageWebBackend","options","includeKey","listKeys","storage","keys","index","length","key","push","name","getItem","setItem","value","removeItem","clear","forEach","getAllKeys","getMany","map","setMany","entries","removeMany","size"],"sourceRoot":"../../src","sources":["web-storage-backend.ts"],"mappings":"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","ignoreList":[]}
@@ -57,6 +57,7 @@ let secureDefaultAccessControl = AccessControl.WhenUnlocked;
57
57
  const suppressedNativeEvents = new Map([[StorageScope.Disk, new Map()], [StorageScope.Secure, new Map()]]);
58
58
  let metricsObserver;
59
59
  let eventObserver;
60
+ let eventObserverRedactSecureValues = true;
60
61
  const metricsCounters = new Map();
61
62
  const storageEvents = new StorageEventRegistry();
62
63
  const nativeSecureBackend = "platform-secure-storage";
@@ -180,13 +181,45 @@ function createKeyChange(scope, key, oldValue, newValue, operation, source) {
180
181
  function hasStorageChangeObservers(scope) {
181
182
  return storageEvents.hasListeners(scope) || eventObserver !== undefined;
182
183
  }
184
+ function shouldReadPreviousEventValues(scope) {
185
+ if (storageEvents.hasListeners(scope)) {
186
+ return true;
187
+ }
188
+ if (!eventObserver) {
189
+ return false;
190
+ }
191
+ return scope !== StorageScope.Secure || !eventObserverRedactSecureValues;
192
+ }
193
+ const SECURE_EVENT_REDACTED_VALUE = "[secure]";
194
+ function redactSecureKeyChange(event) {
195
+ if (event.scope !== StorageScope.Secure) {
196
+ return event;
197
+ }
198
+ return {
199
+ ...event,
200
+ oldValue: event.oldValue === undefined ? undefined : SECURE_EVENT_REDACTED_VALUE,
201
+ newValue: event.newValue === undefined ? undefined : SECURE_EVENT_REDACTED_VALUE
202
+ };
203
+ }
204
+ function eventForGlobalObserver(event) {
205
+ if (!eventObserverRedactSecureValues || event.scope !== StorageScope.Secure) {
206
+ return event;
207
+ }
208
+ if (event.type === "key") {
209
+ return redactSecureKeyChange(event);
210
+ }
211
+ return {
212
+ ...event,
213
+ changes: event.changes.map(redactSecureKeyChange)
214
+ };
215
+ }
183
216
  function emitKeyChange(scope, key, oldValue, newValue, operation, source) {
184
217
  if (source === "native" && operation !== "external" && scope !== StorageScope.Memory && scopedUnsubscribers.has(scope)) {
185
218
  suppressNativeEvent(scope, key);
186
219
  }
187
220
  const event = createKeyChange(scope, key, oldValue, newValue, operation, source);
188
221
  storageEvents.emitKey(event);
189
- eventObserver?.(event);
222
+ eventObserver?.(eventForGlobalObserver(event));
190
223
  }
191
224
  function emitBatchChange(scope, operation, source, changes) {
192
225
  if (changes.length === 0) {
@@ -203,7 +236,7 @@ function emitBatchChange(scope, operation, source, changes) {
203
236
  changes
204
237
  };
205
238
  storageEvents.emitBatch(event);
206
- eventObserver?.(event);
239
+ eventObserver?.(eventForGlobalObserver(event));
207
240
  }
208
241
  function readPendingSecureWrite(key) {
209
242
  return pendingSecureWrites.get(key)?.value;
@@ -483,8 +516,9 @@ export const storage = {
483
516
  subscribeNamespace: (namespace, scope, listener) => {
484
517
  return storage.subscribePrefix(scope, prefixKey(namespace, ""), listener);
485
518
  },
486
- setEventObserver: observer => {
519
+ setEventObserver: (observer, options = {}) => {
487
520
  eventObserver = observer;
521
+ eventObserverRedactSecureValues = options.redactSecureValues !== false;
488
522
  if (observer) {
489
523
  ensureNativeScopeSubscription(StorageScope.Disk);
490
524
  ensureNativeScopeSubscription(StorageScope.Secure);
@@ -495,7 +529,7 @@ export const storage = {
495
529
  },
496
530
  clear: scope => {
497
531
  measureOperation("storage:clear", scope, () => {
498
- const previousValues = hasStorageChangeObservers(scope) ? storage.getAll(scope) : {};
532
+ const previousValues = shouldReadPreviousEventValues(scope) ? storage.getAll(scope) : {};
499
533
  if (scope === StorageScope.Memory) {
500
534
  memoryStore.clear();
501
535
  notifyAllListeners(memoryListeners);
@@ -545,7 +579,7 @@ export const storage = {
545
579
  return;
546
580
  }
547
581
  const keyPrefix = prefixKey(namespace, "");
548
- const previousValues = hasStorageChangeObservers(scope) ? storage.getByPrefix(keyPrefix, scope) : {};
582
+ const previousValues = shouldReadPreviousEventValues(scope) ? storage.getByPrefix(keyPrefix, scope) : {};
549
583
  if (scope === StorageScope.Disk) {
550
584
  flushDiskWrites();
551
585
  }
@@ -671,9 +705,15 @@ export const storage = {
671
705
  return result;
672
706
  });
673
707
  },
674
- export: scope => {
708
+ export: (scope, options = {}) => {
709
+ if (scope === StorageScope.Secure && options.includeSecureValues !== true) {
710
+ throw new Error("NitroStorage: exporting Secure scope exposes raw secret values. Pass { includeSecureValues: true } or use exportSecureUnsafe().");
711
+ }
675
712
  return measureOperation("storage:export", scope, () => storage.getAll(scope));
676
713
  },
714
+ exportSecureUnsafe: () => {
715
+ return measureOperation("storage:exportSecureUnsafe", StorageScope.Secure, () => storage.getAll(StorageScope.Secure));
716
+ },
677
717
  size: scope => {
678
718
  return measureOperation("storage:size", scope, () => {
679
719
  assertValidScope(scope);
@@ -1375,7 +1415,7 @@ export function setBatch(items, scope) {
1375
1415
  const keys = secureEntries.map(({
1376
1416
  item
1377
1417
  }) => item.key);
1378
- const oldValues = hasStorageChangeObservers(scope) ? storageModule.getBatch(keys, scope) ?? [] : [];
1418
+ const oldValues = shouldReadPreviousEventValues(scope) ? storageModule.getBatch(keys, scope) ?? [] : [];
1379
1419
  const groupedByAccessControl = new Map();
1380
1420
  secureEntries.forEach(({
1381
1421
  item,
@@ -1418,7 +1458,7 @@ export function setBatch(items, scope) {
1418
1458
  }
1419
1459
  const keys = items.map(entry => entry.item.key);
1420
1460
  const values = items.map(entry => entry.item.serialize(entry.value));
1421
- const oldValues = hasStorageChangeObservers(scope) ? getStorageModule().getBatch(keys, scope) ?? [] : [];
1461
+ const oldValues = shouldReadPreviousEventValues(scope) ? getStorageModule().getBatch(keys, scope) ?? [] : [];
1422
1462
  getStorageModule().setBatch(keys, values, scope);
1423
1463
  keys.forEach((key, index) => cacheRawValue(scope, key, values[index]));
1424
1464
  emitBatchChange(scope, "setBatch", "native", keys.map((key, index) => createKeyChange(scope, key, oldValues[index], values[index], "setBatch", "native")));
@@ -1440,7 +1480,7 @@ export function removeBatch(items, scope) {
1440
1480
  if (scope === StorageScope.Secure) {
1441
1481
  flushSecureWrites();
1442
1482
  }
1443
- const oldValues = hasStorageChangeObservers(scope) ? getStorageModule().getBatch(keys, scope) ?? [] : [];
1483
+ const oldValues = shouldReadPreviousEventValues(scope) ? getStorageModule().getBatch(keys, scope) ?? [] : [];
1444
1484
  getStorageModule().removeBatch(keys, scope);
1445
1485
  keys.forEach(key => cacheRawValue(scope, key, undefined));
1446
1486
  emitBatchChange(scope, "removeBatch", "native", keys.map((key, index) => createKeyChange(scope, key, oldValues[index], undefined, "removeBatch", "native")));