From fc4819e1e0624b9377913932202bc31f5a25bab4 Mon Sep 17 00:00:00 2001 From: Kitson Kelly Date: Sun, 12 Apr 2020 01:42:02 +1000 Subject: refactor: Event and EventTarget implementations (#4707) Refactors Event and EventTarget so that they better encapsulate their non-public data as well as are more forward compatible with things like DOM Nodes. Moves `dom_types.ts` -> `dom_types.d.ts` which was always the intention, it was a legacy of when we used to build the types from the code and the limitations of the compiler. There was a lot of cruft in `dom_types` which shouldn't have been there, and mis-alignment to the DOM standards. This generally has been eliminated, though we still have some minor differences from the DOM (like the removal of some deprecated methods/properties). Adds `DOMException`. Strictly it shouldn't inherit from `Error`, but most browsers provide a stack trace when one is thrown, so the behaviour in Deno actually better matches the browser. `Event` still doesn't log to console like it does in the browser. I wanted to get this raised and that could be an enhancement later on (it currently doesn't either). --- cli/js/web/streams/pipe-to.ts | 2 +- cli/js/web/streams/readable-byte-stream-controller.ts | 2 +- cli/js/web/streams/readable-internals.ts | 2 +- cli/js/web/streams/readable-stream-default-controller.ts | 5 ++++- cli/js/web/streams/readable-stream.ts | 2 +- cli/js/web/streams/shared-internals.ts | 2 +- cli/js/web/streams/strategies.ts | 2 +- cli/js/web/streams/transform-internals.ts | 2 +- cli/js/web/streams/transform-stream.ts | 2 +- cli/js/web/streams/writable-internals.ts | 2 +- cli/js/web/streams/writable-stream-default-controller.ts | 2 +- cli/js/web/streams/writable-stream.ts | 2 +- 12 files changed, 15 insertions(+), 12 deletions(-) (limited to 'cli/js/web/streams') diff --git a/cli/js/web/streams/pipe-to.ts b/cli/js/web/streams/pipe-to.ts index 1d5579217..17fb8e5bd 100644 --- a/cli/js/web/streams/pipe-to.ts +++ b/cli/js/web/streams/pipe-to.ts @@ -18,7 +18,7 @@ // import { ReadableStreamDefaultReader } from "./readable-stream-default-reader.ts"; // import { WritableStreamDefaultWriter } from "./writable-stream-default-writer.ts"; -// import { PipeOptions } from "../dom_types.ts"; +// import { PipeOptions } from "../dom_types.d.ts"; // import { Err } from "../errors.ts"; // // add a wrapper to handle falsy rejections diff --git a/cli/js/web/streams/readable-byte-stream-controller.ts b/cli/js/web/streams/readable-byte-stream-controller.ts index 1b473b77a..19f259484 100644 --- a/cli/js/web/streams/readable-byte-stream-controller.ts +++ b/cli/js/web/streams/readable-byte-stream-controller.ts @@ -9,7 +9,7 @@ import * as q from "./queue-mixin.ts"; import * as shared from "./shared-internals.ts"; import { ReadableStreamBYOBRequest } from "./readable-stream-byob-request.ts"; import { Queue } from "./queue.ts"; -import { UnderlyingByteSource } from "../dom_types.ts"; +import { UnderlyingByteSource } from "../dom_types.d.ts"; export class ReadableByteStreamController implements rs.SDReadableByteStreamController { diff --git a/cli/js/web/streams/readable-internals.ts b/cli/js/web/streams/readable-internals.ts index f46c79850..571ce50ed 100644 --- a/cli/js/web/streams/readable-internals.ts +++ b/cli/js/web/streams/readable-internals.ts @@ -11,7 +11,7 @@ import { QueuingStrategySizeCallback, UnderlyingSource, UnderlyingByteSource, -} from "../dom_types.ts"; +} from "../dom_types.d.ts"; // ReadableStreamDefaultController export const controlledReadableStream_ = Symbol("controlledReadableStream_"); diff --git a/cli/js/web/streams/readable-stream-default-controller.ts b/cli/js/web/streams/readable-stream-default-controller.ts index d33226a9b..5d07dba53 100644 --- a/cli/js/web/streams/readable-stream-default-controller.ts +++ b/cli/js/web/streams/readable-stream-default-controller.ts @@ -8,7 +8,10 @@ import * as rs from "./readable-internals.ts"; import * as shared from "./shared-internals.ts"; import * as q from "./queue-mixin.ts"; import { Queue } from "./queue.ts"; -import { QueuingStrategySizeCallback, UnderlyingSource } from "../dom_types.ts"; +import { + QueuingStrategySizeCallback, + UnderlyingSource, +} from "../dom_types.d.ts"; export class ReadableStreamDefaultController implements rs.SDReadableStreamDefaultController { diff --git a/cli/js/web/streams/readable-stream.ts b/cli/js/web/streams/readable-stream.ts index 50753260d..a003f0a17 100644 --- a/cli/js/web/streams/readable-stream.ts +++ b/cli/js/web/streams/readable-stream.ts @@ -12,7 +12,7 @@ import { QueuingStrategySizeCallback, UnderlyingSource, UnderlyingByteSource, -} from "../dom_types.ts"; +} from "../dom_types.d.ts"; import { ReadableStreamDefaultController, diff --git a/cli/js/web/streams/shared-internals.ts b/cli/js/web/streams/shared-internals.ts index 7b0de2274..db0a082f4 100644 --- a/cli/js/web/streams/shared-internals.ts +++ b/cli/js/web/streams/shared-internals.ts @@ -4,7 +4,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ // TODO don't disable this warning -import { AbortSignal, QueuingStrategySizeCallback } from "../dom_types.ts"; +import { AbortSignal, QueuingStrategySizeCallback } from "../dom_types.d.ts"; // common stream fields diff --git a/cli/js/web/streams/strategies.ts b/cli/js/web/streams/strategies.ts index 98fe0f91a..4c5b402c5 100644 --- a/cli/js/web/streams/strategies.ts +++ b/cli/js/web/streams/strategies.ts @@ -4,7 +4,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ // TODO reenable this lint here -import { QueuingStrategy } from "../dom_types.ts"; +import { QueuingStrategy } from "../dom_types.d.ts"; export class ByteLengthQueuingStrategy implements QueuingStrategy { diff --git a/cli/js/web/streams/transform-internals.ts b/cli/js/web/streams/transform-internals.ts index 4c5e3657d..9c17db8f6 100644 --- a/cli/js/web/streams/transform-internals.ts +++ b/cli/js/web/streams/transform-internals.ts @@ -19,7 +19,7 @@ // import { createReadableStream } from "./readable-stream.ts"; // import { createWritableStream } from "./writable-stream.ts"; -// import { QueuingStrategy, QueuingStrategySizeCallback } from "../dom_types.ts"; +// import { QueuingStrategy, QueuingStrategySizeCallback } from "../dom_types.d.ts"; // export const state_ = Symbol("transformState_"); // export const backpressure_ = Symbol("backpressure_"); diff --git a/cli/js/web/streams/transform-stream.ts b/cli/js/web/streams/transform-stream.ts index 090f78135..c27430db1 100644 --- a/cli/js/web/streams/transform-stream.ts +++ b/cli/js/web/streams/transform-stream.ts @@ -17,7 +17,7 @@ // import * as ts from "./transform-internals.ts"; // import * as shared from "./shared-internals.ts"; // import { TransformStreamDefaultController } from "./transform-stream-default-controller.ts"; -// import { QueuingStrategy } from "../dom_types.ts"; +// import { QueuingStrategy } from "../dom_types.d.ts"; // export class TransformStream { // [ts.backpressure_]: boolean | undefined; // Whether there was backpressure on [[readable]] the last time it was observed diff --git a/cli/js/web/streams/writable-internals.ts b/cli/js/web/streams/writable-internals.ts index 78bb19a28..4d442d0f5 100644 --- a/cli/js/web/streams/writable-internals.ts +++ b/cli/js/web/streams/writable-internals.ts @@ -15,7 +15,7 @@ // import * as shared from "./shared-internals.ts"; // import * as q from "./queue-mixin.ts"; -// import { QueuingStrategy, QueuingStrategySizeCallback } from "../dom_types.ts"; +// import { QueuingStrategy, QueuingStrategySizeCallback } from "../dom_types.d.ts"; // export const backpressure_ = Symbol("backpressure_"); // export const closeRequest_ = Symbol("closeRequest_"); diff --git a/cli/js/web/streams/writable-stream-default-controller.ts b/cli/js/web/streams/writable-stream-default-controller.ts index 57ffe08fd..181edede8 100644 --- a/cli/js/web/streams/writable-stream-default-controller.ts +++ b/cli/js/web/streams/writable-stream-default-controller.ts @@ -16,7 +16,7 @@ // import * as shared from "./shared-internals.ts"; // import * as q from "./queue-mixin.ts"; // import { Queue } from "./queue.ts"; -// import { QueuingStrategySizeCallback } from "../dom_types.ts"; +// import { QueuingStrategySizeCallback } from "../dom_types.d.ts"; // export class WritableStreamDefaultController // implements ws.WritableStreamDefaultController { diff --git a/cli/js/web/streams/writable-stream.ts b/cli/js/web/streams/writable-stream.ts index a6131c5d0..f231d78dc 100644 --- a/cli/js/web/streams/writable-stream.ts +++ b/cli/js/web/streams/writable-stream.ts @@ -16,7 +16,7 @@ // setUpWritableStreamDefaultControllerFromUnderlyingSink // } from "./writable-stream-default-controller.ts"; // import { WritableStreamDefaultWriter } from "./writable-stream-default-writer.ts"; -// import { QueuingStrategy, QueuingStrategySizeCallback } from "../dom_types.ts"; +// import { QueuingStrategy, QueuingStrategySizeCallback } from "../dom_types.d.ts"; // export class WritableStream { // [shared.state_]: ws.WritableStreamState; -- cgit v1.2.3