mirror of
https://github.com/denoland/deno.git
synced 2024-11-01 09:24:20 -04:00
54 lines
1.3 KiB
TypeScript
54 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");
|