1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-26 16:09:27 -05:00
denoland-deno/cli/js/web/streams/queuing_strategy.ts

53 lines
1.3 KiB
TypeScript

// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { setFunctionName } from "./internals.ts";
import { customInspect } from "../console.ts";
export class CountQueuingStrategyImpl implements CountQueuingStrategy {
highWaterMark: number;
constructor({ highWaterMark }: { highWaterMark: number }) {
this.highWaterMark = highWaterMark;
}
size(): 1 {
return 1;
}
[customInspect](): string {
return `${this.constructor.name} { highWaterMark: ${String(
this.highWaterMark
)}, size: f }`;
}
}
Object.defineProperty(CountQueuingStrategyImpl.prototype, "size", {
enumerable: true,
});
setFunctionName(CountQueuingStrategyImpl, "CountQueuingStrategy");
export class ByteLengthQueuingStrategyImpl
implements ByteLengthQueuingStrategy {
highWaterMark: number;
constructor({ highWaterMark }: { highWaterMark: number }) {
this.highWaterMark = highWaterMark;
}
size(chunk: ArrayBufferView): number {
return chunk.byteLength;
}
[customInspect](): string {
return `${this.constructor.name} { highWaterMark: ${String(
this.highWaterMark
)}, size: f }`;
}
}
Object.defineProperty(ByteLengthQueuingStrategyImpl.prototype, "size", {
enumerable: true,
});
setFunctionName(CountQueuingStrategyImpl, "CountQueuingStrategy");