diff options
author | 2022-12-02 20:00:27 -0800 | |
---|---|---|
committer | 2022-12-02 20:00:27 -0800 | |
commit | bdbc0f23e7235b1b1c9e24d251613f3b477a8abd (patch) | |
tree | ec56bc3208bea14db958926c2b7d711111dcabb3 /src/bun.js/builtins/js | |
parent | ba6908aed775dcd42636394efeed21e9637b056e (diff) | |
download | bun-bdbc0f23e7235b1b1c9e24d251613f3b477a8abd.tar.gz bun-bdbc0f23e7235b1b1c9e24d251613f3b477a8abd.tar.zst bun-bdbc0f23e7235b1b1c9e24d251613f3b477a8abd.zip |
Update TransformStream options getters to check for undefined
This is essentially copied from https://github.com/WebKit/WebKit/pull/7021
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"); |