@powersync/web 0.0.0-dev-20251209082930 → 0.0.0-dev-20260120150240

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 (107) hide show
  1. package/README.md +1 -1
  2. package/dist/_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapp-89f0ba.index.umd.js +1863 -0
  3. package/dist/_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapp-89f0ba.index.umd.js.map +1 -0
  4. package/dist/_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapps_wa-sqlite_src_example-2530150.index.umd.js +555 -0
  5. package/dist/_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapps_wa-sqlite_src_example-2530150.index.umd.js.map +1 -0
  6. package/dist/_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapps_wa-sqlite_src_example-2530151.index.umd.js +555 -0
  7. package/dist/_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapps_wa-sqlite_src_example-2530151.index.umd.js.map +1 -0
  8. package/dist/index.umd.js +4554 -38361
  9. package/dist/index.umd.js.map +1 -1
  10. package/dist/worker/SharedSyncImplementation.umd.js +490 -2274
  11. package/dist/worker/SharedSyncImplementation.umd.js.map +1 -1
  12. package/dist/worker/WASQLiteDB.umd.js +436 -2206
  13. package/dist/worker/WASQLiteDB.umd.js.map +1 -1
  14. package/dist/worker/{node_modules_bson_lib_bson_mjs.umd.js → node_modules_pnpm_bson_6_10_4_node_modules_bson_lib_bson_mjs.umd.js} +8 -8
  15. package/dist/worker/node_modules_pnpm_bson_6_10_4_node_modules_bson_lib_bson_mjs.umd.js.map +1 -0
  16. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-3a94cf.umd.js +44 -0
  17. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-3a94cf.umd.js.map +1 -0
  18. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-868779.umd.js +44 -0
  19. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-868779.umd.js.map +1 -0
  20. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_wa-sqli-f60d0d.umd.js +44 -0
  21. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_wa-sqli-f60d0d.umd.js.map +1 -0
  22. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs.umd.js +44 -0
  23. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs.umd.js.map +1 -0
  24. package/dist/worker/{node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js.umd.js → node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-0d2437.umd.js} +32 -32
  25. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-0d2437.umd.js.map +1 -0
  26. package/dist/worker/{node_modules_journeyapps_wa-sqlite_src_examples_OPFSCoopSyncVFS_js.umd.js → node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-1d4e74.umd.js} +24 -24
  27. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-1d4e74.umd.js.map +1 -0
  28. package/dist/worker/{node_modules_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js.umd.js → node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-3622cf.umd.js} +24 -24
  29. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-3622cf.umd.js.map +1 -0
  30. package/lib/package.json +29 -23
  31. package/lib/src/db/PowerSyncDatabase.d.ts +3 -1
  32. package/lib/src/db/PowerSyncDatabase.js +19 -7
  33. package/lib/src/db/adapters/AbstractWebPowerSyncDatabaseOpenFactory.d.ts +1 -1
  34. package/lib/src/db/adapters/AbstractWebPowerSyncDatabaseOpenFactory.js +1 -1
  35. package/lib/src/db/adapters/AbstractWebSQLOpenFactory.d.ts +2 -2
  36. package/lib/src/db/adapters/AbstractWebSQLOpenFactory.js +2 -2
  37. package/lib/src/db/adapters/AsyncDatabaseConnection.d.ts +1 -9
  38. package/lib/src/db/adapters/AsyncDatabaseConnection.js +1 -11
  39. package/lib/src/db/adapters/LockedAsyncDatabaseAdapter.d.ts +3 -3
  40. package/lib/src/db/adapters/LockedAsyncDatabaseAdapter.js +13 -7
  41. package/lib/src/db/adapters/WebDBAdapter.d.ts +1 -1
  42. package/lib/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.d.ts +2 -2
  43. package/lib/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.js +1 -2
  44. package/lib/src/db/adapters/wa-sqlite/WASQLiteConnection.d.ts +2 -2
  45. package/lib/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.d.ts +3 -3
  46. package/lib/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.js +5 -5
  47. package/lib/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.d.ts +4 -4
  48. package/lib/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.js +6 -6
  49. package/lib/src/db/adapters/wa-sqlite/WASQLitePowerSyncDatabaseOpenFactory.d.ts +1 -1
  50. package/lib/src/db/adapters/wa-sqlite/WASQLitePowerSyncDatabaseOpenFactory.js +3 -3
  51. package/lib/src/db/sync/SharedWebStreamingSyncImplementation.d.ts +5 -5
  52. package/lib/src/db/sync/SharedWebStreamingSyncImplementation.js +5 -5
  53. package/lib/src/db/sync/WebRemote.js +1 -1
  54. package/lib/src/db/sync/WebStreamingSyncImplementation.d.ts +1 -1
  55. package/lib/src/db/sync/WebStreamingSyncImplementation.js +1 -1
  56. package/lib/src/index.d.ts +12 -12
  57. package/lib/src/index.js +12 -12
  58. package/lib/src/worker/db/SharedWASQLiteConnection.d.ts +2 -2
  59. package/lib/src/worker/db/WASQLiteDB.worker.js +3 -3
  60. package/lib/src/worker/db/WorkerWASQLiteConnection.d.ts +2 -2
  61. package/lib/src/worker/db/WorkerWASQLiteConnection.js +1 -1
  62. package/lib/src/worker/db/open-worker-database.d.ts +2 -2
  63. package/lib/src/worker/db/open-worker-database.js +1 -1
  64. package/lib/src/worker/sync/BroadcastLogger.d.ts +1 -1
  65. package/lib/src/worker/sync/SharedSyncImplementation.d.ts +4 -4
  66. package/lib/src/worker/sync/SharedSyncImplementation.js +13 -5
  67. package/lib/src/worker/sync/SharedSyncImplementation.worker.js +2 -2
  68. package/lib/src/worker/sync/WorkerClient.d.ts +1 -1
  69. package/lib/src/worker/sync/WorkerClient.js +2 -2
  70. package/lib/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +22 -16
  72. package/src/db/PowerSyncDatabase.ts +23 -8
  73. package/src/db/adapters/AbstractWebPowerSyncDatabaseOpenFactory.ts +1 -1
  74. package/src/db/adapters/AbstractWebSQLOpenFactory.ts +3 -3
  75. package/src/db/adapters/AsyncDatabaseConnection.ts +1 -13
  76. package/src/db/adapters/LockedAsyncDatabaseAdapter.ts +17 -9
  77. package/src/db/adapters/WebDBAdapter.ts +1 -1
  78. package/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.ts +3 -4
  79. package/src/db/adapters/wa-sqlite/WASQLiteConnection.ts +2 -2
  80. package/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.ts +7 -7
  81. package/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.ts +7 -7
  82. package/src/db/adapters/wa-sqlite/WASQLitePowerSyncDatabaseOpenFactory.ts +3 -3
  83. package/src/db/sync/SharedWebStreamingSyncImplementation.ts +7 -7
  84. package/src/db/sync/WebRemote.ts +1 -1
  85. package/src/db/sync/WebStreamingSyncImplementation.ts +2 -2
  86. package/src/index.ts +12 -12
  87. package/src/worker/db/SharedWASQLiteConnection.ts +2 -2
  88. package/src/worker/db/WASQLiteDB.worker.ts +5 -5
  89. package/src/worker/db/WorkerWASQLiteConnection.ts +2 -2
  90. package/src/worker/db/open-worker-database.ts +2 -2
  91. package/src/worker/sync/BroadcastLogger.ts +1 -1
  92. package/src/worker/sync/SharedSyncImplementation.ts +17 -8
  93. package/src/worker/sync/SharedSyncImplementation.worker.ts +2 -2
  94. package/src/worker/sync/WorkerClient.ts +2 -2
  95. package/dist/worker/node_modules_bson_lib_bson_mjs.umd.js.map +0 -1
  96. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_mc-wa-sqlite-async_mjs.umd.js +0 -44
  97. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_mc-wa-sqlite-async_mjs.umd.js.map +0 -1
  98. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_mc-wa-sqlite_mjs.umd.js +0 -44
  99. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_mc-wa-sqlite_mjs.umd.js.map +0 -1
  100. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite-async_mjs.umd.js +0 -44
  101. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite-async_mjs.umd.js.map +0 -1
  102. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs.umd.js +0 -44
  103. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs.umd.js.map +0 -1
  104. package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js.umd.js.map +0 -1
  105. package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js.umd.js.map +0 -1
  106. package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_OPFSCoopSyncVFS_js.umd.js.map +0 -1
  107. /package/bin/{powersync.js → powersync.cjs} +0 -0
@@ -3,11 +3,11 @@ var sdk_web;
3
3
  /******/ "use strict";
4
4
  /******/ var __webpack_modules__ = ({
5
5
 
6
- /***/ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js":
7
- /*!*******************************************************************!*\
8
- !*** ../../node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js ***!
9
- \*******************************************************************/
10
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6
+ /***/ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js"
7
+ /*!*******************************************************************************************************************!*\
8
+ !*** ../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js ***!
9
+ \*******************************************************************************************************************/
10
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
11
11
 
12
12
  __webpack_require__.r(__webpack_exports__);
13
13
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -246,7 +246,7 @@ __webpack_require__.r(__webpack_exports__);
246
246
  /* harmony export */ SQLITE_WARNING: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_WARNING),
247
247
  /* harmony export */ SQLiteError: () => (/* binding */ SQLiteError)
248
248
  /* harmony export */ });
249
- /* harmony import */ var _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sqlite-constants.js */ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js");
249
+ /* harmony import */ var _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sqlite-constants.js */ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js");
250
250
  // Copyright 2021 Roy T. Hashimoto. All Rights Reserved.
251
251
 
252
252
 
@@ -1196,13 +1196,13 @@ function decl(s) {
1196
1196
  }
1197
1197
 
1198
1198
 
1199
- /***/ }),
1199
+ /***/ },
1200
1200
 
1201
- /***/ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js":
1202
- /*!*************************************************************************!*\
1203
- !*** ../../node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js ***!
1204
- \*************************************************************************/
1205
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1201
+ /***/ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js"
1202
+ /*!*************************************************************************************************************************!*\
1203
+ !*** ../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js ***!
1204
+ \*************************************************************************************************************************/
1205
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1206
1206
 
1207
1207
  __webpack_require__.r(__webpack_exports__);
1208
1208
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -1715,13 +1715,13 @@ const SQLITE_PREPARE_PERSISTENT = 0x01;
1715
1715
  const SQLITE_PREPARE_NORMALIZED = 0x02;
1716
1716
  const SQLITE_PREPARE_NO_VTAB = 0x04;
1717
1717
 
1718
- /***/ }),
1718
+ /***/ },
1719
1719
 
1720
- /***/ "../../node_modules/async-mutex/index.mjs":
1721
- /*!************************************************!*\
1722
- !*** ../../node_modules/async-mutex/index.mjs ***!
1723
- \************************************************/
1724
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1720
+ /***/ "../../node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs"
1721
+ /*!*************************************************************************************!*\
1722
+ !*** ../../node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs ***!
1723
+ \*************************************************************************************/
1724
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1725
1725
 
1726
1726
  __webpack_require__.r(__webpack_exports__);
1727
1727
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -2026,13 +2026,13 @@ function tryAcquire(sync, alreadyAcquiredError = E_ALREADY_LOCKED) {
2026
2026
 
2027
2027
 
2028
2028
 
2029
- /***/ }),
2029
+ /***/ },
2030
2030
 
2031
- /***/ "../../node_modules/comlink/dist/esm/comlink.mjs":
2032
- /*!*******************************************************!*\
2033
- !*** ../../node_modules/comlink/dist/esm/comlink.mjs ***!
2034
- \*******************************************************/
2035
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2031
+ /***/ "../../node_modules/.pnpm/comlink@4.4.2/node_modules/comlink/dist/esm/comlink.mjs"
2032
+ /*!****************************************************************************************!*\
2033
+ !*** ../../node_modules/.pnpm/comlink@4.4.2/node_modules/comlink/dist/esm/comlink.mjs ***!
2034
+ \****************************************************************************************/
2035
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2036
2036
 
2037
2037
  __webpack_require__.r(__webpack_exports__);
2038
2038
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -2407,13 +2407,13 @@ function generateUUID() {
2407
2407
  //# sourceMappingURL=comlink.mjs.map
2408
2408
 
2409
2409
 
2410
- /***/ }),
2410
+ /***/ },
2411
2411
 
2412
- /***/ "../common/dist/bundle.mjs":
2412
+ /***/ "../common/dist/bundle.mjs"
2413
2413
  /*!*********************************!*\
2414
2414
  !*** ../common/dist/bundle.mjs ***!
2415
2415
  \*********************************/
2416
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2416
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2417
2417
 
2418
2418
  __webpack_require__.r(__webpack_exports__);
2419
2419
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -2427,6 +2427,7 @@ __webpack_require__.r(__webpack_exports__);
2427
2427
  /* harmony export */ BaseObserver: () => (/* binding */ BaseObserver),
2428
2428
  /* harmony export */ Column: () => (/* binding */ Column),
2429
2429
  /* harmony export */ ColumnType: () => (/* binding */ ColumnType),
2430
+ /* harmony export */ ConnectionClosedError: () => (/* binding */ ConnectionClosedError),
2430
2431
  /* harmony export */ ConnectionManager: () => (/* binding */ ConnectionManager),
2431
2432
  /* harmony export */ ControlledExecutor: () => (/* binding */ ControlledExecutor),
2432
2433
  /* harmony export */ CrudBatch: () => (/* binding */ CrudBatch),
@@ -2471,6 +2472,7 @@ __webpack_require__.r(__webpack_exports__);
2471
2472
  /* harmony export */ OplogEntry: () => (/* binding */ OplogEntry),
2472
2473
  /* harmony export */ PSInternalTable: () => (/* binding */ PSInternalTable),
2473
2474
  /* harmony export */ PowerSyncControlCommand: () => (/* binding */ PowerSyncControlCommand),
2475
+ /* harmony export */ RawTable: () => (/* binding */ RawTable),
2474
2476
  /* harmony export */ RowUpdateType: () => (/* binding */ RowUpdateType),
2475
2477
  /* harmony export */ Schema: () => (/* binding */ Schema),
2476
2478
  /* harmony export */ SqliteBucketStorage: () => (/* binding */ SqliteBucketStorage),
@@ -2508,7 +2510,7 @@ __webpack_require__.r(__webpack_exports__);
2508
2510
  /* harmony export */ sanitizeSQL: () => (/* binding */ sanitizeSQL),
2509
2511
  /* harmony export */ sanitizeUUID: () => (/* binding */ sanitizeUUID)
2510
2512
  /* harmony export */ });
2511
- /* harmony import */ var async_mutex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! async-mutex */ "../../node_modules/async-mutex/index.mjs");
2513
+ /* harmony import */ var async_mutex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! async-mutex */ "../../node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs");
2512
2514
 
2513
2515
 
2514
2516
  function getDefaultExportFromCjs (x) {
@@ -3241,6 +3243,10 @@ class SyncStatus {
3241
3243
  priorityStatusEntries: this.priorityStatusEntries
3242
3244
  };
3243
3245
  }
