diff options
Diffstat (limited to 'cli/rt/20_streams_queuing_strategy.js')
-rw-r--r-- | cli/rt/20_streams_queuing_strategy.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/cli/rt/20_streams_queuing_strategy.js b/cli/rt/20_streams_queuing_strategy.js new file mode 100644 index 000000000..cbd30664f --- /dev/null +++ b/cli/rt/20_streams_queuing_strategy.js @@ -0,0 +1,50 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +((window) => { + const { customInspect } = window.__bootstrap.console; + + class CountQueuingStrategy { + constructor({ highWaterMark }) { + this.highWaterMark = highWaterMark; + } + + size() { + return 1; + } + + [customInspect]() { + return `${this.constructor.name} { highWaterMark: ${ + String(this.highWaterMark) + }, size: f }`; + } + } + + Object.defineProperty(CountQueuingStrategy.prototype, "size", { + enumerable: true, + }); + + class ByteLengthQueuingStrategy { + constructor({ highWaterMark }) { + this.highWaterMark = highWaterMark; + } + + size(chunk) { + return chunk.byteLength; + } + + [customInspect]() { + return `${this.constructor.name} { highWaterMark: ${ + String(this.highWaterMark) + }, size: f }`; + } + } + + Object.defineProperty(ByteLengthQueuingStrategy.prototype, "size", { + enumerable: true, + }); + + window.__bootstrap.queuingStrategy = { + CountQueuingStrategy, + ByteLengthQueuingStrategy, + }; +})(this); |