mirror of
https://github.com/denoland/deno.git
synced 2024-12-21 23:04:45 -05:00
chore(runtime): deprecate Deno.copy
(#11369)
This commit is contained in:
parent
00484d24ba
commit
51e0bfda3c
10 changed files with 29 additions and 15 deletions
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
@ -90,7 +90,7 @@ jobs:
|
|||
- name: Install Deno
|
||||
if: matrix.kind == 'lint'
|
||||
run: |
|
||||
curl -fsSL https://deno.land/x/install/install.sh | sh -s v1.7.2
|
||||
curl -fsSL https://deno.land/x/install/install.sh | sh -s v1.11.3
|
||||
echo "$HOME/.deno/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Install Python
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
|
||||
// Used for benchmarking Deno's tcp proxy performance.
|
||||
import { copy } from "../../test_util/std/io/util.ts";
|
||||
|
||||
const addr = Deno.args[0] || "127.0.0.1:4500";
|
||||
const originAddr = Deno.args[1] || "127.0.0.1:4501";
|
||||
|
||||
|
@ -14,7 +16,7 @@ async function handle(conn: Deno.Conn): Promise<void> {
|
|||
port: Number(originPort),
|
||||
});
|
||||
try {
|
||||
await Promise.all([Deno.copy(conn, origin), Deno.copy(origin, conn)]);
|
||||
await Promise.all([copy(conn, origin), copy(origin, conn)]);
|
||||
} catch (e) {
|
||||
if (
|
||||
!(e instanceof Deno.errors.BrokenPipe) &&
|
||||
|
|
6
cli/dts/lib.deno.ns.d.ts
vendored
6
cli/dts/lib.deno.ns.d.ts
vendored
|
@ -421,7 +421,11 @@ declare namespace Deno {
|
|||
seekSync(offset: number, whence: SeekMode): number;
|
||||
}
|
||||
|
||||
/** Copies from `src` to `dst` until either EOF (`null`) is read from `src` or
|
||||
/**
|
||||
* @deprecated Use `copy` from https://deno.land/std/io/util.ts instead.
|
||||
* `Deno.copy` will be removed in Deno 2.0.
|
||||
*
|
||||
* Copies from `src` to `dst` until either EOF (`null`) is read from `src` or
|
||||
* an error occurs. It resolves to the number of bytes copied or rejects with
|
||||
* the first error encountered while copying.
|
||||
*
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
import { copy } from "../../test_util/std/io/util.ts";
|
||||
async function main(): Promise<void> {
|
||||
for (let i = 1; i < Deno.args.length; i++) {
|
||||
const filename = Deno.args[i];
|
||||
const file = await Deno.open(filename);
|
||||
await Deno.copy(file, Deno.stdout);
|
||||
await copy(file, Deno.stdout);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import { copy } from "../../test_util/std/io/util.ts";
|
||||
const addr = Deno.args[0] || "0.0.0.0:4544";
|
||||
const [hostname, port] = addr.split(":");
|
||||
const listener = Deno.listen({ hostname, port: Number(port) });
|
||||
console.log("listening on", addr);
|
||||
listener.accept().then(
|
||||
async (conn): Promise<void> => {
|
||||
console.log("received bytes:", await Deno.copy(conn, conn));
|
||||
console.log("received bytes:", await copy(conn, conn));
|
||||
conn.close();
|
||||
listener.close();
|
||||
},
|
||||
|
|
|
@ -8,6 +8,7 @@ import {
|
|||
assertThrowsAsync,
|
||||
unitTest,
|
||||
} from "./test_util.ts";
|
||||
import { copy } from "../../../test_util/std/io/util.ts";
|
||||
|
||||
unitTest(function filesStdioFileDescriptors(): void {
|
||||
assertEquals(Deno.stdin.rid, 0);
|
||||
|
@ -21,7 +22,7 @@ unitTest({ perms: { read: true } }, async function filesCopyToStdout(): Promise<
|
|||
const filename = "cli/tests/fixture.json";
|
||||
const file = await Deno.open(filename);
|
||||
assert(file.rid > 2);
|
||||
const bytesWritten = await Deno.copy(file, Deno.stdout);
|
||||
const bytesWritten = await copy(file, Deno.stdout);
|
||||
const fileSize = Deno.statSync(filename).size;
|
||||
assertEquals(bytesWritten, fileSize);
|
||||
file.close();
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
|
||||
- Listening for TCP port connections with
|
||||
[Deno.listen](https://doc.deno.land/builtin/stable#Deno.listen).
|
||||
- Use [Deno.copy](https://doc.deno.land/builtin/stable#Deno.copy) to take
|
||||
inbound data and redirect it to be outbound data.
|
||||
- Use
|
||||
[copy](https://doc.deno.land/https/deno.land/std@$STD_VERSION/io/util.ts#copy)
|
||||
to take inbound data and redirect it to be outbound data.
|
||||
|
||||
## Example
|
||||
|
||||
|
@ -16,10 +17,11 @@ returns to the client anything it sends.
|
|||
/**
|
||||
* echo_server.ts
|
||||
*/
|
||||
import { copy } from "https://deno.land/std@$STD_VERSION/io/util.ts";
|
||||
const listener = Deno.listen({ port: 8080 });
|
||||
console.log("listening on 0.0.0.0:8080");
|
||||
for await (const conn of listener) {
|
||||
Deno.copy(conn, conn).finally(() => conn.close());
|
||||
copy(conn, conn).finally(() => conn.close());
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
command line arguments.
|
||||
- [Deno.open](https://doc.deno.land/builtin/stable#Deno.open) is used to get a
|
||||
handle to a file.
|
||||
- [Deno.copy](https://doc.deno.land/builtin/stable#Deno.copy) is used to
|
||||
transfer data from the file to the output stream.
|
||||
- [copy](https://doc.deno.land/https/deno.land/std@$STD_VERSION/io/util.ts#copy)
|
||||
is used to transfer data from the file to the output stream.
|
||||
- Files should be closed when you are finished with them
|
||||
- Modules can be run directly from remote URLs.
|
||||
|
||||
|
@ -21,9 +21,10 @@ is opened, and printed to stdout (e.g. the console).
|
|||
/**
|
||||
* cat.ts
|
||||
*/
|
||||
import { copy } from "https://deno.land/std@$STD_VERSION/io/util.ts";
|
||||
for (const filename of Deno.args) {
|
||||
const file = await Deno.open(filename);
|
||||
await Deno.copy(file, Deno.stdout);
|
||||
await copy(file, Deno.stdout);
|
||||
file.close();
|
||||
}
|
||||
```
|
||||
|
|
|
@ -86,10 +86,11 @@ In this program each command-line argument is assumed to be a filename, the file
|
|||
is opened, and printed to stdout.
|
||||
|
||||
```ts
|
||||
import { copy } from "https://deno.land/std@$STD_VERSION/io/util.ts";
|
||||
const filenames = Deno.args;
|
||||
for (const filename of filenames) {
|
||||
const file = await Deno.open(filename);
|
||||
await Deno.copy(file, Deno.stdout);
|
||||
await copy(file, Deno.stdout);
|
||||
file.close();
|
||||
}
|
||||
```
|
||||
|
@ -111,12 +112,13 @@ This is an example of a server which accepts connections on port 8080, and
|
|||
returns to the client anything it sends.
|
||||
|
||||
```ts
|
||||
import { copy } from "https://deno.land/std@$STD_VERSION/io/util.ts";
|
||||
const hostname = "0.0.0.0";
|
||||
const port = 8080;
|
||||
const listener = Deno.listen({ hostname, port });
|
||||
console.log(`Listening on ${hostname}:${port}`);
|
||||
for await (const conn of listener) {
|
||||
Deno.copy(conn, conn);
|
||||
copy(conn, conn);
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 8467929052737f634eb8842a960093c686ae3b9b
|
||||
Subproject commit 81314bcab8b5dc2fef85ec65f8588cab17063378
|
Loading…
Reference in a new issue