mirror of
https://github.com/denoland/deno.git
synced 2024-12-27 01:29:14 -05:00
53 lines
1.3 KiB
TypeScript
53 lines
1.3 KiB
TypeScript
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
|
|
|
import { customInspect } from "../console.ts";
|
|
import { setFunctionName } from "../util.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");
|