3246
+ /**
3247
+ * Not all errors are serializable over a MessagePort. E.g. some `DomExceptions` fail to be passed across workers.
3248
+ * This explicitly serializes errors in the SyncStatus.
3249
+ */
3244
3250
  serializeError(error) {
3245
3251
  if (typeof error == 'undefined') {
3246
3252
  return undefined;
@@ -4594,7 +4600,7 @@ class SyncDataBucket {
4594
4600
  }
4595
4601
  }
4596
4602
 
4597
- var buffer$1 = {};
4603
+ var buffer = {};
4598
4604
 
4599
4605
  var base64Js = {};
4600
4606
 
@@ -4858,12 +4864,12 @@ function requireIeee754 () {
4858
4864
  * @license MIT
4859
4865
  */
4860
4866
 
4861
- var hasRequiredBuffer$1;
4867
+ var hasRequiredBuffer;
4862
4868
 
4863
- function requireBuffer$1 () {
4864
- if (hasRequiredBuffer$1) return buffer$1;
4865
- hasRequiredBuffer$1 = 1;
4866
- (function (exports) {
4869
+ function requireBuffer () {
4870
+ if (hasRequiredBuffer) return buffer;
4871
+ hasRequiredBuffer = 1;
4872
+ (function (exports$1) {
4867
4873
 
4868
4874
  const base64 = requireBase64Js();
4869
4875
  const ieee754 = requireIeee754();
@@ -4872,12 +4878,12 @@ function requireBuffer$1 () {
4872
4878
  ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation
4873
4879
  : null;
4874
4880
 
4875
- exports.Buffer = Buffer;
4876
- exports.SlowBuffer = SlowBuffer;
4877
- exports.INSPECT_MAX_BYTES = 50;
4881
+ exports$1.Buffer = Buffer;
4882
+ exports$1.SlowBuffer = SlowBuffer;
4883
+ exports$1.INSPECT_MAX_BYTES = 50;
4878
4884
 
4879
4885
  const K_MAX_LENGTH = 0x7fffffff;
4880
- exports.kMaxLength = K_MAX_LENGTH;
4886
+ exports$1.kMaxLength = K_MAX_LENGTH;
4881
4887
 
4882
4888
  /**
4883
4889
  * If `Buffer.TYPED_ARRAY_SUPPORT`:
@@ -5473,7 +5479,7 @@ function requireBuffer$1 () {
5473
5479
 
5474
5480
  Buffer.prototype.inspect = function inspect () {
5475
5481
  let str = '';
5476
- const max = exports.INSPECT_MAX_BYTES;
5482
+ const max = exports$1.INSPECT_MAX_BYTES;
5477
5483
  str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();
5478
5484
  if (this.length > max) str += ' ... ';
5479
5485
  return '<Buffer ' + str + '>'
@@ -6378,2018 +6384,38 @@ function requireBuffer$1 () {
6378
6384
  lo = lo >> 8;
6379
6385
  buf[offset + 5] = lo;
6380
6386
  lo = lo >> 8;
6381
- buf[offset + 4] = lo;
6382
- let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));
6383
- buf[offset + 3] = hi;
6384
- hi = hi >> 8;
6385
- buf[offset + 2] = hi;
6386
- hi = hi >> 8;
6387
- buf[offset + 1] = hi;
6388
- hi = hi >> 8;
6389
- buf[offset] = hi;
6390
- return offset + 8
6391
- }
6392
-
6393
- Buffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {
6394
- return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))
6395
- });
6396
-
6397
- Buffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {
6398
- return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))
6399
- });
6400
-
6401
- Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
6402
- value = +value;
6403
- offset = offset >>> 0;
6404
- if (!noAssert) {
6405
- const limit = Math.pow(2, (8 * byteLength) - 1);
6406
-
6407
- checkInt(this, value, offset, byteLength, limit - 1, -limit);
6408
- }
6409
-
6410
- let i = 0;
6411
- let mul = 1;
6412
- let sub = 0;
6413
- this[offset] = value & 0xFF;
6414
- while (++i < byteLength && (mul *= 0x100)) {
6415
- if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
6416
- sub = 1;
6417
- }
6418
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;
6419
- }
6420
-
6421
- return offset + byteLength
6422
- };
6423
-
6424
- Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
6425
- value = +value;
6426
- offset = offset >>> 0;
6427
- if (!noAssert) {
6428
- const limit = Math.pow(2, (8 * byteLength) - 1);
6429
-
6430
- checkInt(this, value, offset, byteLength, limit - 1, -limit);
6431
- }
6432
-
6433
- let i = byteLength - 1;
6434
- let mul = 1;
6435
- let sub = 0;
6436
- this[offset + i] = value & 0xFF;
6437
- while (--i >= 0 && (mul *= 0x100)) {
6438
- if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
6439
- sub = 1;
6440
- }
6441
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;
6442
- }
6443
-
6444
- return offset + byteLength
6445
- };
6446
-
6447
- Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
6448
- value = +value;
6449
- offset = offset >>> 0;
6450
- if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -128);
6451
- if (value < 0) value = 0xff + value + 1;
6452
- this[offset] = (value & 0xff);
6453
- return offset + 1
6454
- };
6455
-
6456
- Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
6457
- value = +value;
6458
- offset = offset >>> 0;
6459
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -32768);
6460
- this[offset] = (value & 0xff);
6461
- this[offset + 1] = (value >>> 8);
6462
- return offset + 2
6463
- };
6464
-
6465
- Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
6466
- value = +value;
6467
- offset = offset >>> 0;
6468
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -32768);
6469
- this[offset] = (value >>> 8);
6470
- this[offset + 1] = (value & 0xff);
6471
- return offset + 2
6472
- };
6473
-
6474
- Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
6475
- value = +value;
6476
- offset = offset >>> 0;
6477
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -2147483648);
6478
- this[offset] = (value & 0xff);
6479
- this[offset + 1] = (value >>> 8);
6480
- this[offset + 2] = (value >>> 16);
6481
- this[offset + 3] = (value >>> 24);
6482
- return offset + 4
6483
- };
6484
-
6485
- Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
6486
- value = +value;
6487
- offset = offset >>> 0;
6488
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -2147483648);
6489
- if (value < 0) value = 0xffffffff + value + 1;
6490
- this[offset] = (value >>> 24);
6491
- this[offset + 1] = (value >>> 16);
6492
- this[offset + 2] = (value >>> 8);
6493
- this[offset + 3] = (value & 0xff);
6494
- return offset + 4
6495
- };
6496
-
6497
- Buffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {
6498
- return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))
6499
- });
6500
-
6501
- Buffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {
6502
- return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))
6503
- });
6504
-
6505
- function checkIEEE754 (buf, value, offset, ext, max, min) {
6506
- if (offset + ext > buf.length) throw new RangeError('Index out of range')
6507
- if (offset < 0) throw new RangeError('Index out of range')
6508
- }
6509
-
6510
- function writeFloat (buf, value, offset, littleEndian, noAssert) {
6511
- value = +value;
6512
- offset = offset >>> 0;
6513
- if (!noAssert) {
6514
- checkIEEE754(buf, value, offset, 4);
6515
- }
6516
- ieee754.write(buf, value, offset, littleEndian, 23, 4);
6517
- return offset + 4
6518
- }
6519
-
6520
- Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
6521
- return writeFloat(this, value, offset, true, noAssert)
6522
- };
6523
-
6524
- Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
6525
- return writeFloat(this, value, offset, false, noAssert)
6526
- };
6527
-
6528
- function writeDouble (buf, value, offset, littleEndian, noAssert) {
6529
- value = +value;
6530
- offset = offset >>> 0;
6531
- if (!noAssert) {
6532
- checkIEEE754(buf, value, offset, 8);
6533
- }
6534
- ieee754.write(buf, value, offset, littleEndian, 52, 8);
6535
- return offset + 8
6536
- }
6537
-
6538
- Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
6539
- return writeDouble(this, value, offset, true, noAssert)
6540
- };
6541
-
6542
- Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
6543
- return writeDouble(this, value, offset, false, noAssert)
6544
- };
6545
-
6546
- // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
6547
- Buffer.prototype.copy = function copy (target, targetStart, start, end) {
6548
- if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')
6549
- if (!start) start = 0;
6550
- if (!end && end !== 0) end = this.length;
6551
- if (targetStart >= target.length) targetStart = target.length;
6552
- if (!targetStart) targetStart = 0;
6553
- if (end > 0 && end < start) end = start;
6554
-
6555
- // Copy 0 bytes; we're done
6556
- if (end === start) return 0
6557
- if (target.length === 0 || this.length === 0) return 0
6558
-
6559
- // Fatal error conditions
6560
- if (targetStart < 0) {
6561
- throw new RangeError('targetStart out of bounds')
6562
- }
6563
- if (start < 0 || start >= this.length) throw new RangeError('Index out of range')
6564
- if (end < 0) throw new RangeError('sourceEnd out of bounds')
6565
-
6566
- // Are we oob?
6567
- if (end > this.length) end = this.length;
6568
- if (target.length - targetStart < end - start) {
6569
- end = target.length - targetStart + start;
6570
- }
6571
-
6572
- const len = end - start;
6573
-
6574
- if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {
6575
- // Use built-in when available, missing from IE11
6576
- this.copyWithin(targetStart, start, end);
6577
- } else {
6578
- Uint8Array.prototype.set.call(
6579
- target,
6580
- this.subarray(start, end),
6581
- targetStart
6582
- );
6583
- }
6584
-
6585
- return len
6586
- };
6587
-
6588
- // Usage:
6589
- // buffer.fill(number[, offset[, end]])
6590
- // buffer.fill(buffer[, offset[, end]])
6591
- // buffer.fill(string[, offset[, end]][, encoding])
6592
- Buffer.prototype.fill = function fill (val, start, end, encoding) {
6593
- // Handle string cases:
6594
- if (typeof val === 'string') {
6595
- if (typeof start === 'string') {
6596
- encoding = start;
6597
- start = 0;
6598
- end = this.length;
6599
- } else if (typeof end === 'string') {
6600
- encoding = end;
6601
- end = this.length;
6602
- }
6603
- if (encoding !== undefined && typeof encoding !== 'string') {
6604
- throw new TypeError('encoding must be a string')
6605
- }
6606
- if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
6607
- throw new TypeError('Unknown encoding: ' + encoding)
6608
- }
6609
- if (val.length === 1) {
6610
- const code = val.charCodeAt(0);
6611
- if ((encoding === 'utf8' && code < 128) ||
6612
- encoding === 'latin1') {
6613
- // Fast path: If `val` fits into a single byte, use that numeric value.
6614
- val = code;
6615
- }
6616
- }
6617
- } else if (typeof val === 'number') {
6618
- val = val & 255;
6619
- } else if (typeof val === 'boolean') {
6620
- val = Number(val);
6621
- }
6622
-
6623
- // Invalid ranges are not set to a default, so can range check early.
6624
- if (start < 0 || this.length < start || this.length < end) {
6625
- throw new RangeError('Out of range index')
6626
- }
6627
-
6628
- if (end <= start) {
6629
- return this
6630
- }
6631
-
6632
- start = start >>> 0;
6633
- end = end === undefined ? this.length : end >>> 0;
6634
-
6635
- if (!val) val = 0;
6636
-
6637
- let i;
6638
- if (typeof val === 'number') {
6639
- for (i = start; i < end; ++i) {
6640
- this[i] = val;
6641
- }
6642
- } else {
6643
- const bytes = Buffer.isBuffer(val)
6644
- ? val
6645
- : Buffer.from(val, encoding);
6646
- const len = bytes.length;
6647
- if (len === 0) {
6648
- throw new TypeError('The value "' + val +
6649
- '" is invalid for argument "value"')
6650
- }
6651
- for (i = 0; i < end - start; ++i) {
6652
- this[i + start] = bytes[i % len];
6653
- }
6654
- }
6655
-
6656
- return this
6657
- };
6658
-
6659
- // CUSTOM ERRORS
6660
- // =============
6661
-
6662
- // Simplified versions from Node, changed for Buffer-only usage
6663
- const errors = {};
6664
- function E (sym, getMessage, Base) {
6665
- errors[sym] = class NodeError extends Base {
6666
- constructor () {
6667
- super();
6668
-
6669
- Object.defineProperty(this, 'message', {
6670
- value: getMessage.apply(this, arguments),
6671
- writable: true,
6672
- configurable: true
6673
- });
6674
-
6675
- // Add the error code to the name to include it in the stack trace.
6676
- this.name = `${this.name} [${sym}]`;
6677
- // Access the stack to generate the error message including the error code
6678
- // from the name.
6679
- this.stack; // eslint-disable-line no-unused-expressions
6680
- // Reset the name to the actual name.
6681
- delete this.name;
6682
- }
6683
-
6684
- get code () {
6685
- return sym
6686
- }
6687
-
6688
- set code (value) {
6689
- Object.defineProperty(this, 'code', {
6690
- configurable: true,
6691
- enumerable: true,
6692
- value,
6693
- writable: true
6694
- });
6695
- }
6696
-
6697
- toString () {
6698
- return `${this.name} [${sym}]: ${this.message}`
6699
- }
6700
- };
6701
- }
6702
-
6703
- E('ERR_BUFFER_OUT_OF_BOUNDS',
6704
- function (name) {
6705
- if (name) {
6706
- return `${name} is outside of buffer bounds`
6707
- }
6708
-
6709
- return 'Attempt to access memory outside buffer bounds'
6710
- }, RangeError);
6711
- E('ERR_INVALID_ARG_TYPE',
6712
- function (name, actual) {
6713
- return `The "${name}" argument must be of type number. Received type ${typeof actual}`
6714
- }, TypeError);
6715
- E('ERR_OUT_OF_RANGE',
6716
- function (str, range, input) {
6717
- let msg = `The value of "${str}" is out of range.`;
6718
- let received = input;
6719
- if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
6720
- received = addNumericalSeparator(String(input));
6721
- } else if (typeof input === 'bigint') {
6722
- received = String(input);
6723
- if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {
6724
- received = addNumericalSeparator(received);
6725
- }
6726
- received += 'n';
6727
- }
6728
- msg += ` It must be ${range}. Received ${received}`;
6729
- return msg
6730
- }, RangeError);
6731
-
6732
- function addNumericalSeparator (val) {
6733
- let res = '';
6734
- let i = val.length;
6735
- const start = val[0] === '-' ? 1 : 0;
6736
- for (; i >= start + 4; i -= 3) {
6737
- res = `_${val.slice(i - 3, i)}${res}`;
6738
- }
6739
- return `${val.slice(0, i)}${res}`
6740
- }
6741
-
6742
- // CHECK FUNCTIONS
6743
- // ===============
6744
-
6745
- function checkBounds (buf, offset, byteLength) {
6746
- validateNumber(offset, 'offset');
6747
- if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {
6748
- boundsError(offset, buf.length - (byteLength + 1));
6749
- }
6750
- }
6751
-
6752
- function checkIntBI (value, min, max, buf, offset, byteLength) {
6753
- if (value > max || value < min) {
6754
- const n = typeof min === 'bigint' ? 'n' : '';
6755
- let range;
6756
- {
6757
- if (min === 0 || min === BigInt(0)) {
6758
- range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;
6759
- } else {
6760
- range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +
6761
- `${(byteLength + 1) * 8 - 1}${n}`;
6762
- }
6763
- }
6764
- throw new errors.ERR_OUT_OF_RANGE('value', range, value)
6765
- }
6766
- checkBounds(buf, offset, byteLength);
6767
- }
6768
-
6769
- function validateNumber (value, name) {
6770
- if (typeof value !== 'number') {
6771
- throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)
6772
- }
6773
- }
6774
-
6775
- function boundsError (value, length, type) {
6776
- if (Math.floor(value) !== value) {
6777
- validateNumber(value, type);
6778
- throw new errors.ERR_OUT_OF_RANGE('offset', 'an integer', value)
6779
- }
6780
-
6781
- if (length < 0) {
6782
- throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()
6783
- }
6784
-
6785
- throw new errors.ERR_OUT_OF_RANGE('offset',
6786
- `>= ${0} and <= ${length}`,
6787
- value)
6788
- }
6789
-
6790
- // HELPER FUNCTIONS
6791
- // ================
6792
-
6793
- const INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;
6794
-
6795
- function base64clean (str) {
6796
- // Node takes equal signs as end of the Base64 encoding
6797
- str = str.split('=')[0];
6798
- // Node strips out invalid characters like \n and \t from the string, base64-js does not
6799
- str = str.trim().replace(INVALID_BASE64_RE, '');
6800
- // Node converts strings with length < 2 to ''
6801
- if (str.length < 2) return ''
6802
- // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
6803
- while (str.length % 4 !== 0) {
6804
- str = str + '=';
6805
- }
6806
- return str
6807
- }
6808
-
6809
- function utf8ToBytes (string, units) {
6810
- units = units || Infinity;
6811
- let codePoint;
6812
- const length = string.length;
6813
- let leadSurrogate = null;
6814
- const bytes = [];
6815
-
6816
- for (let i = 0; i < length; ++i) {
6817
- codePoint = string.charCodeAt(i);
6818
-
6819
- // is surrogate component
6820
- if (codePoint > 0xD7FF && codePoint < 0xE000) {
6821
- // last char was a lead
6822
- if (!leadSurrogate) {
6823
- // no lead yet
6824
- if (codePoint > 0xDBFF) {
6825
- // unexpected trail
6826
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
6827
- continue
6828
- } else if (i + 1 === length) {
6829
- // unpaired lead
6830
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
6831
- continue
6832
- }
6833
-
6834
- // valid lead
6835
- leadSurrogate = codePoint;
6836
-
6837
- continue
6838
- }
6839
-
6840
- // 2 leads in a row
6841
- if (codePoint < 0xDC00) {
6842
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
6843
- leadSurrogate = codePoint;
6844
- continue
6845
- }
6846
-
6847
- // valid surrogate pair
6848
- codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;
6849
- } else if (leadSurrogate) {
6850
- // valid bmp char, but last char was a lead
6851
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
6852
- }
6853
-
6854
- leadSurrogate = null;
6855
-
6856
- // encode utf8
6857
- if (codePoint < 0x80) {
6858
- if ((units -= 1) < 0) break
6859
- bytes.push(codePoint);
6860
- } else if (codePoint < 0x800) {
6861
- if ((units -= 2) < 0) break
6862
- bytes.push(
6863
- codePoint >> 0x6 | 0xC0,
6864
- codePoint & 0x3F | 0x80
6865
- );
6866
- } else if (codePoint < 0x10000) {
6867
- if ((units -= 3) < 0) break
6868
- bytes.push(
6869
- codePoint >> 0xC | 0xE0,
6870
- codePoint >> 0x6 & 0x3F | 0x80,
6871
- codePoint & 0x3F | 0x80
6872
- );
6873
- } else if (codePoint < 0x110000) {
6874
- if ((units -= 4) < 0) break
6875
- bytes.push(
6876
- codePoint >> 0x12 | 0xF0,
6877
- codePoint >> 0xC & 0x3F | 0x80,
6878
- codePoint >> 0x6 & 0x3F | 0x80,
6879
- codePoint & 0x3F | 0x80
6880
- );
6881
- } else {
6882
- throw new Error('Invalid code point')
6883
- }
6884
- }
6885
-
6886
- return bytes
6887
- }
6888
-
6889
- function asciiToBytes (str) {
6890
- const byteArray = [];
6891
- for (let i = 0; i < str.length; ++i) {
6892
- // Node's code seems to be doing this and not & 0x7F..
6893
- byteArray.push(str.charCodeAt(i) & 0xFF);
6894
- }
6895
- return byteArray
6896
- }
6897
-
6898
- function utf16leToBytes (str, units) {
6899
- let c, hi, lo;
6900
- const byteArray = [];
6901
- for (let i = 0; i < str.length; ++i) {
6902
- if ((units -= 2) < 0) break
6903
-
6904
- c = str.charCodeAt(i);
6905
- hi = c >> 8;
6906
- lo = c % 256;
6907
- byteArray.push(lo);
6908
- byteArray.push(hi);
6909
- }
6910
-
6911
- return byteArray
6912
- }
6913
-
6914
- function base64ToBytes (str) {
6915
- return base64.toByteArray(base64clean(str))
6916
- }
6917
-
6918
- function blitBuffer (src, dst, offset, length) {
6919
- let i;
6920
- for (i = 0; i < length; ++i) {
6921
- if ((i + offset >= dst.length) || (i >= src.length)) break
6922
- dst[i + offset] = src[i];
6923
- }
6924
- return i
6925
- }
6926
-
6927
- // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass
6928
- // the `instanceof` check but they should be treated as of that type.
6929
- // See: https://github.com/feross/buffer/issues/166
6930
- function isInstance (obj, type) {
6931
- return obj instanceof type ||
6932
- (obj != null && obj.constructor != null && obj.constructor.name != null &&
6933
- obj.constructor.name === type.name)
6934
- }
6935
- function numberIsNaN (obj) {
6936
- // For IE11 support
6937
- return obj !== obj // eslint-disable-line no-self-compare
6938
- }
6939
-
6940
- // Create lookup table for `toString('hex')`
6941
- // See: https://github.com/feross/buffer/issues/219
6942
- const hexSliceLookupTable = (function () {
6943
- const alphabet = '0123456789abcdef';
6944
- const table = new Array(256);
6945
- for (let i = 0; i < 16; ++i) {
6946
- const i16 = i * 16;
6947
- for (let j = 0; j < 16; ++j) {
6948
- table[i16 + j] = alphabet[i] + alphabet[j];
6949
- }
6950
- }
6951
- return table
6952
- })();
6953
-
6954
- // Return not function with Error if BigInt not supported
6955
- function defineBigIntMethod (fn) {
6956
- return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn
6957
- }
6958
-
6959
- function BufferBigIntNotDefined () {
6960
- throw new Error('BigInt not supported')
6961
- }
6962
- } (buffer$1));
6963
- return buffer$1;
6964
- }
6965
-
6966
- var bufferExports$1 = requireBuffer$1();
6967
-
6968
- var dist = {};
6969
-
6970
- var buffer = {};
6971
-
6972
- /*!
6973
- * The buffer module from node.js, for the browser.
6974
- *
6975
- * @author Feross Aboukhadijeh <https://feross.org>
6976
- * @license MIT
6977
- */
6978
-
6979
- var hasRequiredBuffer;
6980
-
6981
- function requireBuffer () {
6982
- if (hasRequiredBuffer) return buffer;
6983
- hasRequiredBuffer = 1;
6984
- (function (exports) {
6985
-
6986
- var base64 = requireBase64Js();
6987
- var ieee754 = requireIeee754();
6988
- var customInspectSymbol =
6989
- (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation
6990
- ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation
6991
- : null;
6992
-
6993
- exports.Buffer = Buffer;
6994
- exports.SlowBuffer = SlowBuffer;
6995
- exports.INSPECT_MAX_BYTES = 50;
6996
-
6997
- var K_MAX_LENGTH = 0x7fffffff;
6998
- exports.kMaxLength = K_MAX_LENGTH;
6999
-
7000
- /**
7001
- * If `Buffer.TYPED_ARRAY_SUPPORT`:
7002
- * === true Use Uint8Array implementation (fastest)
7003
- * === false Print warning and recommend using `buffer` v4.x which has an Object
7004
- * implementation (most compatible, even IE6)
7005
- *
7006
- * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
7007
- * Opera 11.6+, iOS 4.2+.
7008
- *
7009
- * We report that the browser does not support typed arrays if the are not subclassable
7010
- * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`
7011
- * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support
7012
- * for __proto__ and has a buggy typed array implementation.
7013
- */
7014
- Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport();
7015
-
7016
- if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&
7017
- typeof console.error === 'function') {
7018
- console.error(
7019
- 'This browser lacks typed array (Uint8Array) support which is required by ' +
7020
- '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'
7021
- );
7022
- }
7023
-
7024
- function typedArraySupport () {
7025
- // Can typed array instances can be augmented?
7026
- try {
7027
- var arr = new Uint8Array(1);
7028
- var proto = { foo: function () { return 42 } };
7029
- Object.setPrototypeOf(proto, Uint8Array.prototype);
7030
- Object.setPrototypeOf(arr, proto);
7031
- return arr.foo() === 42
7032
- } catch (e) {
7033
- return false
7034
- }
7035
- }
7036
-
7037
- Object.defineProperty(Buffer.prototype, 'parent', {
7038
- enumerable: true,
7039
- get: function () {
7040
- if (!Buffer.isBuffer(this)) return undefined
7041
- return this.buffer
7042
- }
7043
- });
7044
-
7045
- Object.defineProperty(Buffer.prototype, 'offset', {
7046
- enumerable: true,
7047
- get: function () {
7048
- if (!Buffer.isBuffer(this)) return undefined
7049
- return this.byteOffset
7050
- }
7051
- });
7052
-
7053
- function createBuffer (length) {
7054
- if (length > K_MAX_LENGTH) {
7055
- throw new RangeError('The value "' + length + '" is invalid for option "size"')
7056
- }
7057
- // Return an augmented `Uint8Array` instance
7058
- var buf = new Uint8Array(length);
7059
- Object.setPrototypeOf(buf, Buffer.prototype);
7060
- return buf
7061
- }
7062
-
7063
- /**
7064
- * The Buffer constructor returns instances of `Uint8Array` that have their
7065
- * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
7066
- * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
7067
- * and the `Uint8Array` methods. Square bracket notation works as expected -- it
7068
- * returns a single octet.
7069
- *
7070
- * The `Uint8Array` prototype remains unmodified.
7071
- */
7072
-
7073
- function Buffer (arg, encodingOrOffset, length) {
7074
- // Common case.
7075
- if (typeof arg === 'number') {
7076
- if (typeof encodingOrOffset === 'string') {
7077
- throw new TypeError(
7078
- 'The "string" argument must be of type string. Received type number'
7079
- )
7080
- }
7081
- return allocUnsafe(arg)
7082
- }
7083
- return from(arg, encodingOrOffset, length)
7084
- }
7085
-
7086
- Buffer.poolSize = 8192; // not used by this implementation
7087
-
7088
- function from (value, encodingOrOffset, length) {
7089
- if (typeof value === 'string') {
7090
- return fromString(value, encodingOrOffset)
7091
- }
7092
-
7093
- if (ArrayBuffer.isView(value)) {
7094
- return fromArrayView(value)
7095
- }
7096
-
7097
- if (value == null) {
7098
- throw new TypeError(
7099
- 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
7100
- 'or Array-like Object. Received type ' + (typeof value)
7101
- )
7102
- }
7103
-
7104
- if (isInstance(value, ArrayBuffer) ||
7105
- (value && isInstance(value.buffer, ArrayBuffer))) {
7106
- return fromArrayBuffer(value, encodingOrOffset, length)
7107
- }
7108
-
7109
- if (typeof SharedArrayBuffer !== 'undefined' &&
7110
- (isInstance(value, SharedArrayBuffer) ||
7111
- (value && isInstance(value.buffer, SharedArrayBuffer)))) {
7112
- return fromArrayBuffer(value, encodingOrOffset, length)
7113
- }
7114
-
7115
- if (typeof value === 'number') {
7116
- throw new TypeError(
7117
- 'The "value" argument must not be of type number. Received type number'
7118
- )
7119
- }
7120
-
7121
- var valueOf = value.valueOf && value.valueOf();
7122
- if (valueOf != null && valueOf !== value) {
7123
- return Buffer.from(valueOf, encodingOrOffset, length)
7124
- }
7125
-
7126
- var b = fromObject(value);
7127
- if (b) return b
7128
-
7129
- if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&
7130
- typeof value[Symbol.toPrimitive] === 'function') {
7131
- return Buffer.from(
7132
- value[Symbol.toPrimitive]('string'), encodingOrOffset, length
7133
- )
7134
- }
7135
-
7136
- throw new TypeError(
7137
- 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
7138
- 'or Array-like Object. Received type ' + (typeof value)
7139
- )
7140
- }
7141
-
7142
- /**
7143
- * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
7144
- * if value is a number.
7145
- * Buffer.from(str[, encoding])
7146
- * Buffer.from(array)
7147
- * Buffer.from(buffer)
7148
- * Buffer.from(arrayBuffer[, byteOffset[, length]])
7149
- **/
7150
- Buffer.from = function (value, encodingOrOffset, length) {
7151
- return from(value, encodingOrOffset, length)
7152
- };
7153
-
7154
- // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:
7155
- // https://github.com/feross/buffer/pull/148
7156
- Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);
7157
- Object.setPrototypeOf(Buffer, Uint8Array);
7158
-
7159
- function assertSize (size) {
7160
- if (typeof size !== 'number') {
7161
- throw new TypeError('"size" argument must be of type number')
7162
- } else if (size < 0) {
7163
- throw new RangeError('The value "' + size + '" is invalid for option "size"')
7164
- }
7165
- }
7166
-
7167
- function alloc (size, fill, encoding) {
7168
- assertSize(size);
7169
- if (size <= 0) {
7170
- return createBuffer(size)
7171
- }
7172
- if (fill !== undefined) {
7173
- // Only pay attention to encoding if it's a string. This
7174
- // prevents accidentally sending in a number that would
7175
- // be interpreted as a start offset.
7176
- return typeof encoding === 'string'
7177
- ? createBuffer(size).fill(fill, encoding)
7178
- : createBuffer(size).fill(fill)
7179
- }
7180
- return createBuffer(size)
7181
- }
7182
-
7183
- /**
7184
- * Creates a new filled Buffer instance.
7185
- * alloc(size[, fill[, encoding]])
7186
- **/
7187
- Buffer.alloc = function (size, fill, encoding) {
7188
- return alloc(size, fill, encoding)
7189
- };
7190
-
7191
- function allocUnsafe (size) {
7192
- assertSize(size);
7193
- return createBuffer(size < 0 ? 0 : checked(size) | 0)
7194
- }
7195
-
7196
- /**
7197
- * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
7198
- * */
7199
- Buffer.allocUnsafe = function (size) {
7200
- return allocUnsafe(size)
7201
- };
7202
- /**
7203
- * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
7204
- */
7205
- Buffer.allocUnsafeSlow = function (size) {
7206
- return allocUnsafe(size)
7207
- };
7208
-
7209
- function fromString (string, encoding) {
7210
- if (typeof encoding !== 'string' || encoding === '') {
7211
- encoding = 'utf8';
7212
- }
7213
-
7214
- if (!Buffer.isEncoding(encoding)) {
7215
- throw new TypeError('Unknown encoding: ' + encoding)
7216
- }
7217
-
7218
- var length = byteLength(string, encoding) | 0;
7219
- var buf = createBuffer(length);
7220
-
7221
- var actual = buf.write(string, encoding);
7222
-
7223
- if (actual !== length) {
7224
- // Writing a hex string, for example, that contains invalid characters will
7225
- // cause everything after the first invalid character to be ignored. (e.g.
7226
- // 'abxxcd' will be treated as 'ab')
7227
- buf = buf.slice(0, actual);
7228
- }
7229
-
7230
- return buf
7231
- }
7232
-
7233
- function fromArrayLike (array) {
7234
- var length = array.length < 0 ? 0 : checked(array.length) | 0;
7235
- var buf = createBuffer(length);
7236
- for (var i = 0; i < length; i += 1) {
7237
- buf[i] = array[i] & 255;
7238
- }
7239
- return buf
7240
- }
7241
-
7242
- function fromArrayView (arrayView) {
7243
- if (isInstance(arrayView, Uint8Array)) {
7244
- var copy = new Uint8Array(arrayView);
7245
- return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)
7246
- }
7247
- return fromArrayLike(arrayView)
7248
- }
7249
-
7250
- function fromArrayBuffer (array, byteOffset, length) {
7251
- if (byteOffset < 0 || array.byteLength < byteOffset) {
7252
- throw new RangeError('"offset" is outside of buffer bounds')
7253
- }
7254
-
7255
- if (array.byteLength < byteOffset + (length || 0)) {
7256
- throw new RangeError('"length" is outside of buffer bounds')
7257
- }
7258
-
7259
- var buf;
7260
- if (byteOffset === undefined && length === undefined) {
7261
- buf = new Uint8Array(array);
7262
- } else if (length === undefined) {
7263
- buf = new Uint8Array(array, byteOffset);
7264
- } else {
7265
- buf = new Uint8Array(array, byteOffset, length);
7266
- }
7267
-
7268
- // Return an augmented `Uint8Array` instance
7269
- Object.setPrototypeOf(buf, Buffer.prototype);
7270
-
7271
- return buf
7272
- }
7273
-
7274
- function fromObject (obj) {
7275
- if (Buffer.isBuffer(obj)) {
7276
- var len = checked(obj.length) | 0;
7277
- var buf = createBuffer(len);
7278
-
7279
- if (buf.length === 0) {
7280
- return buf
7281
- }
7282
-
7283
- obj.copy(buf, 0, 0, len);
7284
- return buf
7285
- }
7286
-
7287
- if (obj.length !== undefined) {
7288
- if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {
7289
- return createBuffer(0)
7290
- }
7291
- return fromArrayLike(obj)
7292
- }
7293
-
7294
- if (obj.type === 'Buffer' && Array.isArray(obj.data)) {
7295
- return fromArrayLike(obj.data)
7296
- }
7297
- }
7298
-
7299
- function checked (length) {
7300
- // Note: cannot use `length < K_MAX_LENGTH` here because that fails when
7301
- // length is NaN (which is otherwise coerced to zero.)
7302
- if (length >= K_MAX_LENGTH) {
7303
- throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
7304
- 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')
7305
- }
7306
- return length | 0
7307
- }
7308
-
7309
- function SlowBuffer (length) {
7310
- if (+length != length) { // eslint-disable-line eqeqeq
7311
- length = 0;
7312
- }
7313
- return Buffer.alloc(+length)
7314
- }
7315
-
7316
- Buffer.isBuffer = function isBuffer (b) {
7317
- return b != null && b._isBuffer === true &&
7318
- b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false
7319
- };
7320
-
7321
- Buffer.compare = function compare (a, b) {
7322
- if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);
7323
- if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);
7324
- if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
7325
- throw new TypeError(
7326
- 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'
7327
- )
7328
- }
7329
-
7330
- if (a === b) return 0
7331
-
7332
- var x = a.length;
7333
- var y = b.length;
7334
-
7335
- for (var i = 0, len = Math.min(x, y); i < len; ++i) {
7336
- if (a[i] !== b[i]) {
7337
- x = a[i];
7338
- y = b[i];
7339
- break
7340
- }
7341
- }
7342
-
7343
- if (x < y) return -1
7344
- if (y < x) return 1
7345
- return 0
7346
- };
7347
-
7348
- Buffer.isEncoding = function isEncoding (encoding) {
7349
- switch (String(encoding).toLowerCase()) {
7350
- case 'hex':
7351
- case 'utf8':
7352
- case 'utf-8':
7353
- case 'ascii':
7354
- case 'latin1':
7355
- case 'binary':
7356
- case 'base64':
7357
- case 'ucs2':
7358
- case 'ucs-2':
7359
- case 'utf16le':
7360
- case 'utf-16le':
7361
- return true
7362
- default:
7363
- return false
7364
- }
7365
- };
7366
-
7367
- Buffer.concat = function concat (list, length) {
7368
- if (!Array.isArray(list)) {
7369
- throw new TypeError('"list" argument must be an Array of Buffers')
7370
- }
7371
-
7372
- if (list.length === 0) {
7373
- return Buffer.alloc(0)
7374
- }
7375
-
7376
- var i;
7377
- if (length === undefined) {
7378
- length = 0;
7379
- for (i = 0; i < list.length; ++i) {
7380
- length += list[i].length;
7381
- }
7382
- }
7383
-
7384
- var buffer = Buffer.allocUnsafe(length);
7385
- var pos = 0;
7386
- for (i = 0; i < list.length; ++i) {
7387
- var buf = list[i];
7388
- if (isInstance(buf, Uint8Array)) {
7389
- if (pos + buf.length > buffer.length) {
7390
- Buffer.from(buf).copy(buffer, pos);
7391
- } else {
7392
- Uint8Array.prototype.set.call(
7393
- buffer,
7394
- buf,
7395
- pos
7396
- );
7397
- }
7398
- } else if (!Buffer.isBuffer(buf)) {
7399
- throw new TypeError('"list" argument must be an Array of Buffers')
7400
- } else {
7401
- buf.copy(buffer, pos);
7402
- }
7403
- pos += buf.length;
7404
- }
7405
- return buffer
7406
- };
7407
-
7408
- function byteLength (string, encoding) {
7409
- if (Buffer.isBuffer(string)) {
7410
- return string.length
7411
- }
7412
- if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {
7413
- return string.byteLength
7414
- }
7415
- if (typeof string !== 'string') {
7416
- throw new TypeError(
7417
- 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' +
7418
- 'Received type ' + typeof string
7419
- )
7420
- }
7421
-
7422
- var len = string.length;
7423
- var mustMatch = (arguments.length > 2 && arguments[2] === true);
7424
- if (!mustMatch && len === 0) return 0
7425
-
7426
- // Use a for loop to avoid recursion
7427
- var loweredCase = false;
7428
- for (;;) {
7429
- switch (encoding) {
7430
- case 'ascii':
7431
- case 'latin1':
7432
- case 'binary':
7433
- return len
7434
- case 'utf8':
7435
- case 'utf-8':
7436
- return utf8ToBytes(string).length
7437
- case 'ucs2':
7438
- case 'ucs-2':
7439
- case 'utf16le':
7440
- case 'utf-16le':
7441
- return len * 2
7442
- case 'hex':
7443
- return len >>> 1
7444
- case 'base64':
7445
- return base64ToBytes(string).length
7446
- default:
7447
- if (loweredCase) {
7448
- return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8
7449
- }
7450
- encoding = ('' + encoding).toLowerCase();
7451
- loweredCase = true;
7452
- }
7453
- }
7454
- }
7455
- Buffer.byteLength = byteLength;
7456
-
7457
- function slowToString (encoding, start, end) {
7458
- var loweredCase = false;
7459
-
7460
- // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
7461
- // property of a typed array.
7462
-
7463
- // This behaves neither like String nor Uint8Array in that we set start/end
7464
- // to their upper/lower bounds if the value passed is out of range.
7465
- // undefined is handled specially as per ECMA-262 6th Edition,
7466
- // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
7467
- if (start === undefined || start < 0) {
7468
- start = 0;
7469
- }
7470
- // Return early if start > this.length. Done here to prevent potential uint32
7471
- // coercion fail below.
7472
- if (start > this.length) {
7473
- return ''
7474
- }
7475
-
7476
- if (end === undefined || end > this.length) {
7477
- end = this.length;
7478
- }
7479
-
7480
- if (end <= 0) {
7481
- return ''
7482
- }
7483
-
7484
- // Force coercion to uint32. This will also coerce falsey/NaN values to 0.
7485
- end >>>= 0;
7486
- start >>>= 0;
7487
-
7488
- if (end <= start) {
7489
- return ''
7490
- }
7491
-
7492
- if (!encoding) encoding = 'utf8';
7493
-
7494
- while (true) {
7495
- switch (encoding) {
7496
- case 'hex':
7497
- return hexSlice(this, start, end)
7498
-
7499
- case 'utf8':
7500
- case 'utf-8':
7501
- return utf8Slice(this, start, end)
7502
-
7503
- case 'ascii':
7504
- return asciiSlice(this, start, end)
7505
-
7506
- case 'latin1':
7507
- case 'binary':
7508
- return latin1Slice(this, start, end)
7509
-
7510
- case 'base64':
7511
- return base64Slice(this, start, end)
7512
-
7513
- case 'ucs2':
7514
- case 'ucs-2':
7515
- case 'utf16le':
7516
- case 'utf-16le':
7517
- return utf16leSlice(this, start, end)
7518
-
7519
- default:
7520
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
7521
- encoding = (encoding + '').toLowerCase();
7522
- loweredCase = true;
7523
- }
7524
- }
7525
- }
7526
-
7527
- // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)
7528
- // to detect a Buffer instance. It's not possible to use `instanceof Buffer`
7529
- // reliably in a browserify context because there could be multiple different
7530
- // copies of the 'buffer' package in use. This method works even for Buffer
7531
- // instances that were created from another copy of the `buffer` package.
7532
- // See: https://github.com/feross/buffer/issues/154
7533
- Buffer.prototype._isBuffer = true;
7534
-
7535
- function swap (b, n, m) {
7536
- var i = b[n];
7537
- b[n] = b[m];
7538
- b[m] = i;
7539
- }
7540
-
7541
- Buffer.prototype.swap16 = function swap16 () {
7542
- var len = this.length;
7543
- if (len % 2 !== 0) {
7544
- throw new RangeError('Buffer size must be a multiple of 16-bits')
7545
- }
7546
- for (var i = 0; i < len; i += 2) {
7547
- swap(this, i, i + 1);
7548
- }
7549
- return this
7550
- };
7551
-
7552
- Buffer.prototype.swap32 = function swap32 () {
7553
- var len = this.length;
7554
- if (len % 4 !== 0) {
7555
- throw new RangeError('Buffer size must be a multiple of 32-bits')
7556
- }
7557
- for (var i = 0; i < len; i += 4) {
7558
- swap(this, i, i + 3);
7559
- swap(this, i + 1, i + 2);
7560
- }
7561
- return this
7562
- };
7563
-
7564
- Buffer.prototype.swap64 = function swap64 () {
7565
- var len = this.length;
7566
- if (len % 8 !== 0) {
7567
- throw new RangeError('Buffer size must be a multiple of 64-bits')
7568
- }
7569
- for (var i = 0; i < len; i += 8) {
7570
- swap(this, i, i + 7);
7571
- swap(this, i + 1, i + 6);
7572
- swap(this, i + 2, i + 5);
7573
- swap(this, i + 3, i + 4);
7574
- }
7575
- return this
7576
- };
7577
-
7578
- Buffer.prototype.toString = function toString () {
7579
- var length = this.length;
7580
- if (length === 0) return ''
7581
- if (arguments.length === 0) return utf8Slice(this, 0, length)
7582
- return slowToString.apply(this, arguments)
7583
- };
7584
-
7585
- Buffer.prototype.toLocaleString = Buffer.prototype.toString;
7586
-
7587
- Buffer.prototype.equals = function equals (b) {
7588
- if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
7589
- if (this === b) return true
7590
- return Buffer.compare(this, b) === 0
7591
- };
7592
-
7593
- Buffer.prototype.inspect = function inspect () {
7594
- var str = '';
7595
- var max = exports.INSPECT_MAX_BYTES;
7596
- str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();
7597
- if (this.length > max) str += ' ... ';
7598
- return '<Buffer ' + str + '>'
7599
- };
7600
- if (customInspectSymbol) {
7601
- Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;
7602
- }
7603
-
7604
- Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
7605
- if (isInstance(target, Uint8Array)) {
7606
- target = Buffer.from(target, target.offset, target.byteLength);
7607
- }
7608
- if (!Buffer.isBuffer(target)) {
7609
- throw new TypeError(
7610
- 'The "target" argument must be one of type Buffer or Uint8Array. ' +
7611
- 'Received type ' + (typeof target)
7612
- )
7613
- }
7614
-
7615
- if (start === undefined) {
7616
- start = 0;
7617
- }
7618
- if (end === undefined) {
7619
- end = target ? target.length : 0;
7620
- }
7621
- if (thisStart === undefined) {
7622
- thisStart = 0;
7623
- }
7624
- if (thisEnd === undefined) {
7625
- thisEnd = this.length;
7626
- }
7627
-
7628
- if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
7629
- throw new RangeError('out of range index')
7630
- }
7631
-
7632
- if (thisStart >= thisEnd && start >= end) {
7633
- return 0
7634
- }
7635
- if (thisStart >= thisEnd) {
7636
- return -1
7637
- }
7638
- if (start >= end) {
7639
- return 1
7640
- }
7641
-
7642
- start >>>= 0;
7643
- end >>>= 0;
7644
- thisStart >>>= 0;
7645
- thisEnd >>>= 0;
7646
-
7647
- if (this === target) return 0
7648
-
7649
- var x = thisEnd - thisStart;
7650
- var y = end - start;
7651
- var len = Math.min(x, y);
7652
-
7653
- var thisCopy = this.slice(thisStart, thisEnd);
7654
- var targetCopy = target.slice(start, end);
7655
-
7656
- for (var i = 0; i < len; ++i) {
7657
- if (thisCopy[i] !== targetCopy[i]) {
7658
- x = thisCopy[i];
7659
- y = targetCopy[i];
7660
- break
7661
- }
7662
- }
7663
-
7664
- if (x < y) return -1
7665
- if (y < x) return 1
7666
- return 0
7667
- };
7668
-
7669
- // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
7670
- // OR the last index of `val` in `buffer` at offset <= `byteOffset`.
7671
- //
7672
- // Arguments:
7673
- // - buffer - a Buffer to search
7674
- // - val - a string, Buffer, or number
7675
- // - byteOffset - an index into `buffer`; will be clamped to an int32
7676
- // - encoding - an optional encoding, relevant is val is a string
7677
- // - dir - true for indexOf, false for lastIndexOf
7678
- function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
7679
- // Empty buffer means no match
7680
- if (buffer.length === 0) return -1
7681
-
7682
- // Normalize byteOffset
7683
- if (typeof byteOffset === 'string') {
7684
- encoding = byteOffset;
7685
- byteOffset = 0;
7686
- } else if (byteOffset > 0x7fffffff) {
7687
- byteOffset = 0x7fffffff;
7688
- } else if (byteOffset < -2147483648) {
7689
- byteOffset = -2147483648;
7690
- }
7691
- byteOffset = +byteOffset; // Coerce to Number.
7692
- if (numberIsNaN(byteOffset)) {
7693
- // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
7694
- byteOffset = dir ? 0 : (buffer.length - 1);
7695
- }
7696
-
7697
- // Normalize byteOffset: negative offsets start from the end of the buffer
7698
- if (byteOffset < 0) byteOffset = buffer.length + byteOffset;
7699
- if (byteOffset >= buffer.length) {
7700
- if (dir) return -1
7701
- else byteOffset = buffer.length - 1;
7702
- } else if (byteOffset < 0) {
7703
- if (dir) byteOffset = 0;
7704
- else return -1
7705
- }
7706
-
7707
- // Normalize val
7708
- if (typeof val === 'string') {
7709
- val = Buffer.from(val, encoding);
7710
- }
7711
-
7712
- // Finally, search either indexOf (if dir is true) or lastIndexOf
7713
- if (Buffer.isBuffer(val)) {
7714
- // Special case: looking for empty string/buffer always fails
7715
- if (val.length === 0) {
7716
- return -1
7717
- }
7718
- return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
7719
- } else if (typeof val === 'number') {
7720
- val = val & 0xFF; // Search for a byte value [0-255]
7721
- if (typeof Uint8Array.prototype.indexOf === 'function') {
7722
- if (dir) {
7723
- return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
7724
- } else {
7725
- return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
7726
- }
7727
- }
7728
- return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)
7729
- }
7730
-
7731
- throw new TypeError('val must be string, number or Buffer')
7732
- }
7733
-
7734
- function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
7735
- var indexSize = 1;
7736
- var arrLength = arr.length;
7737
- var valLength = val.length;
7738
-
7739
- if (encoding !== undefined) {
7740
- encoding = String(encoding).toLowerCase();
7741
- if (encoding === 'ucs2' || encoding === 'ucs-2' ||
7742
- encoding === 'utf16le' || encoding === 'utf-16le') {
7743
- if (arr.length < 2 || val.length < 2) {
7744
- return -1
7745
- }
7746
- indexSize = 2;
7747
- arrLength /= 2;
7748
- valLength /= 2;
7749
- byteOffset /= 2;
7750
- }
7751
- }
7752
-
7753
- function read (buf, i) {
7754
- if (indexSize === 1) {
7755
- return buf[i]
7756
- } else {
7757
- return buf.readUInt16BE(i * indexSize)
7758
- }
7759
- }
7760
-
7761
- var i;
7762
- if (dir) {
7763
- var foundIndex = -1;
7764
- for (i = byteOffset; i < arrLength; i++) {
7765
- if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
7766
- if (foundIndex === -1) foundIndex = i;
7767
- if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
7768
- } else {
7769
- if (foundIndex !== -1) i -= i - foundIndex;
7770
- foundIndex = -1;
7771
- }
7772
- }
7773
- } else {
7774
- if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;
7775
- for (i = byteOffset; i >= 0; i--) {
7776
- var found = true;
7777
- for (var j = 0; j < valLength; j++) {
7778
- if (read(arr, i + j) !== read(val, j)) {
7779
- found = false;
7780
- break
7781
- }
7782
- }
7783
- if (found) return i
7784
- }
7785
- }
7786
-
7787
- return -1
7788
- }
7789
-
7790
- Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
7791
- return this.indexOf(val, byteOffset, encoding) !== -1
7792
- };
7793
-
7794
- Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
7795
- return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
7796
- };
7797
-
7798
- Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
7799
- return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
7800
- };
7801
-
7802
- function hexWrite (buf, string, offset, length) {
7803
- offset = Number(offset) || 0;
7804
- var remaining = buf.length - offset;
7805
- if (!length) {
7806
- length = remaining;
7807
- } else {
7808
- length = Number(length);
7809
- if (length > remaining) {
7810
- length = remaining;
7811
- }
7812
- }
7813
-
7814
- var strLen = string.length;
7815
-
7816
- if (length > strLen / 2) {
7817
- length = strLen / 2;
7818
- }
7819
- for (var i = 0; i < length; ++i) {
7820
- var parsed = parseInt(string.substr(i * 2, 2), 16);
7821
- if (numberIsNaN(parsed)) return i
7822
- buf[offset + i] = parsed;
7823
- }
7824
- return i
7825
- }
7826
-
7827
- function utf8Write (buf, string, offset, length) {
7828
- return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
7829
- }
7830
-
7831
- function asciiWrite (buf, string, offset, length) {
7832
- return blitBuffer(asciiToBytes(string), buf, offset, length)
7833
- }
7834
-
7835
- function base64Write (buf, string, offset, length) {
7836
- return blitBuffer(base64ToBytes(string), buf, offset, length)
7837
- }
7838
-
7839
- function ucs2Write (buf, string, offset, length) {
7840
- return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
7841
- }
7842
-
7843
- Buffer.prototype.write = function write (string, offset, length, encoding) {
7844
- // Buffer#write(string)
7845
- if (offset === undefined) {
7846
- encoding = 'utf8';
7847
- length = this.length;
7848
- offset = 0;
7849
- // Buffer#write(string, encoding)
7850
- } else if (length === undefined && typeof offset === 'string') {
7851
- encoding = offset;
7852
- length = this.length;
7853
- offset = 0;
7854
- // Buffer#write(string, offset[, length][, encoding])
7855
- } else if (isFinite(offset)) {
7856
- offset = offset >>> 0;
7857
- if (isFinite(length)) {
7858
- length = length >>> 0;
7859
- if (encoding === undefined) encoding = 'utf8';
7860
- } else {
7861
- encoding = length;
7862
- length = undefined;
7863
- }
7864
- } else {
7865
- throw new Error(
7866
- 'Buffer.write(string, encoding, offset[, length]) is no longer supported'
7867
- )
7868
- }
7869
-
7870
- var remaining = this.length - offset;
7871
- if (length === undefined || length > remaining) length = remaining;
7872
-
7873
- if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
7874
- throw new RangeError('Attempt to write outside buffer bounds')
7875
- }
7876
-
7877
- if (!encoding) encoding = 'utf8';
7878
-
7879
- var loweredCase = false;
7880
- for (;;) {
7881
- switch (encoding) {
7882
- case 'hex':
7883
- return hexWrite(this, string, offset, length)
7884
-
7885
- case 'utf8':
7886
- case 'utf-8':
7887
- return utf8Write(this, string, offset, length)
7888
-
7889
- case 'ascii':
7890
- case 'latin1':
7891
- case 'binary':
7892
- return asciiWrite(this, string, offset, length)
7893
-
7894
- case 'base64':
7895
- // Warning: maxLength not taken into account in base64Write
7896
- return base64Write(this, string, offset, length)
7897
-
7898
- case 'ucs2':
7899
- case 'ucs-2':
7900
- case 'utf16le':
7901
- case 'utf-16le':
7902
- return ucs2Write(this, string, offset, length)
7903
-
7904
- default:
7905
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
7906
- encoding = ('' + encoding).toLowerCase();
7907
- loweredCase = true;
7908
- }
7909
- }
7910
- };
7911
-
7912
- Buffer.prototype.toJSON = function toJSON () {
7913
- return {
7914
- type: 'Buffer',
7915
- data: Array.prototype.slice.call(this._arr || this, 0)
7916
- }
7917
- };
7918
-
7919
- function base64Slice (buf, start, end) {
7920
- if (start === 0 && end === buf.length) {
7921
- return base64.fromByteArray(buf)
7922
- } else {
7923
- return base64.fromByteArray(buf.slice(start, end))
7924
- }
7925
- }
7926
-
7927
- function utf8Slice (buf, start, end) {
7928
- end = Math.min(buf.length, end);
7929
- var res = [];
7930
-
7931
- var i = start;
7932
- while (i < end) {
7933
- var firstByte = buf[i];
7934
- var codePoint = null;
7935
- var bytesPerSequence = (firstByte > 0xEF)
7936
- ? 4
7937
- : (firstByte > 0xDF)
7938
- ? 3
7939
- : (firstByte > 0xBF)
7940
- ? 2
7941
- : 1;
7942
-
7943
- if (i + bytesPerSequence <= end) {
7944
- var secondByte, thirdByte, fourthByte, tempCodePoint;
7945
-
7946
- switch (bytesPerSequence) {
7947
- case 1:
7948
- if (firstByte < 0x80) {
7949
- codePoint = firstByte;
7950
- }
7951
- break
7952
- case 2:
7953
- secondByte = buf[i + 1];
7954
- if ((secondByte & 0xC0) === 0x80) {
7955
- tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);
7956
- if (tempCodePoint > 0x7F) {
7957
- codePoint = tempCodePoint;
7958
- }
7959
- }
7960
- break
7961
- case 3:
7962
- secondByte = buf[i + 1];
7963
- thirdByte = buf[i + 2];
7964
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
7965
- tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);
7966
- if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
7967
- codePoint = tempCodePoint;
7968
- }
7969
- }
7970
- break
7971
- case 4:
7972
- secondByte = buf[i + 1];
7973
- thirdByte = buf[i + 2];
7974
- fourthByte = buf[i + 3];
7975
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
7976
- tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);
7977
- if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
7978
- codePoint = tempCodePoint;
7979
- }
7980
- }
7981
- }
7982
- }
7983
-
7984
- if (codePoint === null) {
7985
- // we did not generate a valid codePoint so insert a
7986
- // replacement char (U+FFFD) and advance only 1 byte
7987
- codePoint = 0xFFFD;
7988
- bytesPerSequence = 1;
7989
- } else if (codePoint > 0xFFFF) {
7990
- // encode to utf16 (surrogate pair dance)
7991
- codePoint -= 0x10000;
7992
- res.push(codePoint >>> 10 & 0x3FF | 0xD800);
7993
- codePoint = 0xDC00 | codePoint & 0x3FF;
7994
- }
7995
-
7996
- res.push(codePoint);
7997
- i += bytesPerSequence;
7998
- }
7999
-
8000
- return decodeCodePointsArray(res)
8001
- }
8002
-
8003
- // Based on http://stackoverflow.com/a/22747272/680742, the browser with
8004
- // the lowest limit is Chrome, with 0x10000 args.
8005
- // We go 1 magnitude less, for safety
8006
- var MAX_ARGUMENTS_LENGTH = 0x1000;
8007
-
8008
- function decodeCodePointsArray (codePoints) {
8009
- var len = codePoints.length;
8010
- if (len <= MAX_ARGUMENTS_LENGTH) {
8011
- return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
8012
- }
8013
-
8014
- // Decode in chunks to avoid "call stack size exceeded".
8015
- var res = '';
8016
- var i = 0;
8017
- while (i < len) {
8018
- res += String.fromCharCode.apply(
8019
- String,
8020
- codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
8021
- );
8022
- }
8023
- return res
8024
- }
8025
-
8026
- function asciiSlice (buf, start, end) {
8027
- var ret = '';
8028
- end = Math.min(buf.length, end);
8029
-
8030
- for (var i = start; i < end; ++i) {
8031
- ret += String.fromCharCode(buf[i] & 0x7F);
8032
- }
8033
- return ret
8034
- }
8035
-
8036
- function latin1Slice (buf, start, end) {
8037
- var ret = '';
8038
- end = Math.min(buf.length, end);
8039
-
8040
- for (var i = start; i < end; ++i) {
8041
- ret += String.fromCharCode(buf[i]);
8042
- }
8043
- return ret
8044
- }
8045
-
8046
- function hexSlice (buf, start, end) {
8047
- var len = buf.length;
8048
-
8049
- if (!start || start < 0) start = 0;
8050
- if (!end || end < 0 || end > len) end = len;
8051
-
8052
- var out = '';
8053
- for (var i = start; i < end; ++i) {
8054
- out += hexSliceLookupTable[buf[i]];
8055
- }
8056
- return out
8057
- }
8058
-
8059
- function utf16leSlice (buf, start, end) {
8060
- var bytes = buf.slice(start, end);
8061
- var res = '';
8062
- // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)
8063
- for (var i = 0; i < bytes.length - 1; i += 2) {
8064
- res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));
8065
- }
8066
- return res
8067
- }
8068
-
8069
- Buffer.prototype.slice = function slice (start, end) {
8070
- var len = this.length;
8071
- start = ~~start;
8072
- end = end === undefined ? len : ~~end;
8073
-
8074
- if (start < 0) {
8075
- start += len;
8076
- if (start < 0) start = 0;
8077
- } else if (start > len) {
8078
- start = len;
8079
- }
8080
-
8081
- if (end < 0) {
8082
- end += len;
8083
- if (end < 0) end = 0;
8084
- } else if (end > len) {
8085
- end = len;
8086
- }
8087
-
8088
- if (end < start) end = start;
8089
-
8090
- var newBuf = this.subarray(start, end);
8091
- // Return an augmented `Uint8Array` instance
8092
- Object.setPrototypeOf(newBuf, Buffer.prototype);
8093
-
8094
- return newBuf
8095
- };
8096
-
8097
- /*
8098
- * Need to make sure that buffer isn't trying to write out of bounds.
8099
- */
8100
- function checkOffset (offset, ext, length) {
8101
- if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
8102
- if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
8103
- }
8104
-
8105
- Buffer.prototype.readUintLE =
8106
- Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
8107
- offset = offset >>> 0;
8108
- byteLength = byteLength >>> 0;
8109
- if (!noAssert) checkOffset(offset, byteLength, this.length);
8110
-
8111
- var val = this[offset];
8112
- var mul = 1;
8113
- var i = 0;
8114
- while (++i < byteLength && (mul *= 0x100)) {
8115
- val += this[offset + i] * mul;
8116
- }
8117
-
8118
- return val
8119
- };
8120
-
8121
- Buffer.prototype.readUintBE =
8122
- Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
8123
- offset = offset >>> 0;
8124
- byteLength = byteLength >>> 0;
8125
- if (!noAssert) {
8126
- checkOffset(offset, byteLength, this.length);
8127
- }
8128
-
8129
- var val = this[offset + --byteLength];
8130
- var mul = 1;
8131
- while (byteLength > 0 && (mul *= 0x100)) {
8132
- val += this[offset + --byteLength] * mul;
8133
- }
8134
-
8135
- return val
8136
- };
8137
-
8138
- Buffer.prototype.readUint8 =
8139
- Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
8140
- offset = offset >>> 0;
8141
- if (!noAssert) checkOffset(offset, 1, this.length);
8142
- return this[offset]
8143
- };
8144
-
8145
- Buffer.prototype.readUint16LE =
8146
- Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
8147
- offset = offset >>> 0;
8148
- if (!noAssert) checkOffset(offset, 2, this.length);
8149
- return this[offset] | (this[offset + 1] << 8)
8150
- };
8151
-
8152
- Buffer.prototype.readUint16BE =
8153
- Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
8154
- offset = offset >>> 0;
8155
- if (!noAssert) checkOffset(offset, 2, this.length);
8156
- return (this[offset] << 8) | this[offset + 1]
8157
- };
8158
-
8159
- Buffer.prototype.readUint32LE =
8160
- Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
8161
- offset = offset >>> 0;
8162
- if (!noAssert) checkOffset(offset, 4, this.length);
8163
-
8164
- return ((this[offset]) |
8165
- (this[offset + 1] << 8) |
8166
- (this[offset + 2] << 16)) +
8167
- (this[offset + 3] * 0x1000000)
8168
- };
8169
-
8170
- Buffer.prototype.readUint32BE =
8171
- Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
8172
- offset = offset >>> 0;
8173
- if (!noAssert) checkOffset(offset, 4, this.length);
8174
-
8175
- return (this[offset] * 0x1000000) +
8176
- ((this[offset + 1] << 16) |
8177
- (this[offset + 2] << 8) |
8178
- this[offset + 3])
8179
- };
8180
-
8181
- Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
8182
- offset = offset >>> 0;
8183
- byteLength = byteLength >>> 0;
8184
- if (!noAssert) checkOffset(offset, byteLength, this.length);
8185
-
8186
- var val = this[offset];
8187
- var mul = 1;
8188
- var i = 0;
8189
- while (++i < byteLength && (mul *= 0x100)) {
8190
- val += this[offset + i] * mul;
8191
- }
8192
- mul *= 0x80;
8193
-
8194
- if (val >= mul) val -= Math.pow(2, 8 * byteLength);
8195
-
8196
- return val
8197
- };
8198
-
8199
- Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
8200
- offset = offset >>> 0;
8201
- byteLength = byteLength >>> 0;
8202
- if (!noAssert) checkOffset(offset, byteLength, this.length);
8203
-
8204
- var i = byteLength;
8205
- var mul = 1;
8206
- var val = this[offset + --i];
8207
- while (i > 0 && (mul *= 0x100)) {
8208
- val += this[offset + --i] * mul;
8209
- }
8210
- mul *= 0x80;
8211
-
8212
- if (val >= mul) val -= Math.pow(2, 8 * byteLength);
8213
-
8214
- return val
8215
- };
8216
-
8217
- Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
8218
- offset = offset >>> 0;
8219
- if (!noAssert) checkOffset(offset, 1, this.length);
8220
- if (!(this[offset] & 0x80)) return (this[offset])
8221
- return ((0xff - this[offset] + 1) * -1)
8222
- };
8223
-
8224
- Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
8225
- offset = offset >>> 0;
8226
- if (!noAssert) checkOffset(offset, 2, this.length);
8227
- var val = this[offset] | (this[offset + 1] << 8);
8228
- return (val & 0x8000) ? val | 0xFFFF0000 : val
8229
- };
8230
-
8231
- Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
8232
- offset = offset >>> 0;
8233
- if (!noAssert) checkOffset(offset, 2, this.length);
8234
- var val = this[offset + 1] | (this[offset] << 8);
8235
- return (val & 0x8000) ? val | 0xFFFF0000 : val
8236
- };
8237
-
8238
- Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
8239
- offset = offset >>> 0;
8240
- if (!noAssert) checkOffset(offset, 4, this.length);
8241
-
8242
- return (this[offset]) |
8243
- (this[offset + 1] << 8) |
8244
- (this[offset + 2] << 16) |
8245
- (this[offset + 3] << 24)
8246
- };
8247
-
8248
- Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
8249
- offset = offset >>> 0;
8250
- if (!noAssert) checkOffset(offset, 4, this.length);
8251
-
8252
- return (this[offset] << 24) |
8253
- (this[offset + 1] << 16) |
8254
- (this[offset + 2] << 8) |
8255
- (this[offset + 3])
8256
- };
8257
-
8258
- Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
8259
- offset = offset >>> 0;
8260
- if (!noAssert) checkOffset(offset, 4, this.length);
8261
- return ieee754.read(this, offset, true, 23, 4)
8262
- };
8263
-
8264
- Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
8265
- offset = offset >>> 0;
8266
- if (!noAssert) checkOffset(offset, 4, this.length);
8267
- return ieee754.read(this, offset, false, 23, 4)
8268
- };
8269
-
8270
- Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
8271
- offset = offset >>> 0;
8272
- if (!noAssert) checkOffset(offset, 8, this.length);
8273
- return ieee754.read(this, offset, true, 52, 8)
8274
- };
8275
-
8276
- Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
8277
- offset = offset >>> 0;
8278
- if (!noAssert) checkOffset(offset, 8, this.length);
8279
- return ieee754.read(this, offset, false, 52, 8)
8280
- };
8281
-
8282
- function checkInt (buf, value, offset, ext, max, min) {
8283
- if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
8284
- if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
8285
- if (offset + ext > buf.length) throw new RangeError('Index out of range')
8286
- }
8287
-
8288
- Buffer.prototype.writeUintLE =
8289
- Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
8290
- value = +value;
8291
- offset = offset >>> 0;
8292
- byteLength = byteLength >>> 0;
8293
- if (!noAssert) {
8294
- var maxBytes = Math.pow(2, 8 * byteLength) - 1;
8295
- checkInt(this, value, offset, byteLength, maxBytes, 0);
8296
- }
8297
-
8298
- var mul = 1;
8299
- var i = 0;
8300
- this[offset] = value & 0xFF;
8301
- while (++i < byteLength && (mul *= 0x100)) {
8302
- this[offset + i] = (value / mul) & 0xFF;
8303
- }
8304
-
8305
- return offset + byteLength
8306
- };
8307
-
8308
- Buffer.prototype.writeUintBE =
8309
- Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
8310
- value = +value;
8311
- offset = offset >>> 0;
8312
- byteLength = byteLength >>> 0;
8313
- if (!noAssert) {
8314
- var maxBytes = Math.pow(2, 8 * byteLength) - 1;
8315
- checkInt(this, value, offset, byteLength, maxBytes, 0);
8316
- }
8317
-
8318
- var i = byteLength - 1;
8319
- var mul = 1;
8320
- this[offset + i] = value & 0xFF;
8321
- while (--i >= 0 && (mul *= 0x100)) {
8322
- this[offset + i] = (value / mul) & 0xFF;
8323
- }
8324
-
8325
- return offset + byteLength
8326
- };
8327
-
8328
- Buffer.prototype.writeUint8 =
8329
- Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
8330
- value = +value;
8331
- offset = offset >>> 0;
8332
- if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);
8333
- this[offset] = (value & 0xff);
8334
- return offset + 1
8335
- };
8336
-
8337
- Buffer.prototype.writeUint16LE =
8338
- Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
8339
- value = +value;
8340
- offset = offset >>> 0;
8341
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
8342
- this[offset] = (value & 0xff);
8343
- this[offset + 1] = (value >>> 8);
8344
- return offset + 2
8345
- };
8346
-
8347
- Buffer.prototype.writeUint16BE =
8348
- Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
8349
- value = +value;
8350
- offset = offset >>> 0;
8351
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
8352
- this[offset] = (value >>> 8);
8353
- this[offset + 1] = (value & 0xff);
8354
- return offset + 2
8355
- };
6387
+ buf[offset + 4] = lo;
6388
+ let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));
6389
+ buf[offset + 3] = hi;
6390
+ hi = hi >> 8;
6391
+ buf[offset + 2] = hi;
6392
+ hi = hi >> 8;
6393
+ buf[offset + 1] = hi;
6394
+ hi = hi >> 8;
6395
+ buf[offset] = hi;
6396
+ return offset + 8
6397
+ }
8356
6398
 
