diff options
Diffstat (limited to 'src/bun.js/builtins/js')
-rw-r--r-- | src/bun.js/builtins/js/StreamInternals.js | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/bun.js/builtins/js/StreamInternals.js b/src/bun.js/builtins/js/StreamInternals.js index 78bcdcfb3..0f08b7901 100644 --- a/src/bun.js/builtins/js/StreamInternals.js +++ b/src/bun.js/builtins/js/StreamInternals.js @@ -271,9 +271,11 @@ function resetQueue(queue) function extractSizeAlgorithm(strategy) { - if (!("size" in strategy)) + const sizeAlgorithm = strategy.size; + + if (sizeAlgorithm === @undefined) return () => 1; - const sizeAlgorithm = strategy["size"]; + if (typeof sizeAlgorithm !== "function") @throwTypeError("strategy.size must be a function"); @@ -282,9 +284,11 @@ function extractSizeAlgorithm(strategy) function extractHighWaterMark(strategy, defaultHWM) { - if (!("highWaterMark" in strategy)) + const highWaterMark = strategy.highWaterMark; + + if (highWaterMark === @undefined) return defaultHWM; - const highWaterMark = strategy["highWaterMark"]; + if (@isNaN(highWaterMark) || highWaterMark < 0) @throwRangeError("highWaterMark value is negative or not a number"); |