diff --git a/lib/index.ts b/lib/index.ts index 6be1f06..43c88fe 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -7,6 +7,9 @@ import { BinaryType, ERROR_PACKET, } from "./commons.js"; +// we can't import TransformStream as a value because it was added in Node.js v16.5.0, so it would break on older Node.js versions +// reference: https://nodejs.org/api/webstreams.html#class-transformstream +import type { TransformStream } from "node:stream/web"; const SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text @@ -47,6 +50,7 @@ const decodePayload = ( }; export function createPacketEncoderStream() { + // @ts-expect-error return new TransformStream({ transform(packet: Packet, controller) { encodePacketToBinary(packet, (encodedPacket) => { @@ -122,6 +126,7 @@ export function createPacketDecoderStream( let expectedLength = -1; let isBinary = false; + // @ts-expect-error return new TransformStream({ transform(chunk: Uint8Array, controller) { chunks.push(chunk); diff --git a/package-lock.json b/package-lock.json index 1303c10..0a16d74 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1368,9 +1368,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "16.9.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.6.tgz", - "integrity": "sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ==", + "version": "16.18.79", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.79.tgz", + "integrity": "sha512-Qd7jdLR5zmnIyMhfDrfPqN5tUCvreVpP3Qrf2oSM+F7SNzlb/MwHISGUkdFHtevfkPJ3iAGyeQI/jsbh9EStgQ==", "dev": true }, "node_modules/abbrev": { @@ -12642,9 +12642,9 @@ "dev": true }, "@types/node": { - "version": "16.9.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.6.tgz", - "integrity": "sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ==", + "version": "16.18.79", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.79.tgz", + "integrity": "sha512-Qd7jdLR5zmnIyMhfDrfPqN5tUCvreVpP3Qrf2oSM+F7SNzlb/MwHISGUkdFHtevfkPJ3iAGyeQI/jsbh9EStgQ==", "dev": true }, "abbrev": {