8357
- Buffer.prototype.writeUint32LE =
8358
- Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
8359
- value = +value;
8360
- offset = offset >>> 0;
8361
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
8362
- this[offset + 3] = (value >>> 24);
8363
- this[offset + 2] = (value >>> 16);
8364
- this[offset + 1] = (value >>> 8);
8365
- this[offset] = (value & 0xff);
8366
- return offset + 4
8367
- };
6399
+ Buffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {
6400
+ return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))
6401
+ });
8368
6402
 
8369
- Buffer.prototype.writeUint32BE =
8370
- Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
8371
- value = +value;
8372
- offset = offset >>> 0;
8373
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
8374
- this[offset] = (value >>> 24);
8375
- this[offset + 1] = (value >>> 16);
8376
- this[offset + 2] = (value >>> 8);
8377
- this[offset + 3] = (value & 0xff);
8378
- return offset + 4
8379
- };
6403
+ Buffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {
6404
+ return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))
6405
+ });
8380
6406
 
8381
6407
  Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
8382
6408
  value = +value;
8383
6409
  offset = offset >>> 0;
8384
6410
  if (!noAssert) {
8385
- var limit = Math.pow(2, (8 * byteLength) - 1);
6411
+ const limit = Math.pow(2, (8 * byteLength) - 1);
8386
6412
 
8387
6413
  checkInt(this, value, offset, byteLength, limit - 1, -limit);
8388
6414
  }
