summaryrefslogtreecommitdiff
path: root/cli/js/web/streams/transform_stream.ts
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-07-19 19:49:44 +0200
committerGitHub <noreply@github.com>2020-07-19 19:49:44 +0200
commitfa61956f03491101b6ef64423ea2f1f73af26a73 (patch)
treec3800702071ca78aa4dd71bdd0a59a9bbe460bdd /cli/js/web/streams/transform_stream.ts
parent53adde866dd399aa2509d14508642fce37afb8f5 (diff)
Port internal TS code to JS (#6793)
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
Diffstat (limited to 'cli/js/web/streams/transform_stream.ts')
-rw-r--r--cli/js/web/streams/transform_stream.ts118
1 files changed, 0 insertions, 118 deletions
diff --git a/cli/js/web/streams/transform_stream.ts b/cli/js/web/streams/transform_stream.ts
deleted file mode 100644
index f6924aead..000000000
--- a/cli/js/web/streams/transform_stream.ts
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-
-import {
- Deferred,
- getDeferred,
- initializeTransformStream,
- invokeOrNoop,
- isTransformStream,
- makeSizeAlgorithmFromSizeFunction,
- setUpTransformStreamDefaultControllerFromTransformer,
- validateAndNormalizeHighWaterMark,
-} from "./internals.ts";
-import type { ReadableStreamImpl } from "./readable_stream.ts";
-import * as sym from "./symbols.ts";
-import type { TransformStreamDefaultControllerImpl } from "./transform_stream_default_controller.ts";
-import type { WritableStreamImpl } from "./writable_stream.ts";
-import { customInspect, inspect } from "../console.ts";
-import { setFunctionName } from "../util.ts";
-
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-export class TransformStreamImpl<I = any, O = any>
- implements TransformStream<I, O> {
- [sym.backpressure]?: boolean;
- [sym.backpressureChangePromise]?: Deferred<void>;
- [sym.readable]: ReadableStreamImpl<O>;
- [sym.transformStreamController]: TransformStreamDefaultControllerImpl<I, O>;
- [sym.writable]: WritableStreamImpl<I>;
-
- constructor(
- transformer: Transformer<I, O> = {},
- writableStrategy: QueuingStrategy<I> = {},
- readableStrategy: QueuingStrategy<O> = {},
- ) {
- const writableSizeFunction = writableStrategy.size;
- let writableHighWaterMark = writableStrategy.highWaterMark;
- const readableSizeFunction = readableStrategy.size;
- let readableHighWaterMark = readableStrategy.highWaterMark;
- const writableType = transformer.writableType;
- if (writableType !== undefined) {
- throw new RangeError(
- `Expected transformer writableType to be undefined, received "${
- String(writableType)
- }"`,
- );
- }
- const writableSizeAlgorithm = makeSizeAlgorithmFromSizeFunction(
- writableSizeFunction,
- );
- if (writableHighWaterMark === undefined) {
- writableHighWaterMark = 1;
- }
- writableHighWaterMark = validateAndNormalizeHighWaterMark(
- writableHighWaterMark,
- );
- const readableType = transformer.readableType;
- if (readableType !== undefined) {
- throw new RangeError(
- `Expected transformer readableType to be undefined, received "${
- String(readableType)
- }"`,
- );
- }
- const readableSizeAlgorithm = makeSizeAlgorithmFromSizeFunction(
- readableSizeFunction,
- );
- if (readableHighWaterMark === undefined) {
- readableHighWaterMark = 1;
- }
- readableHighWaterMark = validateAndNormalizeHighWaterMark(
- readableHighWaterMark,
- );
- const startPromise = getDeferred<void>();
- initializeTransformStream(
- this,
- startPromise.promise,
- writableHighWaterMark,
- writableSizeAlgorithm,
- readableHighWaterMark,
- readableSizeAlgorithm,
- );
- // the brand check expects this, and the brand check occurs in the following
- // but the property hasn't been defined.
- Object.defineProperty(this, sym.transformStreamController, {
- value: undefined,
- writable: true,
- configurable: true,
- });
- setUpTransformStreamDefaultControllerFromTransformer(this, transformer);
- const startResult: void | PromiseLike<void> = invokeOrNoop(
- transformer,
- "start",
- this[sym.transformStreamController],
- );
- startPromise.resolve(startResult);
- }
-
- get readable(): ReadableStream<O> {
- if (!isTransformStream(this)) {
- throw new TypeError("Invalid TransformStream.");
- }
- return this[sym.readable];
- }
-
- get writable(): WritableStream<I> {
- if (!isTransformStream(this)) {
- throw new TypeError("Invalid TransformStream.");
- }
- return this[sym.writable];
- }
-
- [customInspect](): string {
- return `${this.constructor.name} {\n readable: ${
- inspect(this.readable)
- }\n writable: ${inspect(this.writable)}\n}`;
- }
-}
-
-setFunctionName(TransformStreamImpl, "TransformStream");