indexeddbshim 17.3.3 → 17.4.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 (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.map +1 -1
  7. package/dist/IDBTransaction.d.ts +8 -6
  8. package/dist/IDBTransaction.d.ts.map +1 -1
  9. package/dist/Key.d.ts.map +1 -1
  10. package/dist/Sca.d.ts.map +1 -1
  11. package/dist/indexeddbshim-Key.js +54 -14
  12. package/dist/indexeddbshim-Key.js.map +1 -1
  13. package/dist/indexeddbshim-Key.min.js +2 -2
  14. package/dist/indexeddbshim-Key.min.js.map +1 -1
  15. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs +212 -80
  16. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs.map +1 -1
  17. package/dist/indexeddbshim-UnicodeIdentifiers.js +201 -79
  18. package/dist/indexeddbshim-UnicodeIdentifiers.js.map +1 -1
  19. package/dist/indexeddbshim-UnicodeIdentifiers.min.js +3 -3
  20. package/dist/indexeddbshim-UnicodeIdentifiers.min.js.map +1 -1
  21. package/dist/indexeddbshim-node.cjs +212 -80
  22. package/dist/indexeddbshim-node.cjs.map +1 -1
  23. package/dist/indexeddbshim-noninvasive.js +201 -79
  24. package/dist/indexeddbshim-noninvasive.js.map +1 -1
  25. package/dist/indexeddbshim-noninvasive.min.js +3 -3
  26. package/dist/indexeddbshim-noninvasive.min.js.map +1 -1
  27. package/dist/indexeddbshim.js +201 -79
  28. package/dist/indexeddbshim.js.map +1 -1
  29. package/dist/indexeddbshim.min.js +3 -3
  30. package/dist/indexeddbshim.min.js.map +1 -1
  31. package/dist/nodeSQLiteDatabase.d.ts.map +1 -1
  32. package/dist/nodeWebSQL.d.ts.map +1 -1
  33. package/package.json +8 -9
  34. package/src/CFG.js +2 -0
  35. package/src/DOMException.js +21 -21
  36. package/src/IDBFactory.js +88 -39
  37. package/src/IDBObjectStore.js +1 -1
  38. package/src/IDBTransaction.js +7 -1
  39. package/src/Key.js +34 -12
  40. package/src/Sca.js +53 -3
  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"}
@@ -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,CAqc5B;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;;;IAhxBD;;OAEG;IACH,6BAFa,cAAc,CAgB1B;;gBAtgBe,UAAU;AAgxC1B,2CAAoD;AAjvCpD;;;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,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"}
@@ -280,41 +280,43 @@ declare namespace IDBTransaction {
280
280
  * @param {string} [durability]
281
281
  * @returns {IDBTransactionFull}
282
282
  */
283
- function __createInstance(db: import("./IDBDatabase.js").IDBDatabaseFull, storeNames: import("./DOMStringList.js").DOMStringListFull, mode: string, durability?: string): IDBTransactionFull;
283
+ export function __createInstance(db: import("./IDBDatabase.js").IDBDatabaseFull, storeNames: import("./DOMStringList.js").DOMStringListFull, mode: string, durability?: string): IDBTransactionFull;
284
284
  /**
285
285
  *
286
286
  * @param {IDBTransactionFull|null|undefined} tx
287
287
  * @returns {void}
288
288
  */
289
- function __assertVersionChange(tx: IDBTransactionFull | null | undefined): void;
289
+ export function __assertVersionChange(tx: IDBTransactionFull | null | undefined): void;
290
290
  /**
291
291
  *
292
292
  * @param {IDBTransactionFull|null} tx
293
293
  * @throws {DOMException}
294
294
  * @returns {void}
295
295
  */
296
- function __assertNotVersionChange(tx: IDBTransactionFull | null): void;
296
+ export function __assertNotVersionChange(tx: IDBTransactionFull | null): void;
297
297
  /**
298
298
  *
299
299
  * @param {IDBTransactionFull|null|undefined} tx
300
300
  * @throws {DOMException}
301
301
  * @returns {void}
302
302
  */
303
- function __assertNotFinished(tx: IDBTransactionFull | null | undefined): void;
303
+ export function __assertNotFinished(tx: IDBTransactionFull | null | undefined): void;
304
304
  /**
305
305
  *
306
306
  * @param {IDBTransactionFull} tx
307
307
  * @returns {void}
308
308
  */
309
- function __assertNotFinishedObjectStoreMethod(tx: IDBTransactionFull): void;
309
+ export function __assertNotFinishedObjectStoreMethod(tx: IDBTransactionFull): void;
310
310
  /**
311
311
  *
312
312
  * @param {IDBTransactionFull|null|undefined} tx
313
313
  * @throws {DOMException}
314
314
  * @returns {void}
315
315
  */
316
- function __assertActive(tx: IDBTransactionFull | null | undefined): void;
316
+ export function __assertActive(tx: IDBTransactionFull | null | undefined): void;
317
+ export { activeTransactions };
317
318
  }
318
319
  import { IDBRequest } from './IDBRequest.js';
319
320
  import IDBObjectStore from './IDBObjectStore.js';
321
+ declare const activeTransactions: Set<any>;
320
322
  //# sourceMappingURL=IDBTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IDBTransaction.d.ts","sourceRoot":"","sources":["../src/IDBTransaction.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IDBTransaction.d.ts","sourceRoot":"","sources":["../src/IDBTransaction.js"],"names":[],"mappings":"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"}
package/dist/Key.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../src/Key.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../src/Key.js"],"names":[],"mappings":"oBA4ba,MAAM;;;;;aAmRL,OAAO;;6CAIR,yBAAyB,EAAE;wCAI3B,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,IAAI,GAAC,MAAM,GAAC,8BAA8B;;YAKjE,yBAAyB;;;sBAyR1B,MAAM;yCAKR,OAAO,KACL,IAAI;6CAKN,YAAY,GAAC,KAAK,KAChB,IAAI;yCAgFN,SAAS,GAAC,IAAI,2DAGZ,IAAI;8BA3jCJ,MAAM,CAAC,UAAU,GAAC,QAAQ;2BAI1B,eAAe,GAAC,WAAW;sBAI3B,QAAQ,GAAC,MAAM,GAAC,QAAQ,GAAC,QAAQ,GAAC,OAAO;gCAIzC,OAAO,qDAAqD,EAAE,OAAO;oBAIrE,GAAG;kBAIH,GAAG;2BAKH,OAAO,EAAE;sBAGT,MAAM,GAAC,YAAY;;;;;UAKlB,OAAO,GAAC,KAAK,GAAC,MAAM,GAAC,WAAW,GAAC,SAAS,GAAC,QAAQ,GAAC,QAAQ,GACzE,UAAc,GAAC,QAAQ;YACV,KAAK;;;;iCAON,MAAM,GAAC,MAAM,GAAC,IAAI,GAAC,WAAW;6BAG9B,SAAS,EAAE;wBAGX,kBAAkB,GAAC,cAAc;uBA2CjC,GAAG;AAu1BhB;;;;;GAKG;AACH,4BAJW,GAAG,YACH,OAAO,GACL,MAAM,GAAC,IAAI,CASvB;AAED;;;;;;GAMG;AACH,4BALW,GAAG,YACH,OAAO,GAEL,SAAS,GAAC,SAAS,CAO/B;AAED;;;;;GAKG;AACH,+BAJW,GAAG,YACH,OAAO,GACL,SAAS,GAAC,SAAS,CAI/B;AAzED;;;;;GAKG;AACH,uCAJW,GAAG,GAED,SAAS,CA8BrB;AA5aD;;;;;;;;;;;GAWG;AACH,qDARW,KAAK,SACL,KAAK,EAAE,GAAC,IAAI,eACZ,OAAO,aACP,OAAO,GAGL,cAAc,CA8F1B;AAED;;;;;;GAMG;AACH,wDALW,GAAG,aACH,OAAO,GACL,cAAc,CAK1B;AAxKD;;;;;;GAMG;AACH,yCAJW,KAAK,SACL,KAAK,EAAE,GAAC,IAAI,GAAC,SAAS,GACpB,cAAc,CAI1B;AAED;;;;GAIG;AACH,mDAHW,KAAK,GACH,cAAc,CAI1B;AAwJD;;;;;;GAMG;AACH,+DALW,KAAK,SACL,KAAK,EAAE,GAAC,IAAI,GAAC,SAAS,GAEpB,cAAc,CAQ1B;AAED;;;;;;;GAOG;AACH,uDANW,KAAK,WACL,OAAO,cACP,OAAO,GACL,cAAc,GAAC,oBAAoB,CAK/C;AACD;;;;;;GAMG;AACH,8CALW,KAAK,WACL,OAAO,cACP,OAAO,GACL,oBAAoB,CAIhC;AAED;;;;;;;;;GASG;AACH,mEAPW,KAAK,WACL,OAAO,eACP,OAAO,aACP,OAAO,GACL,cAAc,GAAC,oBAAoB,CAY/C;AAwFD;;;;;;GAMG;AACH,sDALW;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAC,OACzB,GAAG,WACH,MAAM,GACJ,IAAI,CAahB;AAED;;;;;;GAMG;AACH,wDALW,KAAK,WACL,MAAM,GAEJ,OAAO,CAgBnB;AAwCD;;;;;GAKG;AACH,gDAJW,MAAM,cACN,MAAM,GACJ,OAAO,CASnB;AAnDD;;;;;;GAMG;AACH,kCALW,GAAG,SACH,OAAO,kBAAkB,EAAE,eAAe,gBAC1C,OAAO,GACL,OAAO,CA+BnB;AAiBD;;;;;GAKG;AACH,gDAJW,GAAG,SACH,OAAO,kBAAkB,EAAE,eAAe,GAAC,SAAS,GAClD,GAAG,EAAE,CA+BjB;AA0HD;;;;;;;;GAQG;AACH,wCAPW,iBAAiB,SACjB,OAAO,qBAAqB,EAAE,kBAAkB,OAChD,OAAO,aACP,qBAAqB,UACrB,kBAAkB,GAChB,IAAI,CAYhB;AA6BD;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,wCANW,iBAAiB,SACjB,OAAO,qBAAqB,EAAE,kBAAkB,MAChD,mBAAmB,aACnB,kBAAkB,GAChB,IAAI,CAmBhB;AAKD;;;;;;;;GAQG;AACH,+CAPW,iBAAiB,SACjB,OAAO,qBAAqB,EAAE,kBAAkB,OAChD,GAAG,aACH,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,aACvB,kBAAkB,GAChB,IAAI,CA6BhB"}
package/dist/Sca.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Sca.d.ts","sourceRoot":"","sources":["../src/Sca.js"],"names":[],"mappings":"uBAsDa,GAAG;AAlChB;;;;;;;;GAQG;AACH,4BALW,QAAQ,SACR,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAEnB,MAAM,CAwBlB;AAED;;GAEG;AAEH;;;GAGG;AACH,4BAHW,MAAM,GACJ,QAAQ,CAIpB;AAED;;;GAGG;AACH,2BAHW,QAAQ,GACN,QAAQ,CAMpB;AAED;;;;;;;;;;;GAWG;AACH,0DAJW;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,OACnB,QAAQ,GACN,QAAQ,CASpB;AApFD;;;;GAIG;AACH,+BAJW,CAAC,MAAM,EAAE,OAAO,kBAAkB,EAAE,MAAM,KACpD,OAAW,kBAAkB,EAAE,MAAM,GACzB,IAAI,CAKhB"}
1
+ {"version":3,"file":"Sca.d.ts","sourceRoot":"","sources":["../src/Sca.js"],"names":[],"mappings":"uBAwGa,GAAG;AAlChB;;;;;;;;GAQG;AACH,4BALW,QAAQ,SACR,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAEnB,MAAM,CAwBlB;AAED;;GAEG;AAEH;;;GAGG;AACH,4BAHW,MAAM,GACJ,QAAQ,CAIpB;AAED;;;GAGG;AACH,2BAHW,QAAQ,GACN,QAAQ,CAMpB;AAED;;;;;;;;;;;GAWG;AACH,0DAJW;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,OACnB,QAAQ,GACN,QAAQ,CASpB;AApFD;;;;GAIG;AACH,+BAJW,CAAC,MAAM,EAAE,OAAO,kBAAkB,EAAE,MAAM,KACpD,OAAW,kBAAkB,EAAE,MAAM,GACzB,IAAI,CAKhB"}
@@ -1,4 +1,4 @@
1
- /*! indexeddbshim - v17.3.3 - 8/25/2026 */
1
+ /*! indexeddbshim - v17.4.0 - 8/27/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)) {
@@ -796,6 +797,32 @@
796
797
  }
797
798
 
798
799
  var _templateObject, _templateObject2;
800
+ /**
801
+ * @param {unknown[]} arr
802
+ * @param {number} index
803
+ * @param {unknown} val
804
+ * @returns {void}
805
+ */
806
+ var setArrayValue = function setArrayValue(arr, index, val) {
807
+ if (Reflect.has(Array.prototype, index)) {
808
+ Object.defineProperty(arr, index, {
809
+ value: val,
810
+ enumerable: true,
811
+ writable: true,
812
+ configurable: true
813
+ });
814
+ } else {
815
+ arr[index] = val;
816
+ }
817
+ };
818
+ /**
819
+ * @param {unknown[]} arr
820
+ * @param {unknown} val
821
+ * @returns {void}
822
+ */
823
+ var safePush = function safePush(arr, val) {
824
+ return setArrayValue(arr, arr.length, val);
825
+ };
799
826
 
800
827
  /**
801
828
  * @typedef {NodeJS.TypedArray|DataView} ArrayBufferView
@@ -1059,6 +1086,7 @@
1059
1086
  * @returns {string}
1060
1087
  */
1061
1088
  encode: function encode(key) {
1089
+ /** @type {(string|null)[]} */
1062
1090
  var encoded = [];
1063
1091
  var _iterator = _createForOfIteratorHelper(key.entries()),
1064
1092
  _step;
@@ -1068,14 +1096,14 @@
1068
1096
  i = _step$value[0],
1069
1097
  item = _step$value[1];
1070
1098
  var encodedItem = _encode(item, true); // encode the array item
1071
- encoded[i] = encodedItem;
1099
+ setArrayValue(encoded, i, encodedItem);
1072
1100
  }
1073
1101
  } catch (err) {
1074
1102
  _iterator.e(err);
1075
1103
  } finally {
1076
1104
  _iterator.f();
1077
1105
  }
