summaryrefslogtreecommitdiff
path: root/cli/js/web/abort_controller.ts
blob: 5b0a3af3c87ee4c99f1579feb0a60ba61020e70a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { AbortSignalImpl, signalAbort } from "./abort_signal.ts";

export class AbortControllerImpl implements AbortController {
  #signal = new AbortSignalImpl();

  get signal(): AbortSignal {
    return this.#signal;
  }

  abort(): void {
    this.#signal[signalAbort]();
  }

  get [Symbol.toStringTag](): string {
    return "AbortController";
  }
}

Object.defineProperty(AbortControllerImpl, "name", {
  value: "AbortController",
  configurable: true,
});