indexeddbshim 17.3.4 → 17.4.1

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 (43) hide show
  1. package/README.md +3 -146
  2. package/dist/CFG.d.ts +1 -0
  3. package/dist/CFG.d.ts.map +1 -1
  4. package/dist/DOMException.d.ts +4 -4
  5. package/dist/DOMException.d.ts.map +1 -1
  6. package/dist/IDBFactory.d.ts +4 -4
  7. package/dist/IDBFactory.d.ts.map +1 -1
  8. package/dist/indexeddbshim-Key.js +3 -2
  9. package/dist/indexeddbshim-Key.js.map +1 -1
  10. package/dist/indexeddbshim-Key.min.js +2 -2
  11. package/dist/indexeddbshim-Key.min.js.map +1 -1
  12. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs +52 -38
  13. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs.map +1 -1
  14. package/dist/indexeddbshim-UnicodeIdentifiers.js +35 -35
  15. package/dist/indexeddbshim-UnicodeIdentifiers.js.map +1 -1
  16. package/dist/indexeddbshim-UnicodeIdentifiers.min.js +2 -2
  17. package/dist/indexeddbshim-UnicodeIdentifiers.min.js.map +1 -1
  18. package/dist/indexeddbshim-node.cjs +52 -38
  19. package/dist/indexeddbshim-node.cjs.map +1 -1
  20. package/dist/indexeddbshim-noninvasive.js +35 -35
  21. package/dist/indexeddbshim-noninvasive.js.map +1 -1
  22. package/dist/indexeddbshim-noninvasive.min.js +2 -2
  23. package/dist/indexeddbshim-noninvasive.min.js.map +1 -1
  24. package/dist/indexeddbshim.js +35 -35
  25. package/dist/indexeddbshim.js.map +1 -1
  26. package/dist/indexeddbshim.min.js +2 -2
  27. package/dist/indexeddbshim.min.js.map +1 -1
  28. package/dist/node-UnicodeIdentifiers.d.ts +3 -3
  29. package/dist/node-UnicodeIdentifiers.d.ts.map +1 -1
  30. package/dist/node.d.ts +3 -3
  31. package/dist/node.d.ts.map +1 -1
  32. package/dist/nodeSQLiteDatabase.d.ts.map +1 -1
  33. package/dist/nodeWebSQL.d.ts.map +1 -1
  34. package/package.json +9 -8
  35. package/src/CFG.js +2 -0
  36. package/src/DOMException.js +21 -21
  37. package/src/IDBFactory.js +2 -2
  38. package/src/IDBObjectStore.js +1 -1
  39. package/src/node-UnicodeIdentifiers.js +2 -2
  40. package/src/node.js +2 -2
  41. package/src/nodeSQLiteDatabase.js +10 -1
  42. package/src/nodeWebSQL.js +3 -0
  43. package/src/setGlobalVars.js +3 -3
package/README.md CHANGED
@@ -379,7 +379,7 @@ The available properties relevant to browser or Node are:
379
379
  `readTransaction` calls in our `node-websql` fork to allow it to prolong
380
380
  the transaction (to last through our IndexedDB transaction) and to provide
381
381
  rollback functionality. (See
382
- <https://github.com/axemclion/IndexedDBShim/issues/296>, however, for
382
+ <https://github.com/indexeddbshim/IndexedDBShim/issues/296>, however, for
383
383
  a remaining issue this fix does not currently overcome.)
384
384
  - __cursorPreloadPackSize__ - Number indicating how many records to preload for
385
385
  caching of `IDBCursor.continue` calls. Defaults to 100.
@@ -487,7 +487,7 @@ Node-only config:
487
487
  `deleteDatabase` (instead of merely emptying). Defaults to `true`.
488
488
  Does not currently delete the database for tracking available
489
489
  databases and versions, `__sys__`, if emptied; see