1078
- encoded.push(keyTypeToEncodedChar.invalid + '-'); // append an extra item, so empty arrays sort correctly
1106
+ safePush(encoded, keyTypeToEncodedChar.invalid + '-'); // append an extra item, so empty arrays sort correctly
1079
1107
  var encodedKey = JSON.stringify(encoded);
1080
1108
  if (CFG.escapeNULForSQLiteStatements === false) {
1081
1109
  encodedKey = encodedKey.replaceAll(String.raw(_templateObject || (_templateObject = _taggedTemplateLiteral(["\0"], ["\\u0000"]))), '\0');
@@ -1096,7 +1124,7 @@
1096
1124
  for (var i = 0; i < decoded.length; i++) {
1097
1125
  var item = decoded[i];
1098
1126
  var decodedItem = _decode(item, true); // decode the item
1099
- decoded[i] = decodedItem;
1127
+ setArrayValue(decoded, i, decodedItem);
1100
1128
  }
1101
1129
  return decoded;
1102
1130
  }
@@ -1394,7 +1422,7 @@
1394
1422
  // May throw (from binary)
1395
1423
  var arr = /** @type {Array<any>} */input;
1396
1424
  var len = arr.length;
1397
- seen.push(input);
1425
+ safePush(seen, input);
1398
1426
 
