@kohost/api-client 3.0.0-beta.65 → 3.0.0-beta.68

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.
@@ -215,18 +215,16 @@ var require_cjs = __commonJS({
215
215
  "node_modules/engine.io-parser/build/cjs/index.js"(exports) {
216
216
  "use strict";
217
217
  Object.defineProperty(exports, "__esModule", { value: true });
218
- exports.decodePayload = exports.decodePacket = exports.encodePayload = exports.encodePacketToBinary = exports.encodePacket = exports.protocol = exports.decodePacketFromBinary = void 0;
218
+ exports.decodePayload = exports.decodePacket = exports.encodePayload = exports.encodePacket = exports.protocol = exports.createPacketDecoderStream = exports.createPacketEncoderStream = void 0;
219
219
  var encodePacket_js_1 = require_encodePacket_browser();
220
220
  Object.defineProperty(exports, "encodePacket", { enumerable: true, get: function() {
221
221
  return encodePacket_js_1.encodePacket;
222
222
  } });
223
- Object.defineProperty(exports, "encodePacketToBinary", { enumerable: true, get: function() {
224
- return encodePacket_js_1.encodePacketToBinary;
225
- } });
226
223
  var decodePacket_js_1 = require_decodePacket_browser();
227
224
  Object.defineProperty(exports, "decodePacket", { enumerable: true, get: function() {
228
225
  return decodePacket_js_1.decodePacket;
229
226
  } });
227
+ var commons_js_1 = require_commons();
230
228
  var SEPARATOR = String.fromCharCode(30);
231
229
  var encodePayload = /* @__PURE__ */ __name((packets, callback) => {
232
230
  const length = packets.length;
@@ -255,16 +253,125 @@ var require_cjs = __commonJS({
255
253
  return packets;
256
254
  }, "decodePayload");
257
255
  exports.decodePayload = decodePayload;
256
+ function createPacketEncoderStream() {
257
+ return new TransformStream({
258
+ transform(packet, controller) {
259
+ (0, encodePacket_js_1.encodePacketToBinary)(packet, (encodedPacket) => {
260
+ const payloadLength = encodedPacket.length;
261
+ let header;
262
+ if (payloadLength < 126) {
263
+ header = new Uint8Array(1);
264
+ new DataView(header.buffer).setUint8(0, payloadLength);
265
+ } else if (payloadLength < 65536) {
266
+ header = new Uint8Array(3);
267
+ const view = new DataView(header.buffer);
268
+ view.setUint8(0, 126);
269
+ view.setUint16(1, payloadLength);
270
+ } else {
271
+ header = new Uint8Array(9);
272
+ const view = new DataView(header.buffer);
273
+ view.setUint8(0, 127);
274
+ view.setBigUint64(1, BigInt(payloadLength));
275
+ }
276
+ if (packet.data && typeof packet.data !== "string") {
277
+ header[0] |= 128;
278
+ }
279
+ controller.enqueue(header);
280
+ controller.enqueue(encodedPacket);
281
+ });
282
+ }
283
+ });
284
+ }
285
+ __name(createPacketEncoderStream, "createPacketEncoderStream");
286
+ exports.createPacketEncoderStream = createPacketEncoderStream;
258
287
  var TEXT_DECODER;
259
- function decodePacketFromBinary(data, isBinary, binaryType) {
288
+ function totalLength(chunks) {
289
+ return chunks.reduce((acc, chunk) => acc + chunk.length, 0);
290
+ }
291
+ __name(totalLength, "totalLength");
292
+ function concatChunks(chunks, size) {
293
+ if (chunks[0].length === size) {
294
+ return chunks.shift();
295
+ }
296
+ const buffer = new Uint8Array(size);
297
+ let j = 0;
298
+ for (let i = 0; i < size; i++) {
299
+ buffer[i] = chunks[0][j++];
300
+ if (j === chunks[0].length) {
301
+ chunks.shift();
302
+ j = 0;
303
+ }
304
+ }
305
+ if (chunks.length && j < chunks[0].length) {
306
+ chunks[0] = chunks[0].slice(j);
307
+ }
308
+ return buffer;
309
+ }
310
+ __name(concatChunks, "concatChunks");
311
+ function createPacketDecoderStream(maxPayload, binaryType) {
260
312
  if (!TEXT_DECODER) {
261
313
  TEXT_DECODER = new TextDecoder();
262
314
  }
263
- const isPlainBinary = isBinary || data[0] < 48 || data[0] > 54;
264
- return (0, decodePacket_js_1.decodePacket)(isPlainBinary ? data : TEXT_DECODER.decode(data), binaryType);
315
+ const chunks = [];
316
+ let state = 0;
317
+ let expectedLength = -1;
318
+ let isBinary = false;
319
+ return new TransformStream({
320
+ transform(chunk, controller) {
321
+ chunks.push(chunk);
322
+ while (true) {
323
+ if (state === 0) {
324
+ if (totalLength(chunks) < 1) {
325
+ break;
326
+ }
327
+ const header = concatChunks(chunks, 1);
328
+ isBinary = (header[0] & 128) === 128;
329
+ expectedLength = header[0] & 127;
330
+ if (expectedLength < 126) {
331
+ state = 3;
332
+ } else if (expectedLength === 126) {
333
+ state = 1;
334
+ } else {
335
+ state = 2;
336
+ }
337
+ } else if (state === 1) {
338
+ if (totalLength(chunks) < 2) {
339
+ break;
340
+ }
341
+ const headerArray = concatChunks(chunks, 2);
342
+ expectedLength = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length).getUint16(0);
343
+ state = 3;
344
+ } else if (state === 2) {
345
+ if (totalLength(chunks) < 8) {
346
+ break;
347
+ }
348
+ const headerArray = concatChunks(chunks, 8);
349
+ const view = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length);
350
+ const n = view.getUint32(0);
351
+ if (n > Math.pow(2, 53 - 32) - 1) {
352
+ controller.enqueue(commons_js_1.ERROR_PACKET);
353
+ break;
354
+ }
355
+ expectedLength = n * Math.pow(2, 32) + view.getUint32(4);
356
+ state = 3;
357
+ } else {
358
+ if (totalLength(chunks) < expectedLength) {
359
+ break;
360
+ }
361
+ const data = concatChunks(chunks, expectedLength);
362
+ controller.enqueue((0, decodePacket_js_1.decodePacket)(isBinary ? data : TEXT_DECODER.decode(data), binaryType));
363
+ state = 0;
364
+ }
365
+ if (expectedLength === 0 || expectedLength > maxPayload) {
366
+ controller.enqueue(commons_js_1.ERROR_PACKET);
367
+ break;
368
+ }
369
+ }
370
+ }
371
+ });
265
372
  }
266
- __name(decodePacketFromBinary, "decodePacketFromBinary");
267
- exports.decodePacketFromBinary = decodePacketFromBinary;
373
+ __name(createPacketDecoderStream, "createPacketDecoderStream");
374
+ exports.createPacketDecoderStream = createPacketDecoderStream;
268
375
  exports.protocol = 4;
269
376
  }
270
377
  });
@@ -1639,7 +1746,7 @@ var require_websocket = __commonJS({
1639
1746
  } catch (err) {
1640
1747
  return this.emitReserved("error", err);
1641
1748
  }
1642
- this.ws.binaryType = this.socket.binaryType || websocket_constructor_js_1.defaultBinaryType;
1749
+ this.ws.binaryType = this.socket.binaryType;
1643
1750
  this.addEventListeners();
1644
1751
  }
1645
1752
  /**
@@ -1750,10 +1857,6 @@ var require_webtransport = __commonJS({
1750
1857
  var engine_io_parser_1 = require_cjs();
1751
1858
  var debug_1 = __importDefault(require_browser());
1752
1859
  var debug = (0, debug_1.default)("engine.io-client:webtransport");
1753
- function shouldIncludeBinaryHeader(packet, encoded) {
1754
- return packet.type === "message" && typeof packet.data !== "string" && encoded[0] >= 48 && encoded[0] <= 54;
1755
- }
1756
- __name(shouldIncludeBinaryHeader, "shouldIncludeBinaryHeader");
1757
1860
  var WT = class extends transport_js_1.Transport {
1758
1861
  static {
1759
1862
  __name(this, "WT");
@@ -1775,9 +1878,11 @@ var require_webtransport = __commonJS({
1775
1878
  });
1776
1879
  this.transport.ready.then(() => {
1777
1880
  this.transport.createBidirectionalStream().then((stream) => {
1778
- const reader = stream.readable.getReader();
1779
- this.writer = stream.writable.getWriter();
1780
- let binaryFlag;
1881
+ const decoderStream = (0, engine_io_parser_1.createPacketDecoderStream)(Number.MAX_SAFE_INTEGER, this.socket.binaryType);
1882
+ const reader = stream.readable.pipeThrough(decoderStream).getReader();
1883
+ const encoderStream = (0, engine_io_parser_1.createPacketEncoderStream)();
1884
+ encoderStream.readable.pipeTo(stream.writable);
1885
+ this.writer = encoderStream.writable.getWriter();
1781
1886
  const read = /* @__PURE__ */ __name(() => {
1782
1887
  reader.read().then(({ done, value }) => {
1783
1888
  if (done) {
@@ -1785,20 +1890,18 @@ var require_webtransport = __commonJS({
1785
1890
  return;
1786
1891
  }
1787
1892
  debug("received chunk: %o", value);
1788
- if (!binaryFlag && value.byteLength === 1 && value[0] === 54) {
1789
- binaryFlag = true;
1790
- } else {
1791
- this.onPacket((0, engine_io_parser_1.decodePacketFromBinary)(value, binaryFlag, "arraybuffer"));
1792
- binaryFlag = false;
1793
- }
1893
+ this.onPacket(value);
1794
1894
  read();
1795
1895
  }).catch((err) => {
1796
1896
  debug("an error occurred while reading: %s", err);
1797
1897
  });
1798
1898
  }, "read");
1799
1899
  read();
1800
- const handshake = this.query.sid ? `0{"sid":"${this.query.sid}"}` : "0";
1801
- this.writer.write(new TextEncoder().encode(handshake)).then(() => this.onOpen());
1900
+ const packet = { type: "open" };
1901
+ if (this.query.sid) {
1902
+ packet.data = `{"sid":"${this.query.sid}"}`;
1903
+ }
1904
+ this.writer.write(packet).then(() => this.onOpen());
1802
1905
  });
1803
1906
  });