8389
6415
 
8390
- var i = 0;
8391
- var mul = 1;
8392
- var sub = 0;
6416
+ let i = 0;
6417
+ let mul = 1;
6418
+ let sub = 0;
8393
6419
  this[offset] = value & 0xFF;
8394
6420
  while (++i < byteLength && (mul *= 0x100)) {
8395
6421
  if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
@@ -8405,14 +6431,14 @@ function requireBuffer () {
8405
6431
  value = +value;
8406
6432
  offset = offset >>> 0;
8407
6433
  if (!noAssert) {
8408
- var limit = Math.pow(2, (8 * byteLength) - 1);
6434
+ const limit = Math.pow(2, (8 * byteLength) - 1);
8409
6435
 
8410
6436
  checkInt(this, value, offset, byteLength, limit - 1, -limit);
8411
6437
  }
8412
6438
 
8413
- var i = byteLength - 1;
8414
- var mul = 1;
8415
- var sub = 0;
6439
+ let i = byteLength - 1;
6440
+ let mul = 1;
6441
+ let sub = 0;
8416
6442
  this[offset + i] = value & 0xFF;
8417
6443
  while (--i >= 0 && (mul *= 0x100)) {
8418
6444
  if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
@@ -8474,6 +6500,14 @@ function requireBuffer () {
8474
6500
  return offset + 4
8475
6501
  };
8476
6502
 
6503
+ Buffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {
6504
+ return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))
6505
+ });
6506
+
6507
+ Buffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {
6508
+ return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))
6509
+ });
6510
+
8477
6511
  function checkIEEE754 (buf, value, offset, ext, max, min) {
8478
6512
  if (offset + ext > buf.length) throw new RangeError('Index out of range')
8479
6513
  if (offset < 0) throw new RangeError('Index out of range')
@@ -8541,7 +6575,7 @@ function requireBuffer () {
8541
6575
  end = target.length - targetStart + start;
8542
6576
  }
8543
6577
 
8544
- var len = end - start;
6578
+ const len = end - start;
8545
6579
 
8546
6580
  if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {
8547
6581
  // Use built-in when available, missing from IE11
@@ -8579,7 +6613,7 @@ function requireBuffer () {
8579
6613
  throw new TypeError('Unknown encoding: ' + encoding)
8580
6614
  }
8581
6615
  if (val.length === 1) {
8582
- var code = val.charCodeAt(0);
6616
+ const code = val.charCodeAt(0);
8583
6617
  if ((encoding === 'utf8' && code < 128) ||
8584
6618
  encoding === 'latin1') {
8585
6619
  // Fast path: If `val` fits into a single byte, use that numeric value.
@@ -8606,16 +6640,16 @@ function requireBuffer () {
8606
6640
 
8607
6641
  if (!val) val = 0;
8608
6642
 
8609
- var i;
6643
+ let i;
8610
6644
  if (typeof val === 'number') {
8611
6645
  for (i = start; i < end; ++i) {
8612
6646
  this[i] = val;
8613
6647
  }
8614
6648
  } else {
8615
- var bytes = Buffer.isBuffer(val)
6649
+ const bytes = Buffer.isBuffer(val)
8616
6650
  ? val
8617
6651
  : Buffer.from(val, encoding);
8618
- var len = bytes.length;
6652
+ const len = bytes.length;
8619
6653
  if (len === 0) {
8620
6654
  throw new TypeError('The value "' + val +
8621
6655
  '" is invalid for argument "value"')
@@ -8628,10 +6662,141 @@ function requireBuffer () {
8628
6662
  return this
8629
6663
  };
8630
6664
 
6665
+ // CUSTOM ERRORS
6666
+ // =============
6667
+
6668
+ // Simplified versions from Node, changed for Buffer-only usage
6669
+ const errors = {};
6670
+ function E (sym, getMessage, Base) {
6671
+ errors[sym] = class NodeError extends Base {
6672
+ constructor () {
6673
+ super();
6674
+
6675
+ Object.defineProperty(this, 'message', {
6676
+ value: getMessage.apply(this, arguments),
6677
+ writable: true,
6678
+ configurable: true
6679
+ });
6680
+
6681
+ // Add the error code to the name to include it in the stack trace.
6682
+ this.name = `${this.name} [${sym}]`;
6683
+ // Access the stack to generate the error message including the error code
6684
+ // from the name.
6685
+ this.stack; // eslint-disable-line no-unused-expressions
6686
+ // Reset the name to the actual name.
6687
+ delete this.name;
6688
+ }
6689
+
6690
+ get code () {
6691
+ return sym
6692
+ }
6693
+
6694
+ set code (value) {
6695
+ Object.defineProperty(this, 'code', {
6696
+ configurable: true,
6697
+ enumerable: true,
6698
+ value,
6699
+ writable: true
6700
+ });
6701
+ }
6702
+
6703
+ toString () {
6704
+ return `${this.name} [${sym}]: ${this.message}`
6705
+ }
6706
+ };
6707
+ }
6708
+
6709
+ E('ERR_BUFFER_OUT_OF_BOUNDS',
6710
+ function (name) {
6711
+ if (name) {
6712
+ return `${name} is outside of buffer bounds`
6713
+ }
6714
+
6715
+ return 'Attempt to access memory outside buffer bounds'
6716
+ }, RangeError);
6717
+ E('ERR_INVALID_ARG_TYPE',
6718
+ function (name, actual) {
6719
+ return `The "${name}" argument must be of type number. Received type ${typeof actual}`
6720
+ }, TypeError);
6721
+ E('ERR_OUT_OF_RANGE',
6722
+ function (str, range, input) {
6723
+ let msg = `The value of "${str}" is out of range.`;
6724
+ let received = input;
6725
+ if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
6726
+ received = addNumericalSeparator(String(input));
6727
+ } else if (typeof input === 'bigint') {
6728
+ received = String(input);
6729
+ if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {
6730
+ received = addNumericalSeparator(received);
6731
+ }
6732
+ received += 'n';
6733
+ }
6734
+ msg += ` It must be ${range}. Received ${received}`;
6735
+ return msg
6736
+ }, RangeError);
6737
+
6738
+ function addNumericalSeparator (val) {
6739
+ let res = '';
6740
+ let i = val.length;
6741
+ const start = val[0] === '-' ? 1 : 0;
6742
+ for (; i >= start + 4; i -= 3) {
6743
+ res = `_${val.slice(i - 3, i)}${res}`;
6744
+ }
6745
+ return `${val.slice(0, i)}${res}`
6746
+ }
6747
+
6748
+ // CHECK FUNCTIONS
6749
+ // ===============
6750
+
6751
+ function checkBounds (buf, offset, byteLength) {
6752
+ validateNumber(offset, 'offset');
6753
+ if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {
6754
+ boundsError(offset, buf.length - (byteLength + 1));
6755
+ }
6756
+ }
6757
+
6758
+ function checkIntBI (value, min, max, buf, offset, byteLength) {
6759
+ if (value > max || value < min) {
6760
+ const n = typeof min === 'bigint' ? 'n' : '';
6761
+ let range;
6762
+ {
6763
+ if (min === 0 || min === BigInt(0)) {
6764
+ range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;
6765
+ } else {
6766
+ range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +
6767
+ `${(byteLength + 1) * 8 - 1}${n}`;
6768
+ }
6769
+ }
6770
+ throw new errors.ERR_OUT_OF_RANGE('value', range, value)
6771
+ }
6772
+ checkBounds(buf, offset, byteLength);
6773
+ }
6774
+
6775
+ function validateNumber (value, name) {
6776
+ if (typeof value !== 'number') {
6777
+ throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)
6778
+ }
6779
+ }
6780
+
6781
+ function boundsError (value, length, type) {
6782
+ if (Math.floor(value) !== value) {
6783
+ validateNumber(value, type);
6784
+ throw new errors.ERR_OUT_OF_RANGE('offset', 'an integer', value)
6785
+ }
6786
+
6787
+ if (length < 0) {
6788
+ throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()
6789
+ }
6790
+
6791
+ throw new errors.ERR_OUT_OF_RANGE('offset',
6792
+ `>= ${0} and <= ${length}`,
6793
+ value)
6794
+ }
6795
+
8631
6796
  // HELPER FUNCTIONS
8632
6797
  // ================
8633
6798
 
8634
- var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;
6799
+ const INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;
8635
6800
 
8636
6801
  function base64clean (str) {
8637
6802
  // Node takes equal signs as end of the Base64 encoding
@@ -8649,12 +6814,12 @@ function requireBuffer () {
8649
6814
 
8650
6815
  function utf8ToBytes (string, units) {
8651
6816
  units = units || Infinity;
8652
- var codePoint;
8653
- var length = string.length;
8654
- var leadSurrogate = null;
8655
- var bytes = [];
6817
+ let codePoint;
6818
+ const length = string.length;
6819
+ let leadSurrogate = null;
6820
+ const bytes = [];
8656
6821
 
8657
- for (var i = 0; i < length; ++i) {
6822
+ for (let i = 0; i < length; ++i) {
8658
6823
  codePoint = string.charCodeAt(i);
8659
6824
 
8660
6825
  // is surrogate component
@@ -8728,8 +6893,8 @@ function requireBuffer () {
8728
6893
  }
8729
6894
 
8730
6895
  function asciiToBytes (str) {
8731
- var byteArray = [];
8732
- for (var i = 0; i < str.length; ++i) {
6896
+ const byteArray = [];
6897
+ for (let i = 0; i < str.length; ++i) {
8733
6898
  // Node's code seems to be doing this and not & 0x7F..
8734
6899
  byteArray.push(str.charCodeAt(i) & 0xFF);
8735
6900
  }
@@ -8737,9 +6902,9 @@ function requireBuffer () {
8737
6902
  }
8738
6903
 
8739
6904
  function utf16leToBytes (str, units) {
8740
- var c, hi, lo;
8741
- var byteArray = [];
8742
- for (var i = 0; i < str.length; ++i) {
6905
+ let c, hi, lo;
6906
+ const byteArray = [];
6907
+ for (let i = 0; i < str.length; ++i) {
8743
6908
  if ((units -= 2) < 0) break
8744
6909
 
8745
6910
  c = str.charCodeAt(i);
@@ -8757,7 +6922,8 @@ function requireBuffer () {
8757
6922
  }
8758
6923
 
8759
6924
  function blitBuffer (src, dst, offset, length) {
8760
- for (var i = 0; i < length; ++i) {
6925
+ let i;
6926
+ for (i = 0; i < length; ++i) {
8761
6927
  if ((i + offset >= dst.length) || (i >= src.length)) break
8762
6928
  dst[i + offset] = src[i];
8763
6929
  }
@@ -8779,23 +6945,34 @@ function requireBuffer () {
8779
6945
 
8780
6946
  // Create lookup table for `toString('hex')`
8781
6947
  // See: https://github.com/feross/buffer/issues/219
8782
- var hexSliceLookupTable = (function () {
8783
- var alphabet = '0123456789abcdef';
8784
- var table = new Array(256);
8785
- for (var i = 0; i < 16; ++i) {
8786
- var i16 = i * 16;
8787
- for (var j = 0; j < 16; ++j) {
6948
+ const hexSliceLookupTable = (function () {
6949
+ const alphabet = '0123456789abcdef';
6950
+ const table = new Array(256);
6951
+ for (let i = 0; i < 16; ++i) {
6952
+ const i16 = i * 16;
6953
+ for (let j = 0; j < 16; ++j) {
8788
6954
  table[i16 + j] = alphabet[i] + alphabet[j];
8789
6955
  }
8790
6956
  }
8791
6957
  return table
8792
- })();
6958
+ })();
6959
+
6960
+ // Return not function with Error if BigInt not supported
6961
+ function defineBigIntMethod (fn) {
6962
+ return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn
6963
+ }
6964
+
6965
+ function BufferBigIntNotDefined () {
6966
+ throw new Error('BigInt not supported')
6967
+ }
8793
6968
  } (buffer));
8794
6969
  return buffer;
8795
6970
  }
8796
6971
 
8797
6972
  var bufferExports = requireBuffer();
8798
6973
 
6974
+ var dist = {};
6975
+
8799
6976
  var Codecs = {};
8800
6977
 
8801
6978
  var Frames = {};
@@ -8805,7 +6982,7 @@ var hasRequiredFrames;
8805
6982
  function requireFrames () {
8806
6983
  if (hasRequiredFrames) return Frames;
8807
6984
  hasRequiredFrames = 1;
8808
- (function (exports) {
6985
+ (function (exports$1) {
8809
6986
  /*
8810
6987
  * Copyright 2021-2022 the original author or authors.
8811
6988
  *
@@ -8821,8 +6998,8 @@ function requireFrames () {
8821
6998
  * See the License for the specific language governing permissions and
8822
6999
  * limitations under the License.
8823
7000
  */
8824
- Object.defineProperty(exports, "__esModule", { value: true });
8825
- exports.Frame = exports.Lengths = exports.Flags = exports.FrameTypes = void 0;
7001
+ Object.defineProperty(exports$1, "__esModule", { value: true });
7002
+ exports$1.Frame = exports$1.Lengths = exports$1.Flags = exports$1.FrameTypes = void 0;
8826
7003
  var FrameTypes;
8827
7004
  (function (FrameTypes) {
8828
7005
  FrameTypes[FrameTypes["RESERVED"] = 0] = "RESERVED";
@@ -8841,7 +7018,7 @@ function requireFrames () {
8841
7018
  FrameTypes[FrameTypes["RESUME"] = 13] = "RESUME";
8842
7019
  FrameTypes[FrameTypes["RESUME_OK"] = 14] = "RESUME_OK";
8843
7020
  FrameTypes[FrameTypes["EXT"] = 63] = "EXT";
8844
- })(FrameTypes = exports.FrameTypes || (exports.FrameTypes = {}));
7021
+ })(FrameTypes = exports$1.FrameTypes || (exports$1.FrameTypes = {}));
8845
7022
  (function (Flags) {
8846
7023
  Flags[Flags["NONE"] = 0] = "NONE";
8847
7024
  Flags[Flags["COMPLETE"] = 64] = "COMPLETE";
@@ -8852,7 +7029,7 @@ function requireFrames () {
8852
7029
  Flags[Flags["NEXT"] = 32] = "NEXT";
8853
7030
  Flags[Flags["RESPOND"] = 128] = "RESPOND";
8854
7031
  Flags[Flags["RESUME_ENABLE"] = 128] = "RESUME_ENABLE";
8855
- })(exports.Flags || (exports.Flags = {}));
7032
+ })(exports$1.Flags || (exports$1.Flags = {}));
8856
7033
  (function (Flags) {
8857
7034
  function hasMetadata(flags) {
8858
7035
  return (flags & Flags.METADATA) === Flags.METADATA;
@@ -8886,13 +7063,13 @@ function requireFrames () {
8886
7063
  return (flags & Flags.RESUME_ENABLE) === Flags.RESUME_ENABLE;
8887
7064
  }
8888
7065
  Flags.hasResume = hasResume;
8889
- })(exports.Flags || (exports.Flags = {}));
7066
+ })(exports$1.Flags || (exports$1.Flags = {}));
8890
7067
  (function (Lengths) {
8891
7068
  Lengths[Lengths["FRAME"] = 3] = "FRAME";
8892
7069
  Lengths[Lengths["HEADER"] = 6] = "HEADER";
8893
7070
  Lengths[Lengths["METADATA"] = 3] = "METADATA";
8894
7071
  Lengths[Lengths["REQUEST"] = 3] = "REQUEST";
8895
- })(exports.Lengths || (exports.Lengths = {}));
7072
+ })(exports$1.Lengths || (exports$1.Lengths = {}));
8896
7073
  (function (Frame) {
8897
7074
  function isConnection(frame) {
8898
7075
  return frame.streamId === 0;
@@ -8903,7 +7080,7 @@ function requireFrames () {
8903
7080
  frame.type <= FrameTypes.REQUEST_CHANNEL);
8904
7081
  }
8905
7082
  Frame.isRequest = isRequest;
8906
- })(exports.Frame || (exports.Frame = {}));
7083
+ })(exports$1.Frame || (exports$1.Frame = {}));
8907
7084
 
8908
7085
  } (Frames));
8909
7086
  return Frames;
@@ -8914,7 +7091,7 @@ var hasRequiredCodecs;
8914
7091
  function requireCodecs () {
8915
7092
  if (hasRequiredCodecs) return Codecs;
8916
7093
  hasRequiredCodecs = 1;
8917
- (function (exports) {
7094
+ (function (exports$1) {
8918
7095
  var __generator = (Codecs && Codecs.__generator) || function (thisArg, body) {
8919
7096
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
8920
7097
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
@@ -8942,22 +7119,22 @@ function requireCodecs () {
8942
7119
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
8943
7120
  }
8944
7121
  };
8945
- Object.defineProperty(exports, "__esModule", { value: true });
8946
- exports.Deserializer = exports.sizeOfFrame = exports.serializeFrame = exports.deserializeFrame = exports.serializeFrameWithLength = exports.deserializeFrames = exports.deserializeFrameWithLength = exports.writeUInt64BE = exports.readUInt64BE = exports.writeUInt24BE = exports.readUInt24BE = exports.MAX_VERSION = exports.MAX_TTL = exports.MAX_STREAM_ID = exports.MAX_RESUME_LENGTH = exports.MAX_REQUEST_N = exports.MAX_REQUEST_COUNT = exports.MAX_MIME_LENGTH = exports.MAX_METADATA_LENGTH = exports.MAX_LIFETIME = exports.MAX_KEEPALIVE = exports.MAX_CODE = exports.FRAME_TYPE_OFFFSET = exports.FLAGS_MASK = void 0;
7122
+ Object.defineProperty(exports$1, "__esModule", { value: true });
7123
+ exports$1.Deserializer = exports$1.sizeOfFrame = exports$1.serializeFrame = exports$1.deserializeFrame = exports$1.serializeFrameWithLength = exports$1.deserializeFrames = exports$1.deserializeFrameWithLength = exports$1.writeUInt64BE = exports$1.readUInt64BE = exports$1.writeUInt24BE = exports$1.readUInt24BE = exports$1.MAX_VERSION = exports$1.MAX_TTL = exports$1.MAX_STREAM_ID = exports$1.MAX_RESUME_LENGTH = exports$1.MAX_REQUEST_N = exports$1.MAX_REQUEST_COUNT = exports$1.MAX_MIME_LENGTH = exports$1.MAX_METADATA_LENGTH = exports$1.MAX_LIFETIME = exports$1.MAX_KEEPALIVE = exports$1.MAX_CODE = exports$1.FRAME_TYPE_OFFFSET = exports$1.FLAGS_MASK = void 0;
8947
7124
  var Frames_1 = requireFrames();
8948
- exports.FLAGS_MASK = 0x3ff; // low 10 bits
8949
- exports.FRAME_TYPE_OFFFSET = 10; // frame type is offset 10 bytes within the uint16 containing type + flags
8950
- exports.MAX_CODE = 0x7fffffff; // uint31
8951
- exports.MAX_KEEPALIVE = 0x7fffffff; // uint31
8952
- exports.MAX_LIFETIME = 0x7fffffff; // uint31
8953
- exports.MAX_METADATA_LENGTH = 0xffffff; // uint24
8954
- exports.MAX_MIME_LENGTH = 0xff; // int8
8955
- exports.MAX_REQUEST_COUNT = 0x7fffffff; // uint31
8956
- exports.MAX_REQUEST_N = 0x7fffffff; // uint31
8957
- exports.MAX_RESUME_LENGTH = 0xffff; // uint16
8958
- exports.MAX_STREAM_ID = 0x7fffffff; // uint31
8959
- exports.MAX_TTL = 0x7fffffff; // uint31
8960
- exports.MAX_VERSION = 0xffff; // uint16
7125
+ exports$1.FLAGS_MASK = 0x3ff; // low 10 bits
7126
+ exports$1.FRAME_TYPE_OFFFSET = 10; // frame type is offset 10 bytes within the uint16 containing type + flags
7127
+ exports$1.MAX_CODE = 0x7fffffff; // uint31
7128
+ exports$1.MAX_KEEPALIVE = 0x7fffffff; // uint31
7129
+ exports$1.MAX_LIFETIME = 0x7fffffff; // uint31
7130
+ exports$1.MAX_METADATA_LENGTH = 0xffffff; // uint24
7131
+ exports$1.MAX_MIME_LENGTH = 0xff; // int8
7132
+ exports$1.MAX_REQUEST_COUNT = 0x7fffffff; // uint31
7133
+ exports$1.MAX_REQUEST_N = 0x7fffffff; // uint31
7134
+ exports$1.MAX_RESUME_LENGTH = 0xffff; // uint16
7135
+ exports$1.MAX_STREAM_ID = 0x7fffffff; // uint31
7136
+ exports$1.MAX_TTL = 0x7fffffff; // uint31
7137
+ exports$1.MAX_VERSION = 0xffff; // uint16
8961
7138
  /**
8962
7139
  * Mimimum value that would overflow bitwise operators (2^32).
8963
7140
  */
@@ -8971,7 +7148,7 @@ function requireCodecs () {
8971
7148
  var val3 = buffer.readUInt8(offset + 2);
8972
7149
  return val1 | val2 | val3;
8973
7150
  }
8974
- exports.readUInt24BE = readUInt24BE;
7151
+ exports$1.readUInt24BE = readUInt24BE;
8975
7152
  /**
8976
7153
  * Writes a uint24 to a buffer starting at the given offset, returning the
8977
7154
  * offset of the next byte.
@@ -8981,7 +7158,7 @@ function requireCodecs () {
8981
7158
  offset = buffer.writeUInt8((value >>> 8) & 0xff, offset); // 2nd byte
8982
7159
  return buffer.writeUInt8(value & 0xff, offset); // 1st byte
8983
7160
  }
8984
- exports.writeUInt24BE = writeUInt24BE;
7161
+ exports$1.writeUInt24BE = writeUInt24BE;
8985
7162
  /**
8986
7163
  * Read a uint64 (technically supports up to 53 bits per JS number
8987
7164
  * representation).
@@ -8991,7 +7168,7 @@ function requireCodecs () {
8991
7168
  var low = buffer.readUInt32BE(offset + 4);
8992
7169
  return high * BITWISE_OVERFLOW + low;
8993
7170
  }
8994
- exports.readUInt64BE = readUInt64BE;
7171
+ exports$1.readUInt64BE = readUInt64BE;
8995
7172
  /**
8996
7173
  * Write a uint64 (technically supports up to 53 bits per JS number
8997
7174
  * representation).
@@ -9002,7 +7179,7 @@ function requireCodecs () {
9002
7179
  offset = buffer.writeUInt32BE(high, offset); // first half of uint64
9003
7180
  return buffer.writeUInt32BE(low, offset); // second half of uint64
9004
7181
  }
9005
- exports.writeUInt64BE = writeUInt64BE;
7182
+ exports$1.writeUInt64BE = writeUInt64BE;
9006
7183
  /**
9007
7184
  * Frame header is:
9008
7185
  * - stream id (uint32 = 4)
@@ -9020,7 +7197,7 @@ function requireCodecs () {
9020
7197
  var frameLength = readUInt24BE(buffer, 0);
9021
7198
  return deserializeFrame(buffer.slice(UINT24_SIZE, UINT24_SIZE + frameLength));
9022
7199
  }
9023
- exports.deserializeFrameWithLength = deserializeFrameWithLength;
7200
+ exports$1.deserializeFrameWithLength = deserializeFrameWithLength;
9024
7201
  /**
9025
7202
  * Given a buffer that may contain zero or more length-prefixed frames followed
9026
7203
  * by zero or more bytes of a (partial) subsequent frame, returns an array of
@@ -9053,7 +7230,7 @@ function requireCodecs () {
9053
7230
  }
9054
7231
  });
9055
7232
  }
9056
- exports.deserializeFrames = deserializeFrames;
7233
+ exports$1.deserializeFrames = deserializeFrames;
9057
7234
  /**
9058
7235
  * Writes a frame to a buffer with a length prefix.
9059
7236
  */
@@ -9064,7 +7241,7 @@ function requireCodecs () {
9064
7241
  buffer.copy(lengthPrefixed, UINT24_SIZE);
9065
7242
  return lengthPrefixed;
9066
7243
  }
9067
- exports.serializeFrameWithLength = serializeFrameWithLength;
7244
+ exports$1.serializeFrameWithLength = serializeFrameWithLength;
9068
7245
  /**
9069
7246
  * Read a frame from the buffer.
9070
7247
  */
@@ -9079,8 +7256,8 @@ function requireCodecs () {
9079
7256
  // );
9080
7257
  var typeAndFlags = buffer.readUInt16BE(offset);
9081
7258
  offset += 2;
9082
- var type = typeAndFlags >>> exports.FRAME_TYPE_OFFFSET; // keep highest 6 bits
9083
- var flags = typeAndFlags & exports.FLAGS_MASK; // keep lowest 10 bits
7259
+ var type = typeAndFlags >>> exports$1.FRAME_TYPE_OFFFSET; // keep highest 6 bits
7260
+ var flags = typeAndFlags & exports$1.FLAGS_MASK; // keep lowest 10 bits
9084
7261
  switch (type) {
9085
7262
  case Frames_1.FrameTypes.SETUP:
9086
7263
  return deserializeSetupFrame(buffer, streamId, flags);
@@ -9117,7 +7294,7 @@ function requireCodecs () {
9117
7294
  // );
9118
7295
  }
9119
7296
  }
9120
- exports.deserializeFrame = deserializeFrame;
7297
+ exports$1.deserializeFrame = deserializeFrame;
9121
7298
  /**
9122
7299
  * Convert the frame to a (binary) buffer.
9123
7300
  */
@@ -9156,7 +7333,7 @@ function requireCodecs () {
9156
7333
  // );
9157
7334
  }
9158
7335
  }
9159
- exports.serializeFrame = serializeFrame;
7336
+ exports$1.serializeFrame = serializeFrame;
9160
7337
  /**
9161
7338
  * Byte size of frame without size prefix
9162
7339
  */
@@ -9195,7 +7372,7 @@ function requireCodecs () {
9195
7372
  // );
9196
7373
  }
9197
7374
  }
9198
- exports.sizeOfFrame = sizeOfFrame;
7375
+ exports$1.sizeOfFrame = sizeOfFrame;
9199
7376
  /**
9200
7377
  * Writes a SETUP frame into a new buffer and returns it.
9201
7378
  *
@@ -9830,7 +8007,7 @@ function requireCodecs () {
9830
8007
  function writeHeader(frame, buffer) {
9831
8008
  var offset = buffer.writeInt32BE(frame.streamId, 0);
9832
8009
  // shift frame to high 6 bits, extract lowest 10 bits from flags
9833
- return buffer.writeUInt16BE((frame.type << exports.FRAME_TYPE_OFFFSET) | (frame.flags & exports.FLAGS_MASK), offset);
8010
+ return buffer.writeUInt16BE((frame.type << exports$1.FRAME_TYPE_OFFFSET) | (frame.flags & exports$1.FLAGS_MASK), offset);
9834
8011
  }
9835
8012
  /**
9836
8013
  * Determine the length of the payload section of a frame. Only applies to
@@ -9911,7 +8088,7 @@ function requireCodecs () {
9911
8088
  };
9912
8089
  return Deserializer;
9913
8090
  }());
9914
- exports.Deserializer = Deserializer;
8091
+ exports$1.Deserializer = Deserializer;
9915
8092
 
9916
8093
  } (Codecs));
9917
8094
  return Codecs;
@@ -10057,7 +8234,7 @@ var hasRequiredErrors;
10057
8234
  function requireErrors () {
10058
8235
  if (hasRequiredErrors) return Errors;
10059
8236
  hasRequiredErrors = 1;
10060
- (function (exports) {
8237
+ (function (exports$1) {
10061
8238
  /*
10062
8239
  * Copyright 2021-2022 the original author or authors.
10063
8240
  *
@@ -10088,8 +8265,8 @@ function requireErrors () {
10088
8265
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10089
8266
  };
10090
8267
  })();
10091
- Object.defineProperty(exports, "__esModule", { value: true });
10092
- exports.ErrorCodes = exports.RSocketError = void 0;
8268
+ Object.defineProperty(exports$1, "__esModule", { value: true });
8269
+ exports$1.ErrorCodes = exports$1.RSocketError = void 0;
10093
8270
  var RSocketError = /** @class */ (function (_super) {
10094
8271
  __extends(RSocketError, _super);
10095
8272
  function RSocketError(code, message) {
@@ -10099,7 +8276,7 @@ function requireErrors () {
10099
8276
  }
10100
8277
  return RSocketError;
10101
8278
  }(Error));
10102
- exports.RSocketError = RSocketError;
8279
+ exports$1.RSocketError = RSocketError;
10103
8280
  (function (ErrorCodes) {
10104
8281
  ErrorCodes[ErrorCodes["RESERVED"] = 0] = "RESERVED";
10105
8282
  ErrorCodes[ErrorCodes["INVALID_SETUP"] = 1] = "INVALID_SETUP";
@@ -10113,7 +8290,7 @@ function requireErrors () {
10113
8290
  ErrorCodes[ErrorCodes["CANCELED"] = 515] = "CANCELED";
10114
8291
  ErrorCodes[ErrorCodes["INVALID"] = 516] = "INVALID";
10115
8292
  ErrorCodes[ErrorCodes["RESERVED_EXTENSION"] = 4294967295] = "RESERVED_EXTENSION";
10116
- })(exports.ErrorCodes || (exports.ErrorCodes = {}));
8293
+ })(exports$1.ErrorCodes || (exports$1.ErrorCodes = {}));
10117
8294
 
10118
8295
  } (Errors));
10119
8296
  return Errors;
@@ -10155,7 +8332,7 @@ var hasRequiredClientServerMultiplexerDemultiplexer;
10155
8332
  function requireClientServerMultiplexerDemultiplexer () {
10156
8333
  if (hasRequiredClientServerMultiplexerDemultiplexer) return ClientServerMultiplexerDemultiplexer;
10157
8334
  hasRequiredClientServerMultiplexerDemultiplexer = 1;
10158
- (function (exports) {
8335
+ (function (exports$1) {
10159
8336
  /*
10160
8337
  * Copyright 2021-2022 the original author or authors.
10161
8338
  *
@@ -10222,8 +8399,8 @@ function requireClientServerMultiplexerDemultiplexer () {
10222
8399
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
10223
8400
  }
10224
8401
  };
10225
- Object.defineProperty(exports, "__esModule", { value: true });
10226
- exports.ResumeOkAwaitingResumableClientServerInputMultiplexerDemultiplexer = exports.ResumableClientServerInputMultiplexerDemultiplexer = exports.ClientServerInputMultiplexerDemultiplexer = exports.StreamIdGenerator = void 0;
8402
+ Object.defineProperty(exports$1, "__esModule", { value: true });
8403
+ exports$1.ResumeOkAwaitingResumableClientServerInputMultiplexerDemultiplexer = exports$1.ResumableClientServerInputMultiplexerDemultiplexer = exports$1.ClientServerInputMultiplexerDemultiplexer = exports$1.StreamIdGenerator = void 0;
10227
8404
  var _1 = requireDist();
10228
8405
  var Deferred_1 = requireDeferred();
10229
8406
  var Errors_1 = requireErrors();
@@ -10246,7 +8423,7 @@ function requireClientServerMultiplexerDemultiplexer () {
10246
8423
  };
10247
8424
  return StreamIdGeneratorImpl;
10248
8425
  }());
10249
- })(exports.StreamIdGenerator || (exports.StreamIdGenerator = {}));
8426
+ })(exports$1.StreamIdGenerator || (exports$1.StreamIdGenerator = {}));
10250
8427
  var ClientServerInputMultiplexerDemultiplexer = /** @class */ (function (_super) {
10251
8428
  __extends(ClientServerInputMultiplexerDemultiplexer, _super);
10252
8429
  function ClientServerInputMultiplexerDemultiplexer(streamIdSupplier, outbound, closeable) {
@@ -10335,7 +8512,7 @@ function requireClientServerMultiplexerDemultiplexer () {
10335
8512
  };
10336
8513
  return ClientServerInputMultiplexerDemultiplexer;
10337
8514
  }(Deferred_1.Deferred));
10338
- exports.ClientServerInputMultiplexerDemultiplexer = ClientServerInputMultiplexerDemultiplexer;
8515
+ exports$1.ClientServerInputMultiplexerDemultiplexer = ClientServerInputMultiplexerDemultiplexer;
10339
8516
  var ResumableClientServerInputMultiplexerDemultiplexer = /** @class */ (function (_super) {
10340
8517
  __extends(ResumableClientServerInputMultiplexerDemultiplexer, _super);
10341
8518
  function ResumableClientServerInputMultiplexerDemultiplexer(streamIdSupplier, outbound, closeable, frameStore, token, sessionStoreOrReconnector, sessionTimeout) {
@@ -10492,7 +8669,7 @@ function requireClientServerMultiplexerDemultiplexer () {
10492
8669
  };
10493
8670
  return ResumableClientServerInputMultiplexerDemultiplexer;
10494
8671
  }(ClientServerInputMultiplexerDemultiplexer));
10495
- exports.ResumableClientServerInputMultiplexerDemultiplexer = ResumableClientServerInputMultiplexerDemultiplexer;
8672
+ exports$1.ResumableClientServerInputMultiplexerDemultiplexer = ResumableClientServerInputMultiplexerDemultiplexer;
10496
8673
  var ResumeOkAwaitingResumableClientServerInputMultiplexerDemultiplexer = /** @class */ (function () {
10497
8674
  function ResumeOkAwaitingResumableClientServerInputMultiplexerDemultiplexer(outbound, closeable, delegate) {
10498
8675
  this.outbound = outbound;
@@ -10549,7 +8726,7 @@ function requireClientServerMultiplexerDemultiplexer () {
10549
8726
  };
10550
8727
  return ResumeOkAwaitingResumableClientServerInputMultiplexerDemultiplexer;
10551
8728
  }());
10552
- exports.ResumeOkAwaitingResumableClientServerInputMultiplexerDemultiplexer = ResumeOkAwaitingResumableClientServerInputMultiplexerDemultiplexer;
8729
+ exports$1.ResumeOkAwaitingResumableClientServerInputMultiplexerDemultiplexer = ResumeOkAwaitingResumableClientServerInputMultiplexerDemultiplexer;
10553
8730
 
10554
8731
  } (ClientServerMultiplexerDemultiplexer));
10555
8732
  return ClientServerMultiplexerDemultiplexer;
@@ -13535,7 +11712,7 @@ var hasRequiredDist;
13535
11712
  function requireDist () {
13536
11713
  if (hasRequiredDist) return dist;
13537
11714
  hasRequiredDist = 1;
13538
- (function (exports) {
11715
+ (function (exports$1) {
13539
11716
  /*
13540
11717
  * Copyright 2021-2022 the original author or authors.
13541
11718
  *
@@ -13558,19 +11735,19 @@ function requireDist () {
13558
11735
  if (k2 === undefined) k2 = k;
13559
11736
  o[k2] = m[k];
13560
11737
  }));
13561
- var __exportStar = (dist && dist.__exportStar) || function(m, exports) {
13562
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11738
+ var __exportStar = (dist && dist.__exportStar) || function(m, exports$1) {
11739
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports$1, p)) __createBinding(exports$1, m, p);
13563
11740
  };
13564
- Object.defineProperty(exports, "__esModule", { value: true });
13565
- __exportStar(requireCodecs(), exports);
13566
- __exportStar(requireCommon(), exports);
13567
- __exportStar(requireDeferred(), exports);
13568
- __exportStar(requireErrors(), exports);
13569
- __exportStar(requireFrames(), exports);
13570
- __exportStar(requireRSocket(), exports);
13571
- __exportStar(requireRSocketConnector(), exports);
13572
- __exportStar(requireRSocketServer(), exports);
13573
- __exportStar(requireTransport(), exports);
11741
+ Object.defineProperty(exports$1, "__esModule", { value: true });
11742
+ __exportStar(requireCodecs(), exports$1);
11743
+ __exportStar(requireCommon(), exports$1);
11744
+ __exportStar(requireDeferred(), exports$1);
11745
+ __exportStar(requireErrors(), exports$1);
11746
+ __exportStar(requireFrames(), exports$1);
11747
+ __exportStar(requireRSocket(), exports$1);
11748
+ __exportStar(requireRSocketConnector(), exports$1);
11749
+ __exportStar(requireRSocketServer(), exports$1);
11750
+ __exportStar(requireTransport(), exports$1);
13574
11751
 
13575
11752
  } (dist));
13576
11753
  return dist;
@@ -13578,7 +11755,7 @@ function requireDist () {
13578
11755
 
13579
11756
  var distExports = requireDist();
13580
11757
 
13581
- var version = "1.43.1";
11758
+ var version = "1.45.0";
13582
11759
  var PACKAGE = {
13583
11760
  version: version};
13584
11761
 
@@ -13649,6 +11826,16 @@ class DataStream extends BaseObserver {
13649
11826
  * @returns a Data payload or Null if the stream closed.
13650
11827
  */
13651
11828
  async read() {
11829
+ if (this.closed) {
11830
+ return null;
11831
+ }
11832
+ // Wait for any pending processing to complete first.
11833
+ // This ensures we register our listener before calling processQueue(),
11834
+ // avoiding a race where processQueue() sees no reader and returns early.
11835
+ if (this.processingPromise) {
11836
+ await this.processingPromise;
11837
+ }
11838
+ // Re-check after await - stream may have closed while we were waiting
13652
11839
  if (this.closed) {
13653
11840
  return null;
13654
11841
  }
@@ -13688,7 +11875,7 @@ class DataStream extends BaseObserver {
13688
11875
  }
13689
11876
  const promise = (this.processingPromise = this._processQueue());
13690
11877
  promise.finally(() => {
13691
- return (this.processingPromise = null);
11878
+ this.processingPromise = null;
13692
11879
  });
13693
11880
  return promise;
13694
11881
  }
@@ -13720,7 +11907,6 @@ class DataStream extends BaseObserver {
13720
11907
  this.notifyDataAdded = null;
13721
11908
  }
13722
11909
  if (this.dataQueue.length > 0) {
13723
- // Next tick
13724
11910
  setTimeout(() => this.processQueue());
13725
11911
  }
13726
11912
  }
@@ -14100,7 +12286,7 @@ class AbstractRemote {
14100
12286
  else {
14101
12287
  contents = JSON.stringify(js);
14102
12288
  }
14103
- return bufferExports$1.Buffer.from(contents);
12289
+ return bufferExports.Buffer.from(contents);
14104
12290
  }
14105
12291
  const syncQueueRequestSize = fetchStrategy == FetchStrategy.Buffered ? 10 : 1;
14106
12292
  const request = await this.buildRequest(path);
@@ -14340,7 +12526,11 @@ class AbstractRemote {
14340
12526
  };
14341
12527
  const stream = new DataStream({
14342
12528
  logger: this.logger,
14343
- mapLine: mapLine
12529
+ mapLine: mapLine,
12530
+ pressure: {
12531
+ highWaterMark: 20,
12532
+ lowWaterMark: 10
12533
+ }
14344
12534
  });
14345
12535
  abortSignal?.addEventListener('abort', () => {
14346
12536
  closeReader();
@@ -14348,42 +12538,47 @@ class AbstractRemote {
14348
12538
  });
14349
12539
  const decoder = this.createTextDecoder();
14350
12540
  let buffer = '';
14351
- const l = stream.registerListener({
14352
- lowWater: async () => {
14353
- if (stream.closed || abortSignal?.aborted || readerReleased) {
12541
+ const consumeStream = async () => {
12542
+ while (!stream.closed && !abortSignal?.aborted && !readerReleased) {
12543
+ const { done, value } = await reader.read();
12544
+ if (done) {
12545
+ const remaining = buffer.trim();
12546
+ if (remaining.length != 0) {
12547
+ stream.enqueueData(remaining);
12548
+ }
12549
+ stream.close();
12550
+ await closeReader();
14354
12551
  return;
14355
12552
  }
14356
- try {
14357
- let didCompleteLine = false;
14358
- while (!didCompleteLine) {
14359
- const { done, value } = await reader.read();
14360
- if (done) {
14361
- const remaining = buffer.trim();
14362
- if (remaining.length != 0) {
14363
- stream.enqueueData(remaining);
14364
- }
14365
- stream.close();
14366
- await closeReader();
14367
- return;
14368
- }
14369
- const data = decoder.decode(value, { stream: true });
14370
- buffer += data;
14371
- const lines = buffer.split('\n');
14372
- for (var i = 0; i < lines.length - 1; i++) {
14373
- var l = lines[i].trim();
14374
- if (l.length > 0) {
14375
- stream.enqueueData(l);
14376
- didCompleteLine = true;
14377
- }
14378
- }
14379
- buffer = lines[lines.length - 1];
12553
+ const data = decoder.decode(value, { stream: true });
12554
+ buffer += data;
12555
+ const lines = buffer.split('\n');
12556
+ for (var i = 0; i < lines.length - 1; i++) {
12557
+ var l = lines[i].trim();
12558
+ if (l.length > 0) {
12559
+ stream.enqueueData(l);
14380
12560
  }
14381
12561
  }
14382
- catch (ex) {
14383
- stream.close();
14384
- throw ex;
12562
+ buffer = lines[lines.length - 1];
12563
+ // Implement backpressure by waiting for the low water mark to be reached
12564
+ if (stream.dataQueue.length > stream.highWatermark) {
12565
+ await new Promise((resolve) => {
12566
+ const dispose = stream.registerListener({
12567
+ lowWater: async () => {
12568
+ resolve();
12569
+ dispose();
12570
+ },
12571
+ closed: () => {
12572
+ resolve();
12573
+ dispose();
12574
+ }
12575
+ });
12576
+ });
14385
12577
  }
14386
- },
12578
+ }
12579
+ };
12580
+ consumeStream().catch(ex => this.logger.error('Error consuming stream', ex));
12581
+ const l = stream.registerListener({
14387
12582
  closed: () => {
14388
12583
  closeReader();
14389
12584
  l?.();
@@ -14505,6 +12700,7 @@ const DEFAULT_STREAMING_SYNC_OPTIONS = {
14505
12700
  crudUploadThrottleMs: DEFAULT_CRUD_UPLOAD_THROTTLE_MS
14506
12701
  };
14507
12702
  const DEFAULT_STREAM_CONNECTION_OPTIONS = {
12703
+ appMetadata: {},
14508
12704
  connectionMethod: SyncStreamConnectionMethod.WEB_SOCKET,
14509
12705
  clientImplementation: DEFAULT_SYNC_CLIENT_IMPLEMENTATION,
14510
12706
  fetchStrategy: FetchStrategy.Buffered,
@@ -14883,6 +13079,11 @@ The next upload iteration will be delayed.`);
14883
13079
  ...DEFAULT_STREAM_CONNECTION_OPTIONS,
14884
13080
  ...(options ?? {})
14885
13081
  };
13082
+ // Validate app metadata
13083
+ const invalidMetadata = Object.entries(resolvedOptions.appMetadata).filter(([_, value]) => typeof value != 'string');
13084
+ if (invalidMetadata.length > 0) {
13085
+ throw new Error(`Invalid appMetadata provided. Only string values are allowed. Invalid values: ${invalidMetadata.map(([key, value]) => `${key}: ${value}`).join(', ')}`);
13086
+ }
14886
13087
  const clientImplementation = resolvedOptions.clientImplementation;
14887
13088
  this.updateSyncStatus({ clientImplementation });
14888
13089
  if (clientImplementation == SyncClientImplementation.JAVASCRIPT) {
@@ -14918,6 +13119,7 @@ The next upload iteration will be delayed.`);
14918
13119
  include_checksum: true,
14919
13120
  raw_data: true,
14920
13121
  parameters: resolvedOptions.params,
13122
+ app_metadata: resolvedOptions.appMetadata,
14921
13123
  client_id: clientId
14922
13124
  }
14923
13125
  };
@@ -15277,6 +13479,7 @@ The next upload iteration will be delayed.`);
15277
13479
  try {
15278
13480
  const options = {
15279
13481
  parameters: resolvedOptions.params,
13482
+ app_metadata: resolvedOptions.appMetadata,
15280
13483
  active_streams: this.activeStreams,
15281
13484
  include_defaults: resolvedOptions.includeDefaultStreams
15282
13485
  };
@@ -15913,14 +14116,14 @@ class AbstractPowerSyncDatabase extends BaseObserver {
15913
14116
  async initialize() {
15914
14117
  await this._initialize();
15915
14118
  await this.bucketStorageAdapter.init();
15916
- await this._loadVersion();
14119
+ await this.loadVersion();
15917
14120
  await this.updateSchema(this.options.schema);
15918
14121
  await this.resolveOfflineSyncStatus();
15919
14122
  await this.database.execute('PRAGMA RECURSIVE_TRIGGERS=TRUE');
15920
14123
  this.ready = true;
15921
14124
  this.iterateListeners((cb) => cb.initialized?.());
15922
14125
  }
15923
- async _loadVersion() {
14126
+ async loadVersion() {
15924
14127
  try {
15925
14128
  const { version } = await this.database.get('SELECT powersync_rs_version() as version');
15926
14129
  this.sdkVersion = version;
@@ -17059,6 +15262,27 @@ class SyncDataBatch {
17059
15262
  }
17060
15263
  }
17061
15264
 
15265
+ /**
15266
+ * Thrown when an underlying database connection is closed.
15267
+ * This is particularly relevant when worker connections are marked as closed while
15268
+ * operations are still in progress.
15269
+ */
15270
+ class ConnectionClosedError extends Error {
15271
+ static NAME = 'ConnectionClosedError';
15272
+ static MATCHES(input) {
15273
+ /**
15274
+ * If there are weird package issues which cause multiple versions of classes to be present, the instanceof
15275
+ * check might fail. This also performs a failsafe check.
15276
+ * This might also happen if the Error is serialized and parsed over a bridging channel like a MessagePort.
15277
+ */
15278
+ return (input instanceof ConnectionClosedError || (input instanceof Error && input.name == ConnectionClosedError.NAME));
15279
+ }
15280
+ constructor(message) {
15281
+ super(message);
15282
+ this.name = ConnectionClosedError.NAME;
15283
+ }
15284
+ }
15285
+
17062
15286
  // https://www.sqlite.org/lang_expr.html#castexpr
17063
15287
  var ColumnType;
17064
15288
  (function (ColumnType) {
@@ -17617,13 +15841,13 @@ const parseQuery = (query, parameters) => {
17617
15841
  //# sourceMappingURL=bundle.mjs.map
17618
15842
 
17619
15843
 
17620
- /***/ }),
15844
+ /***/ },
17621
15845
 
17622
- /***/ "./lib/src/db/adapters/wa-sqlite/WASQLiteConnection.js":
15846
+ /***/ "./lib/src/db/adapters/wa-sqlite/WASQLiteConnection.js"
17623
15847
  /*!*************************************************************!*\
17624
15848
  !*** ./lib/src/db/adapters/wa-sqlite/WASQLiteConnection.js ***!
17625
15849
  \*************************************************************/
17626
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
15850
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
17627
15851
 
17628
15852
  __webpack_require__.r(__webpack_exports__);
17629
15853
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -17635,9 +15859,9 @@ __webpack_require__.r(__webpack_exports__);
17635
15859
  /* harmony export */ WASQLiteVFS: () => (/* binding */ WASQLiteVFS),
17636
15860
  /* harmony export */ WASqliteConnection: () => (/* binding */ WASqliteConnection)
17637
15861
  /* harmony export */ });
17638
- /* harmony import */ var _journeyapps_wa_sqlite__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @journeyapps/wa-sqlite */ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js");
15862
+ /* harmony import */ var _journeyapps_wa_sqlite__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @journeyapps/wa-sqlite */ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js");
17639
15863
  /* harmony import */ var _powersync_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @powersync/common */ "../common/dist/bundle.mjs");
17640
- /* harmony import */ var async_mutex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! async-mutex */ "../../node_modules/async-mutex/index.mjs");
15864
+ /* harmony import */ var async_mutex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! async-mutex */ "../../node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs");
17641
15865
 
17642
15866
 
17643
15867
 
@@ -17654,28 +15878,28 @@ var WASQLiteVFS;
17654
15878
  * @internal
17655
15879
  */
17656
15880
  const AsyncWASQLiteModuleFactory = async () => {
17657
- const { default: factory } = await __webpack_require__.e(/*! import() */ "node_modules_journeyapps_wa-sqlite_dist_wa-sqlite-async_mjs").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/dist/wa-sqlite-async.mjs */ "../../node_modules/@journeyapps/wa-sqlite/dist/wa-sqlite-async.mjs"));
15881
+ const { default: factory } = await __webpack_require__.e(/*! import() */ "node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_wa-sqli-f60d0d").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/dist/wa-sqlite-async.mjs */ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/dist/wa-sqlite-async.mjs"));
17658
15882
  return factory();
17659
15883
  };
17660
15884
  /**
17661
15885
  * @internal
17662
15886
  */
17663
15887
  const MultiCipherAsyncWASQLiteModuleFactory = async () => {
17664
- const { default: factory } = await __webpack_require__.e(/*! import() */ "node_modules_journeyapps_wa-sqlite_dist_mc-wa-sqlite-async_mjs").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/dist/mc-wa-sqlite-async.mjs */ "../../node_modules/@journeyapps/wa-sqlite/dist/mc-wa-sqlite-async.mjs"));
15888
+ const { default: factory } = await __webpack_require__.e(/*! import() */ "node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-3a94cf").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/dist/mc-wa-sqlite-async.mjs */ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/dist/mc-wa-sqlite-async.mjs"));
17665
15889
  return factory();
17666
15890
  };
17667
15891
  /**
17668
15892
  * @internal
17669
15893
  */
17670
15894
  const SyncWASQLiteModuleFactory = async () => {
17671
- const { default: factory } = await __webpack_require__.e(/*! import() */ "node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/dist/wa-sqlite.mjs */ "../../node_modules/@journeyapps/wa-sqlite/dist/wa-sqlite.mjs"));
15895
+ const { default: factory } = await __webpack_require__.e(/*! import() */ "node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/dist/wa-sqlite.mjs */ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/dist/wa-sqlite.mjs"));
17672
15896
  return factory();
17673
15897
  };
17674
15898
  /**
17675
15899
  * @internal
17676
15900
  */
17677
15901
  const MultiCipherSyncWASQLiteModuleFactory = async () => {
17678
- const { default: factory } = await __webpack_require__.e(/*! import() */ "node_modules_journeyapps_wa-sqlite_dist_mc-wa-sqlite_mjs").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/dist/mc-wa-sqlite.mjs */ "../../node_modules/@journeyapps/wa-sqlite/dist/mc-wa-sqlite.mjs"));
15902
+ const { default: factory } = await __webpack_require__.e(/*! import() */ "node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-868779").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/dist/mc-wa-sqlite.mjs */ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/dist/mc-wa-sqlite.mjs"));
17679
15903
  return factory();
17680
15904
  };
17681
15905
  /**
@@ -17690,7 +15914,7 @@ const DEFAULT_MODULE_FACTORIES = {
17690
15914
  else {
17691
15915
  module = await AsyncWASQLiteModuleFactory();
17692
15916
  }
17693
- const { IDBBatchAtomicVFS } = await __webpack_require__.e(/*! import() */ "node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js */ "../../node_modules/@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js"));
15917
+ const { IDBBatchAtomicVFS } = await __webpack_require__.e(/*! import() */ "node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-0d2437").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js */ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js"));
17694
15918
  return {
17695
15919
  module,
17696
15920
  // @ts-expect-error The types for this static method are missing upstream
@@ -17706,7 +15930,7 @@ const DEFAULT_MODULE_FACTORIES = {
17706
15930
  module = await SyncWASQLiteModuleFactory();
17707
15931
  }
17708
15932
  // @ts-expect-error The types for this static method are missing upstream
17709
- const { AccessHandlePoolVFS } = await __webpack_require__.e(/*! import() */ "node_modules_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js */ "../../node_modules/@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js"));
15933
+ const { AccessHandlePoolVFS } = await __webpack_require__.e(/*! import() */ "node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-3622cf").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js */ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js"));
17710
15934
  return {
17711
15935
  module,
17712
15936
  vfs: await AccessHandlePoolVFS.create(options.dbFileName, module)
@@ -17721,7 +15945,7 @@ const DEFAULT_MODULE_FACTORIES = {
17721
15945
  module = await SyncWASQLiteModuleFactory();
17722
15946
  }
17723
15947
  // @ts-expect-error The types for this static method are missing upstream
17724
- const { OPFSCoopSyncVFS } = await __webpack_require__.e(/*! import() */ "node_modules_journeyapps_wa-sqlite_src_examples_OPFSCoopSyncVFS_js").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js */ "../../node_modules/@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js"));
15948
+ const { OPFSCoopSyncVFS } = await __webpack_require__.e(/*! import() */ "node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-1d4e74").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js */ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js"));
17725
15949
  const vfs = await OPFSCoopSyncVFS.create(options.dbFileName, module);
17726
15950
  return {
17727
15951
  module,
@@ -18041,13 +16265,13 @@ class WASqliteConnection extends _powersync_common__WEBPACK_IMPORTED_MODULE_1__.
18041
16265
  }
18042
16266
 
18043
16267
 
18044
- /***/ }),
16268
+ /***/ },
18045
16269
 
18046
- /***/ "./lib/src/shared/navigator.js":
16270
+ /***/ "./lib/src/shared/navigator.js"
18047
16271
  /*!*************************************!*\
18048
16272
  !*** ./lib/src/shared/navigator.js ***!
18049
16273
  \*************************************/
18050
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
16274
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
18051
16275
 
18052
16276
  __webpack_require__.r(__webpack_exports__);
18053
16277
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -18061,13 +16285,13 @@ const getNavigatorLocks = () => {
18061
16285
  };
18062
16286
 
18063
16287
 
18064
- /***/ }),
16288
+ /***/ },
18065
16289
 
18066
- /***/ "./lib/src/worker/db/SharedWASQLiteConnection.js":
16290
+ /***/ "./lib/src/worker/db/SharedWASQLiteConnection.js"
18067
16291
  /*!*******************************************************!*\
18068
16292
  !*** ./lib/src/worker/db/SharedWASQLiteConnection.js ***!
18069
16293
  \*******************************************************/
18070
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
16294
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
18071
16295
 
18072
16296
  __webpack_require__.r(__webpack_exports__);
18073
16297
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -18165,35 +16389,35 @@ class SharedWASQLiteConnection {
18165
16389
  }
18166
16390
 
18167
16391
 
18168
- /***/ }),
16392
+ /***/ },
18169
16393
 
18170
- /***/ "./lib/src/worker/db/WorkerWASQLiteConnection.js":
16394
+ /***/ "./lib/src/worker/db/WorkerWASQLiteConnection.js"
18171
16395
  /*!*******************************************************!*\
18172
16396
  !*** ./lib/src/worker/db/WorkerWASQLiteConnection.js ***!
18173
16397
  \*******************************************************/
18174
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
16398
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
18175
16399
 
18176
16400
  __webpack_require__.r(__webpack_exports__);
18177
16401
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18178
16402
  /* harmony export */ WorkerWASQLiteConnection: () => (/* binding */ WorkerWASQLiteConnection)
18179
16403
  /* harmony export */ });
18180
- /* harmony import */ var comlink__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! comlink */ "../../node_modules/comlink/dist/esm/comlink.mjs");
18181
- /* harmony import */ var _db_adapters_wa_sqlite_WASQLiteConnection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../db/adapters/wa-sqlite/WASQLiteConnection */ "./lib/src/db/adapters/wa-sqlite/WASQLiteConnection.js");
16404
+ /* harmony import */ var comlink__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! comlink */ "../../node_modules/.pnpm/comlink@4.4.2/node_modules/comlink/dist/esm/comlink.mjs");
16405
+ /* harmony import */ var _db_adapters_wa_sqlite_WASQLiteConnection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../db/adapters/wa-sqlite/WASQLiteConnection.js */ "./lib/src/db/adapters/wa-sqlite/WASQLiteConnection.js");
18182
16406
 
18183
16407
 
18184
16408
  /**
18185
16409
  * A Small proxy wrapper around the WASqliteConnection.
18186
16410
  * This ensures that certain return types are properly proxied.
18187
16411
  */
18188
- class WorkerWASQLiteConnection extends _db_adapters_wa_sqlite_WASQLiteConnection__WEBPACK_IMPORTED_MODULE_0__.WASqliteConnection {
16412
+ class WorkerWASQLiteConnection extends _db_adapters_wa_sqlite_WASQLiteConnection_js__WEBPACK_IMPORTED_MODULE_1__.WASqliteConnection {
18189
16413
  async registerOnTableChange(callback) {
18190
16414
  // Proxy the callback remove function
18191
- return comlink__WEBPACK_IMPORTED_MODULE_1__.proxy(await super.registerOnTableChange(callback));
16415
+ return comlink__WEBPACK_IMPORTED_MODULE_0__.proxy(await super.registerOnTableChange(callback));
18192
16416
  }
18193
16417
  }
18194
16418
 
18195
16419
 
18196
- /***/ })
16420
+ /***/ }
18197
16421
 
18198
16422
  /******/ });
18199
16423
  /************************************************************************/
@@ -18207,6 +16431,12 @@ class WorkerWASQLiteConnection extends _db_adapters_wa_sqlite_WASQLiteConnection
18207
16431
  /******/ if (cachedModule !== undefined) {
18208
16432
  /******/ return cachedModule.exports;
18209
16433
  /******/ }
16434
+ /******/ // Check if module exists (development only)
16435
+ /******/ if (__webpack_modules__[moduleId] === undefined) {
16436
+ /******/ var e = new Error("Cannot find module '" + moduleId + "'");
16437
+ /******/ e.code = 'MODULE_NOT_FOUND';
16438
+ /******/ throw e;
16439
+ /******/ }
18210
16440
  /******/ // Create a new module (and put it into the cache)
18211
16441
  /******/ var module = __webpack_module_cache__[moduleId] = {
18212
16442
  /******/ // no module.id needed
@@ -18359,12 +16589,12 @@ var __webpack_exports__ = {};
18359
16589
  !*** ./lib/src/worker/db/WASQLiteDB.worker.js ***!
18360
16590
  \************************************************/
18361
16591
  __webpack_require__.r(__webpack_exports__);
18362
- /* harmony import */ var _journeyapps_wa_sqlite__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @journeyapps/wa-sqlite */ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js");
16592
+ /* harmony import */ var _journeyapps_wa_sqlite__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @journeyapps/wa-sqlite */ "../../node_modules/.pnpm/@journeyapps+wa-sqlite@1.4.1/node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js");
18363
16593
  /* harmony import */ var _powersync_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @powersync/common */ "../common/dist/bundle.mjs");
18364
- /* harmony import */ var comlink__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! comlink */ "../../node_modules/comlink/dist/esm/comlink.mjs");
18365
- /* harmony import */ var _shared_navigator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/navigator */ "./lib/src/shared/navigator.js");
18366
- /* harmony import */ var _SharedWASQLiteConnection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SharedWASQLiteConnection */ "./lib/src/worker/db/SharedWASQLiteConnection.js");
18367
- /* harmony import */ var _WorkerWASQLiteConnection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./WorkerWASQLiteConnection */ "./lib/src/worker/db/WorkerWASQLiteConnection.js");
16594
+ /* harmony import */ var comlink__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! comlink */ "../../node_modules/.pnpm/comlink@4.4.2/node_modules/comlink/dist/esm/comlink.mjs");
16595
+ /* harmony import */ var _shared_navigator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/navigator.js */ "./lib/src/shared/navigator.js");
16596
+ /* harmony import */ var _SharedWASQLiteConnection_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SharedWASQLiteConnection.js */ "./lib/src/worker/db/SharedWASQLiteConnection.js");
16597
+ /* harmony import */ var _WorkerWASQLiteConnection_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./WorkerWASQLiteConnection.js */ "./lib/src/worker/db/WorkerWASQLiteConnection.js");
18368
16598
  /**
18369
16599
  * Supports both shared and dedicated workers, based on how the worker is constructed (new SharedWorker vs new Worker()).
18370
16600
  */
@@ -18382,14 +16612,14 @@ const OPEN_DB_LOCK = 'open-wasqlite-db';
18382
16612
  let nextClientId = 1;
18383
16613
  const openDBShared = async (options) => {
18384
16614
  // Prevent multiple simultaneous opens from causing race conditions
18385
- return (0,_shared_navigator__WEBPACK_IMPORTED_MODULE_2__.getNavigatorLocks)().request(OPEN_DB_LOCK, async () => {
16615
+ return (0,_shared_navigator_js__WEBPACK_IMPORTED_MODULE_3__.getNavigatorLocks)().request(OPEN_DB_LOCK, async () => {
18386
16616
  const clientId = nextClientId++;
18387
16617
  const { dbFilename, logLevel } = options;
18388
16618
  logger.setLevel(logLevel);
18389
16619
  if (!DBMap.has(dbFilename)) {
18390
16620
  const clientIds = new Set();
18391
16621
  // This format returns proxy objects for function callbacks
18392
- const connection = new _WorkerWASQLiteConnection__WEBPACK_IMPORTED_MODULE_4__.WorkerWASQLiteConnection(options);
16622
+ const connection = new _WorkerWASQLiteConnection_js__WEBPACK_IMPORTED_MODULE_5__.WorkerWASQLiteConnection(options);
18393
16623
  await connection.init();
18394
16624
  connection.registerListener({
18395
16625
  holdOverwritten: async () => {
@@ -18407,13 +16637,13 @@ const openDBShared = async (options) => {
18407
16637
  });
18408
16638
  }
18409
16639
  // Associates this clientId with the shared connection entry
18410
- const sharedConnection = new _SharedWASQLiteConnection__WEBPACK_IMPORTED_MODULE_3__.SharedWASQLiteConnection({
16640
+ const sharedConnection = new _SharedWASQLiteConnection_js__WEBPACK_IMPORTED_MODULE_4__.SharedWASQLiteConnection({
18411
16641
  dbMap: DBMap,
18412
16642
  dbFilename,
18413
16643
  clientId,
18414
16644
  logger
18415
16645
  });
18416
- return comlink__WEBPACK_IMPORTED_MODULE_5__.proxy(sharedConnection);
16646
+ return comlink__WEBPACK_IMPORTED_MODULE_2__.proxy(sharedConnection);
18417
16647
  });
18418
16648
  };
18419
16649
  // Check if we're in a SharedWorker context
@@ -18421,12 +16651,12 @@ if (typeof SharedWorkerGlobalScope !== 'undefined') {
18421
16651
  const _self = self;
18422
16652
  _self.onconnect = function (event) {
18423
16653
  const port = event.ports[0];
18424
- comlink__WEBPACK_IMPORTED_MODULE_5__.expose(openDBShared, port);
16654
+ comlink__WEBPACK_IMPORTED_MODULE_2__.expose(openDBShared, port);
18425
16655
  };
18426
16656
  }
18427
16657
  else {
18428
16658
  // A dedicated worker can be shared externally
18429
- comlink__WEBPACK_IMPORTED_MODULE_5__.expose(openDBShared);
16659
+ comlink__WEBPACK_IMPORTED_MODULE_2__.expose(openDBShared);
18430
16660
  }
18431
16661
  addEventListener('unload', () => {
18432
16662
  Array.from(DBMap.values()).forEach(async (dbConnection) => {