1399
1427
  /** @type {(KeyValueObject|Value)[]} */
1400
1428
  var keys = [];
@@ -1429,7 +1457,7 @@
1429
1457
  }) || fullKeys && keys.every(function (k) {
1430
1458
  return cmp(k, key) !== 0;
1431
1459
  })) {
1432
- keys.push(fullKeys ? key : key.value);
1460
+ safePush(keys, fullKeys ? key : key.value);
1433
1461
  }
1434
1462
  } catch (err) {
1435
1463
  if (!multiEntry) {
@@ -1589,7 +1617,7 @@
1589
1617
  if (key.failure) {
1590
1618
  return true;
1591
1619
  }
1592
- result.push(key.value);
1620
+ safePush(result, key.value);
1593
1621
  return false;
1594
1622
  }) ? {
1595
1623
  failure: true
@@ -1650,11 +1678,21 @@
1650
1678
  identifiers.forEach(function (identifier) {
1651
1679
  var hop = Object.hasOwn(value, identifier);
1652
1680
  if (!hop) {
1653
- value[identifier] = {};
1681
+ Object.defineProperty(value, identifier, {
1682
+ value: {},
1683
+ enumerable: true,
1684
+ writable: true,
1685
+ configurable: true
1686
+ });
1654
1687
  }
1655
1688
  value = value[identifier];
1656
1689
  });
1657
- value[(/** @type {string} */last)] = key; // key is already a `keyValue` in our processing so no need to convert
1690
+ Object.defineProperty(value, /** @type {string} */last, {
1691
+ value: key,
1692
+ enumerable: true,
1693
+ writable: true,
1694
+ configurable: true
1695
+ }); // key is already a `keyValue` in our processing so no need to convert
1658
1696
  }
