BREAKING CHANGE: change order of args in Deno.copy() (#4885)

This commit is contained in:
Bartek Iwańczuk 2020-04-25 00:09:14 +02:00 committed by GitHub
parent 833539fcaf
commit 0cb1bb98cc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 18 additions and 19 deletions

View file

@ -70,8 +70,7 @@ export interface ReadWriteCloser extends Reader, Writer, Closer {}
// https://golang.org/pkg/io/#ReadWriteSeeker
export interface ReadWriteSeeker extends Reader, Writer, Seeker {}
// https://golang.org/pkg/io/#Copy
export async function copy(dst: Writer, src: Reader): Promise<number> {
export async function copy(src: Reader, dst: Writer): Promise<number> {
let n = 0;
const b = new Uint8Array(DEFAULT_BUFFER_SIZE);
let gotEOF = false;

View file

@ -565,16 +565,16 @@ declare namespace Deno {
*
* const source = await Deno.open("my_file.txt");
* const buffer = new Deno.Buffer()
* const bytesCopied1 = await Deno.copy(Deno.stdout, source);
* const bytesCopied2 = await Deno.copy(buffer, source);
* const bytesCopied1 = await Deno.copy(source, Deno.stdout);
* const bytesCopied2 = await Deno.copy(source, buffer);
*
* Because `copy()` is defined to read from `src` until `EOF`, it does not
* treat an `EOF` from `read()` as an error to be reported.
*
* @param dst The destination to copy to
* @param src The source to copy from
* @param dst The destination to copy to
*/
export function copy(dst: Writer, src: Reader): Promise<number>;
export function copy(src: Reader, dst: Writer): Promise<number>;
/** Turns a Reader, `r`, into an async iterator.
*

View file

@ -18,7 +18,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(Deno.stdout, file);
const bytesWritten = await Deno.copy(file, Deno.stdout);
const fileSize = Deno.statSync(filename).size;
assertEquals(bytesWritten, fileSize);
console.log("bytes written", bytesWritten);