summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/dts/lib.dom.asynciterable.d.ts9
-rw-r--r--cli/tests/integration_tests.rs5
-rw-r--r--cli/tests/lib_dom_asynciterable.ts23
-rw-r--r--cli/tests/lib_dom_asynciterable.ts.out2
-rw-r--r--cli/tsc.rs1
-rw-r--r--cli/tsc/00_typescript.js1
6 files changed, 41 insertions, 0 deletions
diff --git a/cli/dts/lib.dom.asynciterable.d.ts b/cli/dts/lib.dom.asynciterable.d.ts
new file mode 100644
index 000000000..fcf5750cf
--- /dev/null
+++ b/cli/dts/lib.dom.asynciterable.d.ts
@@ -0,0 +1,9 @@
+// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
+
+/// <reference no-default-lib="true"/>
+
+interface ReadableStream<R = any> {
+ [Symbol.asyncIterator](options?: {
+ preventCancel?: boolean;
+ }): AsyncIterableIterator<R>;
+}
diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs
index 1e64f3cdd..662b0e277 100644
--- a/cli/tests/integration_tests.rs
+++ b/cli/tests/integration_tests.rs
@@ -3104,6 +3104,11 @@ itest!(runtime_decorators {
output: "runtime_decorators.ts.out",
});
+itest!(lib_dom_asynciterable {
+ args: "run --quiet --unstable --reload lib_dom_asynciterable.ts",
+ output: "lib_dom_asynciterable.ts.out",
+});
+
itest!(lib_ref {
args: "run --quiet --unstable --reload lib_ref.ts",
output: "lib_ref.ts.out",
diff --git a/cli/tests/lib_dom_asynciterable.ts b/cli/tests/lib_dom_asynciterable.ts
new file mode 100644
index 000000000..d932011f4
--- /dev/null
+++ b/cli/tests/lib_dom_asynciterable.ts
@@ -0,0 +1,23 @@
+const { diagnostics, files } = await Deno.emit("/main.ts", {
+ compilerOptions: {
+ target: "esnext",
+ lib: ["esnext", "dom", "dom.iterable", "dom.asynciterable"],
+ },
+ sources: {
+ "/main.ts": `const rs = new ReadableStream<string>({
+ start(c) {
+ c.enqueue("hello");
+ c.enqueue("deno");
+ c.close();
+ }
+ });
+
+ for await (const s of rs) {
+ console.log("s");
+ }
+ `,
+ },
+});
+
+console.log(diagnostics);
+console.log(Object.keys(files).sort());
diff --git a/cli/tests/lib_dom_asynciterable.ts.out b/cli/tests/lib_dom_asynciterable.ts.out
new file mode 100644
index 000000000..8b5e7adb6
--- /dev/null
+++ b/cli/tests/lib_dom_asynciterable.ts.out
@@ -0,0 +1,2 @@
+[]
+[ "[WILDCARD]/main.ts.js", "[WILDCARD]/main.ts.js.map" ]
diff --git a/cli/tsc.rs b/cli/tsc.rs
index 26b0c68fb..9e32c1908 100644
--- a/cli/tsc.rs
+++ b/cli/tsc.rs
@@ -52,6 +52,7 @@ pub fn get_asset(asset: &str) -> Option<&'static str> {
};
}
match asset {
+ "lib.dom.asynciterable.d.ts" => inc!("lib.dom.asynciterable.d.ts"),
"lib.dom.d.ts" => inc!("lib.dom.d.ts"),
"lib.dom.iterable.d.ts" => inc!("lib.dom.iterable.d.ts"),
"lib.es6.d.ts" => inc!("lib.es6.d.ts"),
diff --git a/cli/tsc/00_typescript.js b/cli/tsc/00_typescript.js
index ea89c6ac4..a82924388 100644
--- a/cli/tsc/00_typescript.js
+++ b/cli/tsc/00_typescript.js
@@ -35757,6 +35757,7 @@ var ts;
["es2020", "lib.es2020.d.ts"],
["esnext", "lib.esnext.d.ts"],
// Host only
+ ["dom.asynciterable", "lib.dom.asynciterable.d.ts"],
["dom", "lib.dom.d.ts"],
["dom.iterable", "lib.dom.iterable.d.ts"],
["webworker", "lib.webworker.d.ts"],