490
- [#278](https://github.com/axemclion/IndexedDBShim/issues/278).
490
+ [#278](https://github.com/indexeddbshim/IndexedDBShim/issues/278).
491
491
  - __memoryDatabase__ - String config to cause all opening, deleting, and
492
492
  listing to be of SQLite in-memory databases; name supplied
493
493
  by user is still used (including to automatically build a cache since
@@ -527,150 +527,7 @@ shimIndexedDB.__getConfig(property);
527
527
 
528
528
  ## Known Issues
529
529
 
530
- All code has bugs, and this project is no exception. If you find a bug,
531
- please [let us know about it](https://github.com/indexeddbshim/indexeddbshim/issues).
532
- Or better yet, [send us a fix](https://github.com/indexeddbshim/indexeddbshim/pulls)!
533
- Please make sure someone else hasn't already reported the same bug though.
534
-
535
- Here is a summary of main [known issues](https://github.com/axemclion/IndexedDBShim/issues/262#issuecomment-254413002)
536
- to resolve:
537
-
538
- 1. `blocked` and `versionchange` `IDBVersionChangeEvent` event support ([#2](https://github.com/axemclion/IndexedDBShim/issues/2) and [#273](https://github.com/axemclion/IndexedDBShim/issues/273)) across
539
- processes/browser windows
540
- 1. Some issues related to [task/micro-task timing](https://github.com/axemclion/IndexedDBShim/issues/296)
541
- in Node (for inherent limitations in the browser, see below).
542
- 1. [ImageData](https://developer.mozilla.org/en-US/docs/Web/API/ImageData/ImageData) storage on Node 14 when used with `node-canvas` - due to [this issue](https://github.com/Automattic/node-canvas/issues/1646)
543
-
544
- There are a few bugs that are outside of our power to fix. Namely:
545
-
546
- ### Browser rollback
547
-
548
- While we do try to rollback the database version in the browser when
549
- called for, as we are not able to prolong WebSQL transactions to benefit
550
- from the auto-rollback they perform upon encountering an error (nor
551
- does WebSQL permit manual ROLLBACK commands so that we could undo the
552
- various WebSQL calls we need to make up IndexedDB transactions), we are
553
- not able to provide safe rollbacks in the browser. The synchronous WebSQL
554
- API was not apparently well supported, at least it is missing in Safari
555
- and Chrome, and it would particularly degrade performance in a Node
556
- environment.
557
-
558
- The special build of `websql` that we use does allow such
559
- IndexedDB-spec-compliant (and data-integrity-friendly!) rollback behavior
560
- in Node.
561
-
562
- See below on task/micro-task timing for more.
563
-
564
- ### Task/micro-task timing
565
-
566
- IndexedDB transactions [will timeout](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB#Adding_data_to_the_database)
567
- so long as there are no detected active requests.
568
-
569
- While a single promise delay (a "microtask") is not supposed to be
570
- long enough to cause a transaction timeout (and they do not in Node
571
- where we have control over extending the transaction), it could possibly
572
- occur in our browser implementation.
573
-
574
- (Note that chaining multiple promises or having a long-resolving
575
- promise will likely cause a transaction to expire even in compliant
576
- implementations.)
577
-
578
- A `setTimeout` timeout of `0`, on the other hand (a full "task"), ought,
579
- for compliant implementations, to be long enough of a time to cause a
580
- time out of the transaction, but in Node where we prolong transactions
581
- long enough to ensure our full chain of asynchronous SQL needed for the
582
- transaction operations is run (as well as ensure complete rollback should
583
- there be an error causing a transaction abort), it may be too short.
584
-
585
- We could fix this in Node (where we can have access to a synchronous
586
- SQLite API such as <https://github.com/grumdrig/node-sqlite> unlike
587
- on the browser) and ensure transactions finish before the next task
588
- (though always after a microtask), but as mentioned above, this would
589
- degrade performance particularly on a server (and in the browser,
590
- the WebSQL API on which we are relying did not apparently
591
- gain support in browsers for the synchronous API).
592
-
593
- [This test](https://github.com/web-platform-tests/wpt/blob/master/IndexedDB/transaction-deactivation-timing.html) and
594
- [this one](https://github.com/web-platform-tests/wpt/blob/master/IndexedDB/upgrade-transaction-deactivation-timing.html)
595
- demonstrate the *expected* timeout behavior with regard to `setTimeout`
596
- or promises and transaction expiration.
597
-
598
- ### [Structured Cloning Algorithm](https://html.spec.whatwg.org/multipage/infrastructure.html#safe-passing-of-structured-data)
599
-
600
- Due to
601
- [certain challenges](http://stackoverflow.com/questions/42170826/categories-for-rejection-by-the-structured-cloning-algorithm)
602
- in detecting cloneable objects from within JavaScript, there are certain
603
- limitations regarding cloning:
604
-
605
- 1. We cannot properly detect `Proxy` to throw upon encountering such
606
- non-cloneable objects. The same limitation applies to key validation --
607
- a `Proxy` wrapping an otherwise-valid key (e.g., `new Proxy([1, 2, 3],
608
- {})`) is indistinguishable from a real key, so it is accepted rather
609
- than rejected as invalid; the corresponding WPT test case is live-edited
610
- out of `key_invalid.any.js` by our own test harness (see
611
- `test-support/node-replacement-hacks.js`) rather than left failing
612
- 1. Our reliance on `Object.prototype.toString` to detect uncloneable objects
613
- can fail if that method is overridden or if `Symbol.toStringTag` is used
614
- to change the default reporting of a given "class".
615
- 1. Although they are currently working, we were only able to resolve `Blob`,
616
- `File`, and `FileList` objects synchronously (as
617
- [required per spec](https://github.com/axemclion/IndexedDBShim/issues/285))
618
- using the now-deprecated `XMLHttpRequest` synchronous API.
619
- 1. Without a means of transferring `ArrayBuffer` objects in Node, we cannot
620
- meet the requirement to fail upon encountering detached binary objects.
621
- 1. They may be other subtleties we have not been able to work around.
622
-
623
- We have, however, overcome some cloning issues still faced by browser
624
- implementations, e.g., in Chrome (issue
625
- [#698564](https://bugs.chromium.org/p/chromium/issues/detail?id=698564))
626
- (re: not failing on `WeakMap`, `WeakSet`, `Promise`, and `Object.prototype`).
627
-
628
- We also have limitations in creating certain objects synchronously, namely, the
629
- one method for creating an image bitmap, `createImageBitmap`, returns a
630
- `Promise`, so we cannot clone a bona fide image bitmap synchronously so as to
631
- obtain any errors synchronously as expected by the IndexedDB methods involving
632
- cloning.
633
-
634
- ### Node versions 8.9.3 to 9.0.0
635
-
636
- Our Mocha test "query multi-entry indexes with hundreds of records" of
637
- `IDBIndex/openCursor-spec.js` is failing for these versions. Starting
638
- with 9.1.0, however, the test passes again.
639
-
640
- ### iOS
641
-
642
- Due to a [bug in WebKit](https://bugs.webkit.org/show_bug.cgi?id=137034), the
643
- `window.indexedDB` property is read-only and cannot be overridden by
644
- IndexedDBShim. There are two possible workarounds for this:
645
-
646
- 1. Use `window.shimIndexedDB` instead of `window.indexedDB`
647
- 1. Create an `indexedDB` variable in your closure
648
-
649
- By creating a variable named `indexedDB`, all the code within that closure
650
- will use the variable instead of the `window.indexedDB` property. For
651
- example:
652
-
653
- ```js
654
- (function () {
655
- // This works on all browsers, and only uses IndexedDBShim as a final fallback
656
- var indexedDB = window.indexedDB || window.mozIndexedDB || // eslint-disable-line no-var -- Older browsers
657
- window.webkitIndexedDB || window.msIndexedDB || window.shimIndexedDB;
658
-
659
- // This code will use the native IndexedDB, if it exists, or the shim otherwise
660
- indexedDB.open('MyDatabase', 1);
661
- }());
662
- ```
663
-
664
- ### Windows Phone
665
-
666
- *This information might be outdated. Reports on current support or fixes welcome.*
667
-
668
- IndexedDBShim works on Windows Phone via a Cordova/PhoneGap plug-in. There
669
- are two plugins available: [cordova-plugin-indexedDB](https://github.com/MSOpenTech/cordova-plugin-indexedDB)
670
- and [cordova-plugin-indexeddb-async](https://github.com/ABB-Austin/cordova-plugin-indexeddb-async).
671
- Both plug-ins rely on a WebSQL-to-SQLite adapter, but there are differences
672
- in their implementations. Try them both and see which one works best for
673
- your app.
530
+ See [KNOWN ISSUES](./docs/KNOWN_ISSUES.md).
674
531
 
675
532
  ## Building
676
533
 
package/dist/CFG.d.ts CHANGED
@@ -38,6 +38,7 @@ export type ConfigValues = {
38
38
  sqlBusyTimeout: number;
39
39
  sqlTrace: () => void;
40
40
  sqlProfile: () => void;
41
+ sqlMemoryQuota: number;
41
42
  escapeNULForSQLiteStatements: boolean;
42
43
  createIndexes: boolean;
43
44
  };
package/dist/CFG.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"CFG.d.ts","sourceRoot":"","sources":["../src/CFG.js"],"names":[],"mappings":";;;;oBAEa,CAAC,IADD,CAAC,CAAC,MAAM,CAAC,CAAC;oBAKV;IAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;CAAC;2BAIlE;IACR,KAAK,EAAE,OAAO,CAAC;IACf,sBAAsB,EAAE,OAAO,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,CACX,MAAM,EAAE,OAAO,SAAS,EAAE,MAAM,KAC7B,OAAO,SAAS,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,GAAG,EAAE;QACH,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAC9F,OAAe,kDAAkD,EAAE,OAAO,CAAA;KACrE,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,EAAE,EAAE,KAAK,CAAC;IACV,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,2BAA2B,EAAE,MAAM,GAAC,KAAK,CAAC;IAC1C,uBAAuB,EAAE,MAAM,GAAC,KAAK,CAAC;IACtC,yBAAyB,EAAE,OAAO,CAAC;IACnC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,4BAA4B,EAAE,OAAO,CAAC;IACtC,aAAa,EAAE,OAAO,CAAA;CACvB;0BAIS,OAAO,CAAC,YAAY,CAAC;gCASrB,MAAM,YAAY;qBAIlB,iBAAiB,EAAE;AAPhC,mBAAuB,YAAY,CAAU"}
1
+ {"version":3,"file":"CFG.d.ts","sourceRoot":"","sources":["../src/CFG.js"],"names":[],"mappings":";;;;oBAEa,CAAC,IADD,CAAC,CAAC,MAAM,CAAC,CAAC;oBAKV;IAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;CAAC;2BAIlE;IACR,KAAK,EAAE,OAAO,CAAC;IACf,sBAAsB,EAAE,OAAO,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,CACX,MAAM,EAAE,OAAO,SAAS,EAAE,MAAM,KAC7B,OAAO,SAAS,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,GAAG,EAAE;QACH,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAC9F,OAAe,kDAAkD,EAAE,OAAO,CAAA;KACrE,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,EAAE,EAAE,KAAK,CAAC;IACV,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,2BAA2B,EAAE,MAAM,GAAC,KAAK,CAAC;IAC1C,uBAAuB,EAAE,MAAM,GAAC,KAAK,CAAC;IACtC,yBAAyB,EAAE,OAAO,CAAC;IACnC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B,EAAE,OAAO,CAAC;IACtC,aAAa,EAAE,OAAO,CAAA;CACvB;0BAIS,OAAO,CAAC,YAAY,CAAC;gCASrB,MAAM,YAAY;qBAIlB,iBAAiB,EAAE;AAPhC,mBAAuB,YAAY,CAAU"}
@@ -70,16 +70,16 @@ export const createDOMException: ((name: string, message: string, error?: ErrorL
70
70
  * optional here and, in practice, always `undefined` today (the `case 4`/
71
71
  * `case 7` branches below are effectively unreachable pending upstream
72
72
  * support for surfacing a real error code).
73
- * @param {Error & {code?: number}} webSQLErr
73
+ * @param {Error & {code?: number|string}} webSQLErr
74
74
  * @returns {(DOMException|Error) & {
75
- * sqlError: Error & {code?: number}
75
+ * sqlError: Error & {code?: number|string}
76
76
  * }|QuotaExceededError}
77
77
  */
78
78
  export function webSQLErrback(webSQLErr: Error & {
79
- code?: number;
79
+ code?: number | string;
80
80
  }): ((DOMException | Error) & {
81
81
  sqlError: Error & {
82
- code?: number;
82
+ code?: number | string;
83
83
  };
84
84
  }) | QuotaExceededError;
85
85
  //# sourceMappingURL=DOMException.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DOMException.d.ts","sourceRoot":"","sources":["../src/DOMException.js"],"names":[],"mappings":"+BA2Ga,UAAU,CAAC,YAAY,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAC,IAAI,GAAC,UAAU,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAA;CACjB;wBAsJS;IACR,OAAO,EAAE,MAAM,GAAC,SAAS,CAAA;CAC1B;6BAyBS,GAAG;mBA7QH,gBAAgB,GAAC,uBAAuB,GAAC,oBAAoB,GACzE,uBAAyB,GAAC,4BAA4B,GAAC,eAAe,GACtE,mBAAqB,GAAC,qBAAqB,GAAC,mBAAmB,GAC/D,aAAe,GAAC,0BAA0B,GAAC,gBAAgB,GAC3D,oBAAsB,GAAC,mBAAmB,GAAC,eAAe,GAC1D,cAAgB,GAAC,YAAY,GAAC,kBAAkB,GAAC,oBAAoB,GACrE,cAAgB,GAAC,sBAAsB,GAAC,gBAAgB,GAAC,eAAe,GACxE,kBAAoB,GAAC,cAAc,GAAC,iBAAiB,GAAC,WAAW,GACjE,0BAA4B,GAAC,eAAe,GAAC,cAAc,GAC3D,gBAAkB,GAAC,iBAAiB;yBAwCxB,gBAAgB,GAAC,oBAAoB,GAAC,uBAAuB,GACzE,oBAAsB,GAAC,uBAAuB,GAAC,qBAAqB,GACpE,6BAA+B,GAAC,eAAe,GAAC,mBAAmB,GACnE,qBAAuB,GAAC,mBAAmB,GAAC,YAAY,GACxD,0BAA4B,GAAC,eAAe,GAAC,oBAAoB,GACjE,gBAAkB,GAAC,mBAAmB,GAAC,cAAc,GAAC,aAAa,GACnE,WAAa,GAAC,kBAAkB,GAAC,oBAAoB,GAAC,aAAa,GACnE,uBAAyB,GAAC,gBAAgB;AAyL3C;;;;GAIG;AAEH;;;;;;GAMG;AACH,+BALW,MAAM,WACN,MAAM,UACN,MAAM,GAAC,SAAS,GAAC,OAAO,GAAC,IAAI,GAC3B,IAAI,CAchB;AAeD;;;;;;GAMG;AACH,gCAHW,CAAC,KAAK,GAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GAAC,GAAG,CAAC,EAAE,GAC7C,KAAK,GAAC,YAAY,GAAC,SAAS,CAkBxC;AA8FD;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEgC;AA1BhC,yCAGiB,MAAM,WACN,MAAM,UACN,SAAS,KACP,YAAY,YAQd,MAAM,WACN,MAAM,UACN,SAAS,KACP,KAAK,EAKlB;AA1FN;;;;;;;;;;;GAWG;AACH,yCALW,KAAK,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GACrB,CAAA,CAAC,YAAY,GAAC,KAAK,CAAC,GAAG;IAC/B,QAAQ,EAAE,KAAK,GAAG;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,CAAA;CAClC,IAAC,kBAAkB,CA6CtB"}
1
+ {"version":3,"file":"DOMException.d.ts","sourceRoot":"","sources":["../src/DOMException.js"],"names":[],"mappings":"+BA2Ga,UAAU,CAAC,YAAY,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAC,IAAI,GAAC,UAAU,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAA;CACjB;wBAsJS;IACR,OAAO,EAAE,MAAM,GAAC,SAAS,CAAA;CAC1B;6BAyBS,GAAG;mBA7QH,gBAAgB,GAAC,uBAAuB,GAAC,oBAAoB,GACzE,uBAAyB,GAAC,4BAA4B,GAAC,eAAe,GACtE,mBAAqB,GAAC,qBAAqB,GAAC,mBAAmB,GAC/D,aAAe,GAAC,0BAA0B,GAAC,gBAAgB,GAC3D,oBAAsB,GAAC,mBAAmB,GAAC,eAAe,GAC1D,cAAgB,GAAC,YAAY,GAAC,kBAAkB,GAAC,oBAAoB,GACrE,cAAgB,GAAC,sBAAsB,GAAC,gBAAgB,GAAC,eAAe,GACxE,kBAAoB,GAAC,cAAc,GAAC,iBAAiB,GAAC,WAAW,GACjE,0BAA4B,GAAC,eAAe,GAAC,cAAc,GAC3D,gBAAkB,GAAC,iBAAiB;yBAwCxB,gBAAgB,GAAC,oBAAoB,GAAC,uBAAuB,GACzE,oBAAsB,GAAC,uBAAuB,GAAC,qBAAqB,GACpE,6BAA+B,GAAC,eAAe,GAAC,mBAAmB,GACnE,qBAAuB,GAAC,mBAAmB,GAAC,YAAY,GACxD,0BAA4B,GAAC,eAAe,GAAC,oBAAoB,GACjE,gBAAkB,GAAC,mBAAmB,GAAC,cAAc,GAAC,aAAa,GACnE,WAAa,GAAC,kBAAkB,GAAC,oBAAoB,GAAC,aAAa,GACnE,uBAAyB,GAAC,gBAAgB;AAyL3C;;;;GAIG;AAEH;;;;;;GAMG;AACH,+BALW,MAAM,WACN,MAAM,UACN,MAAM,GAAC,SAAS,GAAC,OAAO,GAAC,IAAI,GAC3B,IAAI,CAchB;AAeD;;;;;;GAMG;AACH,gCAHW,CAAC,KAAK,GAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GAAC,GAAG,CAAC,EAAE,GAC7C,KAAK,GAAC,YAAY,GAAC,SAAS,CAkBxC;AA8FD;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEgC;AA1BhC,yCAGiB,MAAM,WACN,MAAM,UACN,SAAS,KACP,YAAY,YAQd,MAAM,WACN,MAAM,UACN,SAAS,KACP,KAAK,EAKlB;AA1FN;;;;;;;;;;;GAWG;AACH,yCALW,KAAK,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,CAAA;CAAC,GAC5B,CAAA,CAAC,YAAY,GAAC,KAAK,CAAC,GAAG;IAC/B,QAAQ,EAAE,KAAK,GAAG;QAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,CAAA;KAAC,CAAA;CACzC,IAAC,kBAAkB,CA6CtB"}
@@ -56,13 +56,13 @@ export class IDBFactory {
56
56
  * @see https://github.com/w3c/IndexedDB/pull/240/files
57
57
  * @this {IDBFactoryFull}
58
58
  * @returns {Promise<{
59
- * name: string,
60
- * version: Integer
59
+ * name?: string,
60
+ * version?: Integer
61
61
  * }[]>}
62
62
  */
63
63
  databases(this: IDBFactoryFull): Promise<{
64
- name: string;
65
- version: Integer;
64
+ name?: string;
65
+ version?: Integer;
66
66
  }[]>;
67
67
  /**
68
68
  * @todo forceClose: Test
@@ -1 +1 @@
1
- {"version":3,"file":"IDBFactory.d.ts","sourceRoot":"","sources":["../src/IDBFactory.js"],"names":[],"mappings":"+CAyaa,IAAI;sBAxZJ,MAAM;gCAIN,OAAO,qDAAqD,EAAE,OAAO;+BAIrE,OAAO,qDAAqD,EAAE,gBAAgB;8BAI9E,OAAO,mDAAmD,EAAE,OAAO;oCAKnE,IAAI;2BA0LJ,OAAO,kDAAkD,EAAE,OAAO,GAAG;IAC7E,GAAG,EAAE;QACH,GAAG,EAAE;YACH,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAA;SAC/C,CAAA;KACF,CAAA;CACF;2BA2QS,CACR,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KACtE,OAAO,kDAAkD,EAAE,OAAO;6BAI7D,UAAU,CAAC,UAAU,GAAG;IAChC,cAAc,EAAE,YAAY,CAAC;IAC7B,aAAa,EAAE;QACnB,CAAO,GAAG,EAAE,MAAM,GAAG,OAAO,kBAAkB,EAAE,eAAe,EAAE,CAAA;KAC5D,CAAC;IACF,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,0BAA0B,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACtD;AAxBJ;;;;;GAKG;AACH,mCAEC;;IAuCD;;;;;;OAMG;IACH,iCALW,MAAM,mBAGJ,gBAAgB,CAsf5B;IAED;;;;;OAKG;IACH,2CAJW,MAAM,mBAEJ,gBAAgB,CAwJ5B;IAED;;;;;;OAMG;IACH,UALW,OAAO,UAAU,EAAE,GAAG,QACtB,OAAO,UAAU,EAAE,GAAG,mBAEpB,MAAM,CAclB;IAED;;;;;;;;OAQG;IACH,iCALa,OAAO,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAA;KACjB,EAAE,CAAC,CAiEN;IAED;;;;;;;;;;;OAWG;IACH,2CAPW,MAAM,WACN,OAAO,OACP,MAAM,GAGJ,IAAI,CAiChB;IAED;;;;OAIG;IACH,oCAHW,MAAM,GACJ,IAAI,CAIhB;;;IAj0BD;;OAEG;IACH,6BAFa,cAAc,CAgB1B;;gBAtgBe,UAAU;AAi0C1B,2CAAoD;AAlyCpD;;;GAGG;AACH,2BAHW,OAAO,UAAU,EAAE,KAAK,GACtB,IAAI,CAKhB;iCAvC8B,iBAAiB"}
1
+ {"version":3,"file":"IDBFactory.d.ts","sourceRoot":"","sources":["../src/IDBFactory.js"],"names":[],"mappings":"+CAyaa,IAAI;sBAxZJ,MAAM;gCAIN,OAAO,qDAAqD,EAAE,OAAO;+BAIrE,OAAO,qDAAqD,EAAE,gBAAgB;8BAI9E,OAAO,mDAAmD,EAAE,OAAO;oCAKnE,IAAI;2BA0LJ,OAAO,kDAAkD,EAAE,OAAO,GAAG;IAC7E,GAAG,EAAE;QACH,GAAG,EAAE;YACH,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAA;SAC/C,CAAA;KACF,CAAA;CACF;2BA2QS,CACR,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KACtE,OAAO,kDAAkD,EAAE,OAAO;6BAI7D,UAAU,CAAC,UAAU,GAAG;IAChC,cAAc,EAAE,YAAY,CAAC;IAC7B,aAAa,EAAE;QACnB,CAAO,GAAG,EAAE,MAAM,GAAG,OAAO,kBAAkB,EAAE,eAAe,EAAE,CAAA;KAC5D,CAAC;IACF,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,0BAA0B,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACtD;AAxBJ;;;;;GAKG;AACH,mCAEC;;IAuCD;;;;;;OAMG;IACH,iCALW,MAAM,mBAGJ,gBAAgB,CAsf5B;IAED;;;;;OAKG;IACH,2CAJW,MAAM,mBAEJ,gBAAgB,CAwJ5B;IAED;;;;;;OAMG;IACH,UALW,OAAO,UAAU,EAAE,GAAG,QACtB,OAAO,UAAU,EAAE,GAAG,mBAEpB,MAAM,CAclB;IAED;;;;;;;;OAQG;IACH,iCALa,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,EAAE,CAAC,CAiEN;IAED;;;;;;;;;;;OAWG;IACH,2CAPW,MAAM,WACN,OAAO,OACP,MAAM,GAGJ,IAAI,CAiChB;IAED;;;;OAIG;IACH,oCAHW,MAAM,GACJ,IAAI,CAIhB;;;IAj0BD;;OAEG;IACH,6BAFa,cAAc,CAgB1B;;gBAtgBe,UAAU;AAi0C1B,2CAAoD;AAlyCpD;;;GAGG;AACH,2BAHW,OAAO,UAAU,EAAE,KAAK,GACtB,IAAI,CAKhB;iCAvC8B,iBAAiB"}
@@ -1,4 +1,4 @@
1
- /*! indexeddbshim - v17.3.4 - 8/25/2026 */
1
+ /*! indexeddbshim - v17.4.1 - 8/29/2026 */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
@@ -173,6 +173,7 @@
173
173
  * sqlBusyTimeout: number,
174
174
  * sqlTrace: () => void,
175
175
  * sqlProfile: () => void,
176
+ * sqlMemoryQuota: number,
176
177
  * escapeNULForSQLiteStatements: boolean,
177
178
  * createIndexes: boolean
178
179
  * }} ConfigValues
@@ -329,7 +330,7 @@
329
330
  'sqlProfile',
330
331
  // Callback not used by default
331
332
  // Defaults to true except in Node builds where we can preserve literal NUL with better-sqlite3
332
- 'escapeNULForSQLiteStatements', 'createIndexes'].forEach(function (prop) {
333
+ 'escapeNULForSQLiteStatements', 'sqlMemoryQuota', 'createIndexes'].forEach(function (prop) {
333
334
  /** @type {(val: any) => void} */
334
335
  var validator;
335
336
  if (Array.isArray(prop)) {