From 47b089ffa8c6dc06638b3cf0d240817a744108eb Mon Sep 17 00:00:00 2001 From: Marcos Casagrande Date: Thu, 21 May 2020 02:18:43 +0200 Subject: fix: streams hwm validation (#5681) --- cli/js/web/streams/internals.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'cli/js/web') diff --git a/cli/js/web/streams/internals.ts b/cli/js/web/streams/internals.ts index 5ef094afc..e2e7bbc0a 100644 --- a/cli/js/web/streams/internals.ts +++ b/cli/js/web/streams/internals.ts @@ -140,7 +140,7 @@ function createReadableStream( highWaterMark = 1, sizeAlgorithm: SizeAlgorithm = (): number => 1 ): ReadableStreamImpl { - assert(isNonNegativeNumber(highWaterMark)); + highWaterMark = validateAndNormalizeHighWaterMark(highWaterMark); const stream: ReadableStreamImpl = Object.create( ReadableStreamImpl.prototype ); @@ -168,7 +168,7 @@ function createWritableStream( highWaterMark = 1, sizeAlgorithm: SizeAlgorithm = (): number => 1 ): WritableStreamImpl { - assert(isNonNegativeNumber(highWaterMark)); + highWaterMark = validateAndNormalizeHighWaterMark(highWaterMark); const stream = Object.create(WritableStreamImpl.prototype); initializeWritableStream(stream); const controller = Object.create( @@ -324,7 +324,7 @@ function isNonNegativeNumber(v: unknown): v is number { if (typeof v !== "number") { return false; } - if (v === NaN) { + if (Number.isNaN(v)) { return false; } if (v < 0) { @@ -1872,7 +1872,7 @@ export function validateAndNormalizeHighWaterMark( highWaterMark: number ): number { highWaterMark = Number(highWaterMark); - if (highWaterMark === NaN || highWaterMark < 0) { + if (Number.isNaN(highWaterMark) || highWaterMark < 0) { throw new RangeError( `highWaterMark must be a positive number or Infinity. Received: ${highWaterMark}.` ); -- cgit v1.2.3