1659
1697
 
1660
1698
  /**
@@ -1732,6 +1770,7 @@
1732
1770
  * @returns {Key[]}
1733
1771
  */
1734
1772
  function findMultiEntryMatches(keyEntry, range) {
1773
+ /** @type {unknown[]} */
1735
1774
  var matches = [];
1736
1775
  if (Array.isArray(keyEntry)) {
1737
1776
  var _iterator4 = _createForOfIteratorHelper(keyEntry),
@@ -1748,13 +1787,13 @@
1748
1787
  } else {
1749
1788
  var nested = findMultiEntryMatches(key, range);
1750
1789
  if (nested.length > 0) {
1751
- matches.push(key);
1790
+ safePush(matches, key);
1752
1791
  }
1753
1792
  continue;
1754
1793
  }
1755
1794
  }
1756
1795
  if (isNullish(range) || isKeyInRange(key, range, true)) {
1757
- matches.push(key);
1796
+ safePush(matches, key);
1758
1797
  }
1759
1798
  }
1760
1799
  } catch (err) {
@@ -1763,7 +1802,7 @@
1763
1802
  _iterator4.f();
1764
1803
  }
1765
1804
  } else if (isNullish(range) || isKeyInRange(keyEntry, range, true)) {
1766
- matches.push(keyEntry);
1805
+ safePush(matches, keyEntry);
1767
1806
  }
1768
1807
  return matches;
1769
1808
  }
@@ -1785,12 +1824,13 @@
1785
1824
  }
1786
1825
  case 'array':
1787
1826
  {
1827
+ /** @type {ValueType[]} */
1788
1828
  var array = [];
1789
1829
  var len = value.length;
1790
1830
  var index = 0;
1791
1831
  while (index < len) {
1792
1832
  var entry = convertKeyToValue(value[index]);
1793
- array[index] = entry;
1833
+ setArrayValue(array, index, entry);
1794
1834
  index++;
1795
1835
  }
1796
1836
  return array;