1804
1907
  }
@@ -1807,20 +1910,13 @@ var require_webtransport = __commonJS({
1807
1910
  for (let i = 0; i < packets.length; i++) {
1808
1911
  const packet = packets[i];
1809
1912
  const lastPacket = i === packets.length - 1;
1810
- (0, engine_io_parser_1.encodePacketToBinary)(packet, (data) => {
1811
- if (shouldIncludeBinaryHeader(packet, data)) {
1812
- debug("writing binary header");
1813
- this.writer.write(Uint8Array.of(54));
1913
+ this.writer.write(packet).then(() => {
1914
+ if (lastPacket) {
1915
+ (0, websocket_constructor_js_1.nextTick)(() => {
1916
+ this.writable = true;
1917
+ this.emitReserved("drain");
1918
+ }, this.setTimeoutFn);
1814
1919
  }
1815
- debug("writing chunk: %o", data);
1816
- this.writer.write(data).then(() => {
1817
- if (lastPacket) {
1818
- (0, websocket_constructor_js_1.nextTick)(() => {
1819
- this.writable = true;
1820
- this.emitReserved("drain");
1821
- }, this.setTimeoutFn);
1822
- }
1823
- });
1824
1920
  });
1825
1921
  }
1826
1922
  }
@@ -1934,6 +2030,7 @@ var require_socket = __commonJS({
1934
2030
  var debug_1 = __importDefault(require_browser());
1935
2031
  var component_emitter_1 = require_component_emitter();
1936
2032
  var engine_io_parser_1 = require_cjs();
2033
+ var websocket_constructor_js_1 = require_websocket_constructor_browser();
1937
2034
  var debug = (0, debug_1.default)("engine.io-client:socket");
1938
2035
  var Socket = class _Socket extends component_emitter_1.Emitter {
1939
2036
  static {
@@ -1947,6 +2044,7 @@ var require_socket = __commonJS({
1947
2044
  */
1948
2045
  constructor(uri, opts = {}) {
1949
2046
  super();
2047
+ this.binaryType = websocket_constructor_js_1.defaultBinaryType;
1950
2048
  this.writeBuffer = [];
1951
2049
  if (uri && "object" === typeof uri) {
1952
2050
  opts = uri;
@@ -2220,12 +2318,12 @@ var require_socket = __commonJS({
2220
2318
  debug('socket receive: type "%s", data "%s"', packet.type, packet.data);
2221
2319
  this.emitReserved("packet", packet);
2222
2320
  this.emitReserved("heartbeat");
2321
+ this.resetPingTimeout();
2223
2322
  switch (packet.type) {
2224
2323
  case "open":
2225
2324
  this.onHandshake(JSON.parse(packet.data));
2226
2325
  break;
2227
2326
  case "ping":
2228
- this.resetPingTimeout();
2229
2327
  this.sendPacket("pong");
2230
2328
  this.emitReserved("ping");
2231
2329
  this.emitReserved("pong");