mirror of
https://github.com/denoland/deno.git
synced 2024-11-29 16:30:56 -05:00
doc: Improve API documentation and add examples (#4548)
This commit is contained in:
parent
8a6b8faeb5
commit
857d96001d
1 changed files with 303 additions and 77 deletions
380
cli/js/lib.deno.ns.d.ts
vendored
380
cli/js/lib.deno.ns.d.ts
vendored
|
@ -24,15 +24,70 @@ declare namespace Deno {
|
||||||
|
|
||||||
/** Register a test which will be run when `deno test` is used on the command
|
/** Register a test which will be run when `deno test` is used on the command
|
||||||
* line and the containing module looks like a test module, or explicitly
|
* line and the containing module looks like a test module, or explicitly
|
||||||
* when `Deno.runTests` is used */
|
* when `Deno.runTests` is used. `fn` can be async if required.
|
||||||
|
*
|
||||||
|
* import {assert, fail, assertEquals} from "https://deno.land/std/testing/asserts.ts";
|
||||||
|
*
|
||||||
|
* Deno.test({
|
||||||
|
* name: "example test",
|
||||||
|
* fn(): void {
|
||||||
|
* assertEquals("world", "world");
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* Deno.test({
|
||||||
|
* name: "example ignored test",
|
||||||
|
* ignore: Deno.build.os === "win"
|
||||||
|
* fn(): void {
|
||||||
|
* //This test is ignored only on Windows machines
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* Deno.test({
|
||||||
|
* name: "example async test",
|
||||||
|
* async fn() {
|
||||||
|
* const decoder = new TextDecoder("utf-8");
|
||||||
|
* const data = await Deno.readFile("hello_world.txt");
|
||||||
|
* assertEquals(decoder.decode(data), "Hello world")
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*/
|
||||||
export function test(t: TestDefinition): void;
|
export function test(t: TestDefinition): void;
|
||||||
|
|
||||||
/** Register a test which will be run when `deno test` is used on the command
|
/** Register a test which will be run when `deno test` is used on the command
|
||||||
* line and the containing module looks like a test module, or explicitly
|
* line and the containing module looks like a test module, or explicitly
|
||||||
* when `Deno.runTests` is used */
|
* when `Deno.runTests` is used
|
||||||
|
*
|
||||||
|
* import {assert, fail, assertEquals} from "https://deno.land/std/testing/asserts.ts";
|
||||||
|
*
|
||||||
|
* Deno.test(function myTestFunction():void {
|
||||||
|
* assertEquals("hello", "hello");
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* Deno.test(async function myAsyncTestFunction():Promise<void> {
|
||||||
|
* const decoder = new TextDecoder("utf-8");
|
||||||
|
* const data = await Deno.readFile("hello_world.txt");
|
||||||
|
* assertEquals(decoder.decode(data), "Hello world")
|
||||||
|
* });
|
||||||
|
**/
|
||||||
export function test(fn: TestFunction): void;
|
export function test(fn: TestFunction): void;
|
||||||
|
|
||||||
/** Register a test which will be run when `deno test` is used on the command
|
/** Register a test which will be run when `deno test` is used on the command
|
||||||
* line and the containing module looks like a test module, or explicitly
|
* line and the containing module looks like a test module, or explicitly
|
||||||
* when `Deno.runTests` is used */
|
* when `Deno.runTests` is used
|
||||||
|
*
|
||||||
|
* import {assert, fail, assertEquals} from "https://deno.land/std/testing/asserts.ts";
|
||||||
|
*
|
||||||
|
* Deno.test("My test description", ():void => {
|
||||||
|
* assertEquals("hello", "hello");
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* Deno.test("My async test description", async ():Promise<void> => {
|
||||||
|
* const decoder = new TextDecoder("utf-8");
|
||||||
|
* const data = await Deno.readFile("hello_world.txt");
|
||||||
|
* assertEquals(decoder.decode(data), "Hello world")
|
||||||
|
* });
|
||||||
|
* */
|
||||||
export function test(name: string, fn: TestFunction): void;
|
export function test(name: string, fn: TestFunction): void;
|
||||||
|
|
||||||
enum TestStatus {
|
enum TestStatus {
|
||||||
|
@ -118,8 +173,24 @@ declare namespace Deno {
|
||||||
reporter?: TestReporter;
|
reporter?: TestReporter;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Run any tests which have been registered. Always resolves
|
/** Run any tests which have been registered via `Deno.test()`. Always resolves
|
||||||
* asynchronously. */
|
* asynchronously.
|
||||||
|
*
|
||||||
|
* //Register test
|
||||||
|
* Deno.test({
|
||||||
|
* name: "example test",
|
||||||
|
* fn(): void {
|
||||||
|
* assertEquals("world", "world");
|
||||||
|
* assertEquals({ hello: "world" }, { hello: "world" });
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* //Run tests
|
||||||
|
* const runInfo = await Deno.runTests();
|
||||||
|
* console.log(runInfo.duration); // all tests duration, e.g. "5" (in ms)
|
||||||
|
* console.log(runInfo.stats.passed); //e.g. 1
|
||||||
|
* console.log(runInfo.results[0].name); //e.g. "example test"
|
||||||
|
*/
|
||||||
export function runTests(
|
export function runTests(
|
||||||
opts?: RunTestsOptions
|
opts?: RunTestsOptions
|
||||||
): Promise<{
|
): Promise<{
|
||||||
|
@ -395,10 +466,17 @@ declare namespace Deno {
|
||||||
export function chdir(directory: string): void;
|
export function chdir(directory: string): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* **UNSTABLE**: New API. Maybe needs permissions.
|
* **UNSTABLE**: New API, yet to be vetted. This API is under consideration to
|
||||||
|
* determine if permissions are required to call it.
|
||||||
*
|
*
|
||||||
* If `mask` is provided, sets the process umask. Always returns what the umask
|
* Retrieve the process umask. If `mask` is provided, sets the process umask.
|
||||||
* was before the call.
|
* This call always returns what the umask was before the call.
|
||||||
|
*
|
||||||
|
* console.log(Deno.umask()); //e.g. 18 (0o022)
|
||||||
|
* const prevUmaskValue = Deno.umask(0o077); //e.g. 18 (0o022)
|
||||||
|
* console.log(Deno.umask()); //e.g. 63 (0o077)
|
||||||
|
*
|
||||||
|
* NOTE: This API is not implemented on Windows
|
||||||
*/
|
*/
|
||||||
export function umask(mask?: number): number;
|
export function umask(mask?: number): number;
|
||||||
|
|
||||||
|
@ -540,7 +618,7 @@ declare namespace Deno {
|
||||||
*/
|
*/
|
||||||
export function copy(dst: Writer, src: Reader): Promise<number>;
|
export function copy(dst: Writer, src: Reader): Promise<number>;
|
||||||
|
|
||||||
/** Turns `r` into async iterator.
|
/** Turns a Reader, `r`, into an async iterator.
|
||||||
*
|
*
|
||||||
* for await (const chunk of toAsyncIterator(reader)) {
|
* for await (const chunk of toAsyncIterator(reader)) {
|
||||||
* console.log(chunk);
|
* console.log(chunk);
|
||||||
|
@ -626,6 +704,7 @@ declare namespace Deno {
|
||||||
* const buf = new Uint8Array(100);
|
* const buf = new Uint8Array(100);
|
||||||
* const numberOfBytesRead = Deno.readSync(file.rid, buf); // 11 bytes
|
* const numberOfBytesRead = Deno.readSync(file.rid, buf); // 11 bytes
|
||||||
* const text = new TextDecoder().decode(buf); // "hello world"
|
* const text = new TextDecoder().decode(buf); // "hello world"
|
||||||
|
* Deno.close(file.rid);
|
||||||
*/
|
*/
|
||||||
export function readSync(rid: number, p: Uint8Array): number | EOF;
|
export function readSync(rid: number, p: Uint8Array): number | EOF;
|
||||||
|
|
||||||
|
@ -635,39 +714,59 @@ declare namespace Deno {
|
||||||
* File (`Symbol(EOF)`) if there was nothing to read.
|
* File (`Symbol(EOF)`) if there was nothing to read.
|
||||||
*
|
*
|
||||||
* // if "/foo/bar.txt" contains the text "hello world":
|
* // if "/foo/bar.txt" contains the text "hello world":
|
||||||
* const file = await Deno.open("/foo/bar.txt");
|
* const file = await Deno.open("/foo/bar.txt");
|
||||||
* const buf = new Uint8Array(100);
|
* const buf = new Uint8Array(100);
|
||||||
* const numberOfBytesRead = await Deno.read(file.rid, buf); // 11 bytes
|
* const numberOfBytesRead = await Deno.read(file.rid, buf); // 11 bytes
|
||||||
* const text = new TextDecoder().decode(buf); // "hello world"
|
* const text = new TextDecoder().decode(buf); // "hello world"
|
||||||
|
* Deno.close(file.rid);
|
||||||
*/
|
*/
|
||||||
export function read(rid: number, p: Uint8Array): Promise<number | EOF>;
|
export function read(rid: number, p: Uint8Array): Promise<number | EOF>;
|
||||||
|
|
||||||
/** Synchronously write to the resource ID the contents of the array buffer.
|
/** Synchronously write to the resource ID (`rid`) the contents of the array buffer.
|
||||||
*
|
*
|
||||||
* Resolves to the number of bytes written.
|
* Returns the number of bytes written.
|
||||||
*
|
*
|
||||||
* const encoder = new TextEncoder();
|
* const encoder = new TextEncoder();
|
||||||
* const data = encoder.encode("Hello world\n");
|
* const data = encoder.encode("Hello world");
|
||||||
* const file = Deno.openSync("/foo/bar.txt");
|
* const file = Deno.openSync("/foo/bar.txt");
|
||||||
* Deno.writeSync(file.rid, data);
|
* const bytesWritten = Deno.writeSync(file.rid, data); // 11
|
||||||
|
* Deno.close(file.rid);
|
||||||
*/
|
*/
|
||||||
export function writeSync(rid: number, p: Uint8Array): number;
|
export function writeSync(rid: number, p: Uint8Array): number;
|
||||||
|
|
||||||
/** Write to the resource ID the contents of the array buffer.
|
/** Write to the resource ID (`rid`) the contents of the array buffer.
|
||||||
*
|
*
|
||||||
* Resolves to the number of bytes written.
|
* Resolves to the number of bytes written.
|
||||||
*
|
*
|
||||||
* const encoder = new TextEncoder();
|
* const encoder = new TextEncoder();
|
||||||
* const data = encoder.encode("Hello world\n");
|
* const data = encoder.encode("Hello world");
|
||||||
* const file = await Deno.open("/foo/bar.txt");
|
* const file = await Deno.open("/foo/bar.txt");
|
||||||
* await Deno.write(file.rid, data);
|
* const bytesWritten = await Deno.write(file.rid, data); // 11
|
||||||
|
* Deno.close(file.rid);
|
||||||
*/
|
*/
|
||||||
export function write(rid: number, p: Uint8Array): Promise<number>;
|
export function write(rid: number, p: Uint8Array): Promise<number>;
|
||||||
|
|
||||||
/** Synchronously seek a file ID to the given offset under mode given by `whence`.
|
/** Synchronously seek a resource ID (`rid`) to the given `offset` under mode
|
||||||
|
* given by `whence`. The current position within the resource is returned.
|
||||||
*
|
*
|
||||||
* const file = Deno.openSync("/foo/bar.txt");
|
* const file = Deno.openSync('hello.txt', {read: true, write: true, truncate: true, create: true});
|
||||||
* Deno.seekSync(file.rid, 0, 0);
|
* Deno.writeSync(file.rid, new TextEncoder().encode("Hello world"));
|
||||||
|
* //advance cursor 6 bytes
|
||||||
|
* const cursorPosition = Deno.seekSync(file.rid, 6, Deno.SeekMode.SEEK_START);
|
||||||
|
* console.log(cursorPosition); // 6
|
||||||
|
* const buf = new Uint8Array(100);
|
||||||
|
* file.readSync(buf);
|
||||||
|
* console.log(new TextDecoder().decode(buf)); // "world"
|
||||||
|
*
|
||||||
|
* The seek modes work as follows:
|
||||||
|
*
|
||||||
|
* //Given file.rid pointing to file with "Hello world", which is 11 bytes long:
|
||||||
|
* //Seek 6 bytes from the start of the file
|
||||||
|
* console.log(Deno.seekSync(file.rid, 6, Deno.SeekMode.SEEK_START)); //"6"
|
||||||
|
* //Seek 2 more bytes from the current position
|
||||||
|
* console.log(Deno.seekSync(file.rid, 2, Deno.SeekMode.SEEK_CURRENT)); //"8"
|
||||||
|
* //Seek backwards 2 bytes from the end of the file
|
||||||
|
* console.log(Deno.seekSync(file.rid, -2, Deno.SeekMode.SEEK_END)); //"9" (e.g. 11-2)
|
||||||
*/
|
*/
|
||||||
export function seekSync(
|
export function seekSync(
|
||||||
rid: number,
|
rid: number,
|
||||||
|
@ -675,10 +774,27 @@ declare namespace Deno {
|
||||||
whence: SeekMode
|
whence: SeekMode
|
||||||
): number;
|
): number;
|
||||||
|
|
||||||
/** Seek a file ID to the given offset under mode given by `whence`.
|
/** Seek a resource ID (`rid`) to the given `offset` under mode given by `whence`.
|
||||||
|
* The call resolves to the current position within the resource.
|
||||||
*
|
*
|
||||||
* const file = await Deno.open("/foo/bar.txt");
|
* const file = await Deno.open('hello.txt', {read: true, write: true, truncate: true, create: true});
|
||||||
* await Deno.seek(file.rid, 0, 0);
|
* await Deno.write(file.rid, new TextEncoder().encode("Hello world"));
|
||||||
|
* //advance cursor 6 bytes
|
||||||
|
* const cursorPosition = await Deno.seek(file.rid, 6, Deno.SeekMode.SEEK_START);
|
||||||
|
* console.log(cursorPosition); // 6
|
||||||
|
* const buf = new Uint8Array(100);
|
||||||
|
* await file.read(buf);
|
||||||
|
* console.log(new TextDecoder().decode(buf)); // "world"
|
||||||
|
*
|
||||||
|
* The seek modes work as follows:
|
||||||
|
*
|
||||||
|
* //Given file.rid pointing to file with "Hello world", which is 11 bytes long:
|
||||||
|
* //Seek 6 bytes from the start of the file
|
||||||
|
* console.log(await Deno.seek(file.rid, 6, Deno.SeekMode.SEEK_START)); //"6"
|
||||||
|
* //Seek 2 more bytes from the current position
|
||||||
|
* console.log(await Deno.seek(file.rid, 2, Deno.SeekMode.SEEK_CURRENT)); //"8"
|
||||||
|
* //Seek backwards 2 bytes from the end of the file
|
||||||
|
* console.log(await Deno.seek(file.rid, -2, Deno.SeekMode.SEEK_END)); //"9" (e.g. 11-2)
|
||||||
*/
|
*/
|
||||||
export function seek(
|
export function seek(
|
||||||
rid: number,
|
rid: number,
|
||||||
|
@ -789,7 +905,14 @@ declare namespace Deno {
|
||||||
|
|
||||||
/** **UNSTABLE**: new API, yet to be vetted
|
/** **UNSTABLE**: new API, yet to be vetted
|
||||||
*
|
*
|
||||||
* Set TTY to be under raw mode or not. */
|
* Set TTY to be under raw mode or not. In raw mode, characters are read and
|
||||||
|
* returned as is, without being processed. All special processing of
|
||||||
|
* characters by the terminal is disabled, including echoing input characters.
|
||||||
|
* Reading from a TTY device in raw mode is faster than reading from a TTY
|
||||||
|
* device in canonical mode.
|
||||||
|
*
|
||||||
|
* Deno.setRaw(myTTY.rid, true);
|
||||||
|
*/
|
||||||
export function setRaw(rid: number, mode: boolean): void;
|
export function setRaw(rid: number, mode: boolean): void;
|
||||||
|
|
||||||
/** A variable-sized buffer of bytes with `read()` and `write()` methods.
|
/** A variable-sized buffer of bytes with `read()` and `write()` methods.
|
||||||
|
@ -868,6 +991,7 @@ declare namespace Deno {
|
||||||
* //Example from file
|
* //Example from file
|
||||||
* const file = await Deno.open("my_file.txt", {read: true});
|
* const file = await Deno.open("my_file.txt", {read: true});
|
||||||
* const myFileContent = await Deno.readAll(file);
|
* const myFileContent = await Deno.readAll(file);
|
||||||
|
* Deno.close(file.rid);
|
||||||
*
|
*
|
||||||
* //Example from buffer
|
* //Example from buffer
|
||||||
* const myData = new Uint8Array(100);
|
* const myData = new Uint8Array(100);
|
||||||
|
@ -896,10 +1020,45 @@ declare namespace Deno {
|
||||||
*/
|
*/
|
||||||
export function readAllSync(r: SyncReader): Uint8Array;
|
export function readAllSync(r: SyncReader): Uint8Array;
|
||||||
|
|
||||||
/** Write all the content of `arr` to `w`. */
|
/** Write all the content of the array buffer (`arr`) to the writer (`w`).
|
||||||
|
*
|
||||||
|
* //Example writing to stdout
|
||||||
|
* const contentBytes = new TextEncoder().encode("Hello World");
|
||||||
|
* await Deno.writeAll(Deno.stdout, contentBytes);
|
||||||
|
*
|
||||||
|
* //Example writing to file
|
||||||
|
* const contentBytes = new TextEncoder().encode("Hello World");
|
||||||
|
* const file = await Deno.open('test.file', {write: true});
|
||||||
|
* await Deno.writeAll(file, contentBytes);
|
||||||
|
* Deno.close(file.rid);
|
||||||
|
*
|
||||||
|
* //Example writing to buffer
|
||||||
|
* const contentBytes = new TextEncoder().encode("Hello World");
|
||||||
|
* const writer = new Deno.Buffer();
|
||||||
|
* await Deno.writeAll(writer, contentBytes);
|
||||||
|
* console.log(writer.bytes().length); // 11
|
||||||
|
*/
|
||||||
export function writeAll(w: Writer, arr: Uint8Array): Promise<void>;
|
export function writeAll(w: Writer, arr: Uint8Array): Promise<void>;
|
||||||
|
|
||||||
/** Synchronously write all the content of `arr` to `w`. */
|
/** Synchronously write all the content of the array buffer (`arr`) to the
|
||||||
|
* writer (`w`).
|
||||||
|
*
|
||||||
|
* //Example writing to stdout
|
||||||
|
* const contentBytes = new TextEncoder().encode("Hello World");
|
||||||
|
* Deno.writeAllSync(Deno.stdout, contentBytes);
|
||||||
|
*
|
||||||
|
* //Example writing to file
|
||||||
|
* const contentBytes = new TextEncoder().encode("Hello World");
|
||||||
|
* const file = Deno.openSync('test.file', {write: true});
|
||||||
|
* Deno.writeAllSync(file, contentBytes);
|
||||||
|
* Deno.close(file.rid);
|
||||||
|
*
|
||||||
|
* //Example writing to buffer
|
||||||
|
* const contentBytes = new TextEncoder().encode("Hello World");
|
||||||
|
* const writer = new Deno.Buffer();
|
||||||
|
* Deno.writeAllSync(writer, contentBytes);
|
||||||
|
* console.log(writer.bytes().length); // 11
|
||||||
|
*/
|
||||||
export function writeAllSync(w: SyncWriter, arr: Uint8Array): void;
|
export function writeAllSync(w: SyncWriter, arr: Uint8Array): void;
|
||||||
|
|
||||||
export interface MkdirOptions {
|
export interface MkdirOptions {
|
||||||
|
@ -1105,9 +1264,9 @@ declare namespace Deno {
|
||||||
|
|
||||||
/** **UNSTABLE**: needs investigation into high precision time.
|
/** **UNSTABLE**: needs investigation into high precision time.
|
||||||
*
|
*
|
||||||
* Synchronously changes the access and modification times of a file system
|
* Synchronously changes the access (`atime`) and modification (`mtime`) times
|
||||||
* object referenced by `path`. Given times are either in seconds (UNIX epoch
|
* of a file system object referenced by `path`. Given times are either in
|
||||||
* time) or as `Date` objects.
|
* seconds (UNIX epoch time) or as `Date` objects.
|
||||||
*
|
*
|
||||||
* Deno.utimeSync("myfile.txt", 1556495550, new Date());
|
* Deno.utimeSync("myfile.txt", 1556495550, new Date());
|
||||||
*
|
*
|
||||||
|
@ -1120,9 +1279,9 @@ declare namespace Deno {
|
||||||
|
|
||||||
/** **UNSTABLE**: needs investigation into high precision time.
|
/** **UNSTABLE**: needs investigation into high precision time.
|
||||||
*
|
*
|
||||||
* Changes the access and modification times of a file system object
|
* Changes the access (`atime`) and modification (`mtime`) times of a file
|
||||||
* referenced by `path`. Given times are either in seconds (UNIX epoch time)
|
* system object referenced by `path`. Given times are either in seconds
|
||||||
* or as `Date` objects.
|
* (UNIX epoch time) or as `Date` objects.
|
||||||
*
|
*
|
||||||
* await Deno.utime("myfile.txt", 1556495550, new Date());
|
* await Deno.utime("myfile.txt", 1556495550, new Date());
|
||||||
*
|
*
|
||||||
|
@ -1139,40 +1298,51 @@ declare namespace Deno {
|
||||||
recursive?: boolean;
|
recursive?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Synchronously removes the named file or directory. Throws error if
|
/** Synchronously removes the named file or directory.
|
||||||
* permission denied, path not found, or path is a non-empty directory and
|
|
||||||
* the `recursive` option isn't set to `true`.
|
|
||||||
*
|
*
|
||||||
* Deno.removeSync("/path/to/dir/or/file", { recursive: false });
|
* Deno.removeSync("/path/to/empty_dir/or/file");
|
||||||
|
* Deno.removeSync("/path/to/populated_dir/or/file", { recursive: true });
|
||||||
|
*
|
||||||
|
* Throws error if permission denied, path not found, or path is a non-empty
|
||||||
|
* directory and the `recursive` option isn't set to `true`.
|
||||||
*
|
*
|
||||||
* Requires `allow-write` permission. */
|
* Requires `allow-write` permission. */
|
||||||
export function removeSync(path: string, options?: RemoveOptions): void;
|
export function removeSync(path: string, options?: RemoveOptions): void;
|
||||||
|
|
||||||
/** Removes the named file or directory. Throws error if permission denied,
|
/** Removes the named file or directory.
|
||||||
* path not found, or path is a non-empty directory and the `recursive`
|
|
||||||
* option isn't set to `true`.
|
|
||||||
*
|
*
|
||||||
* await Deno.remove("/path/to/dir/or/file", { recursive: false });
|
* await Deno.remove("/path/to/empty_dir/or/file");
|
||||||
|
* await Deno.remove("/path/to/populated_dir/or/file", { recursive: true });
|
||||||
|
*
|
||||||
|
* Throws error if permission denied, path not found, or path is a non-empty
|
||||||
|
* directory and the `recursive` option isn't set to `true`.
|
||||||
*
|
*
|
||||||
* Requires `allow-write` permission. */
|
* Requires `allow-write` permission. */
|
||||||
export function remove(path: string, options?: RemoveOptions): Promise<void>;
|
export function remove(path: string, options?: RemoveOptions): Promise<void>;
|
||||||
|
|
||||||
/** Synchronously renames (moves) `oldpath` to `newpath`. If `newpath` already
|
/** Synchronously renames (moves) `oldpath` to `newpath`. Paths may be files or
|
||||||
* exists and is not a directory, `renameSync()` replaces it. OS-specific
|
* directories. If `newpath` already exists and is not a directory,
|
||||||
* restrictions may apply when `oldpath` and `newpath` are in different
|
* `renameSync()` replaces it. OS-specific restrictions may apply when
|
||||||
* directories.
|
* `oldpath` and `newpath` are in different directories.
|
||||||
*
|
*
|
||||||
* Deno.renameSync("old/path", "new/path");
|
* Deno.renameSync("old/path", "new/path");
|
||||||
*
|
*
|
||||||
|
* Throws error if attempting to rename to a directory which exists and is not
|
||||||
|
* empty.
|
||||||
|
*
|
||||||
* Requires `allow-read` and `allow-write` permissions. */
|
* Requires `allow-read` and `allow-write` permissions. */
|
||||||
export function renameSync(oldpath: string, newpath: string): void;
|
export function renameSync(oldpath: string, newpath: string): void;
|
||||||
|
|
||||||
/** Renames (moves) `oldpath` to `newpath`. If `newpath` already exists and is
|
/** Renames (moves) `oldpath` to `newpath`. Paths may be files or directories.
|
||||||
* not a directory, `rename()` replaces it. OS-specific restrictions may apply
|
* If `newpath` already exists and is not a directory, `rename()` replaces it.
|
||||||
* when `oldpath` and `newpath` are in different directories.
|
* OS-specific restrictions may apply when `oldpath` and `newpath` are in
|
||||||
|
* different directories.
|
||||||
*
|
*
|
||||||
* await Deno.rename("old/path", "new/path");
|
* await Deno.rename("old/path", "new/path");
|
||||||
*
|
*
|
||||||
|
* Throws error if attempting to rename to a directory which exists and is not
|
||||||
|
* empty.
|
||||||
|
*
|
||||||
* Requires `allow-read` and `allow-write`. */
|
* Requires `allow-read` and `allow-write`. */
|
||||||
export function rename(oldpath: string, newpath: string): Promise<void>;
|
export function rename(oldpath: string, newpath: string): Promise<void>;
|
||||||
|
|
||||||
|
@ -1266,16 +1436,26 @@ declare namespace Deno {
|
||||||
isSymlink(): boolean;
|
isSymlink(): boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns absolute normalized path with, symbolic links resolved.
|
/** Returns absolute normalized path, with symbolic links resolved.
|
||||||
*
|
*
|
||||||
* const realPath = Deno.realpathSync("./some/path");
|
* // e.g. given /home/alice/file.txt and current directory /home/alice
|
||||||
|
* Deno.symlinkSync("file.txt", "symlink_file.txt");
|
||||||
|
* const realPath = Deno.realpathSync("./file.txt");
|
||||||
|
* const realSymLinkPath = Deno.realpathSync("./symlink_file.txt");
|
||||||
|
* console.log(realPath); // outputs "/home/alice/file.txt"
|
||||||
|
* console.log(realSymLinkPath); //outputs "/home/alice/file.txt"
|
||||||
*
|
*
|
||||||
* Requires `allow-read` permission. */
|
* Requires `allow-read` permission. */
|
||||||
export function realpathSync(path: string): string;
|
export function realpathSync(path: string): string;
|
||||||
|
|
||||||
/** Resolves to the absolute normalized path, with symbolic links resolved.
|
/** Resolves to the absolute normalized path, with symbolic links resolved.
|
||||||
*
|
*
|
||||||
* const realPath = await Deno.realpath("./some/path");
|
* // e.g. given /home/alice/file.txt and current directory /home/alice
|
||||||
|
* await Deno.symlink("file.txt", "symlink_file.txt");
|
||||||
|
* const realPath = await Deno.realpath("./file.txt");
|
||||||
|
* const realSymLinkPath = await Deno.realpath("./symlink_file.txt");
|
||||||
|
* console.log(realPath); // outputs "/home/alice/file.txt"
|
||||||
|
* console.log(realSymLinkPath); //outputs "/home/alice/file.txt"
|
||||||
*
|
*
|
||||||
* Requires `allow-read` permission. */
|
* Requires `allow-read` permission. */
|
||||||
export function realpath(path: string): Promise<string>;
|
export function realpath(path: string): Promise<string>;
|
||||||
|
@ -1397,9 +1577,12 @@ declare namespace Deno {
|
||||||
|
|
||||||
/** **UNSTABLE**: `type` argument type may be changed to `"dir" | "file"`.
|
/** **UNSTABLE**: `type` argument type may be changed to `"dir" | "file"`.
|
||||||
*
|
*
|
||||||
* Creates `newpath` as a symbolic link to `oldpath`. The type argument can be
|
* Creates `newpath` as a symbolic link to `oldpath`.
|
||||||
* set to `dir` or `file`. Is only available on Windows and ignored on other
|
*
|
||||||
* platforms.
|
* The type argument can be set to `dir` or `file`. This argument is only
|
||||||
|
* available on Windows and ignored on other platforms.
|
||||||
|
*
|
||||||
|
* NOTE: This function is not yet implemented on Windows.
|
||||||
*
|
*
|
||||||
* Deno.symlinkSync("old/name", "new/name");
|
* Deno.symlinkSync("old/name", "new/name");
|
||||||
*
|
*
|
||||||
|
@ -1410,11 +1593,14 @@ declare namespace Deno {
|
||||||
type?: string
|
type?: string
|
||||||
): void;
|
): void;
|
||||||
|
|
||||||
/** **UNSTABLE**: `type` argument may be changed to "dir" | "file"
|
/** **UNSTABLE**: `type` argument may be changed to `"dir" | "file"`
|
||||||
*
|
*
|
||||||
* Creates `newpath` as a symbolic link to `oldpath`. The type argument can be
|
* Creates `newpath` as a symbolic link to `oldpath`.
|
||||||
* set to `dir` or `file`. Is only available on Windows and ignored on other
|
*
|
||||||
* platforms.
|
* The type argument can be set to `dir` or `file`. This argument is only
|
||||||
|
* available on Windows and ignored on other platforms.
|
||||||
|
*
|
||||||
|
* NOTE: This function is not yet implemented on Windows.
|
||||||
*
|
*
|
||||||
* await Deno.symlink("old/name", "new/name");
|
* await Deno.symlink("old/name", "new/name");
|
||||||
*
|
*
|
||||||
|
@ -1437,14 +1623,18 @@ declare namespace Deno {
|
||||||
mode?: number;
|
mode?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Synchronously write data to the given path, by default creating a new
|
/** Synchronously write `data` to the given `path`, by default creating a new
|
||||||
* file if needed, else overwriting.
|
* file if needed, else overwriting.
|
||||||
*
|
*
|
||||||
* const encoder = new TextEncoder();
|
* const encoder = new TextEncoder();
|
||||||
* const data = encoder.encode("Hello world\n");
|
* const data = encoder.encode("Hello world\n");
|
||||||
* Deno.writeFileSync("hello.txt", data);
|
* Deno.writeFileSync("hello1.txt", data); //overwrite "hello.txt" or create it
|
||||||
|
* Deno.writeFileSync("hello2.txt", data, {create: false}); //only works if "hello2.txt" exists
|
||||||
|
* Deno.writeFileSync("hello3.txt", data, {mode: 0o777}); //set permissions on new file
|
||||||
|
* Deno.writeFileSync("hello4.txt", data, {append: true}); //add data to the end of the file
|
||||||
*
|
*
|
||||||
* Requires `allow-write` permission, and `allow-read` if create is `false`.
|
* Requires `allow-write` permission, and `allow-read` if `options.create` is
|
||||||
|
* `false`.
|
||||||
*/
|
*/
|
||||||
export function writeFileSync(
|
export function writeFileSync(
|
||||||
path: string,
|
path: string,
|
||||||
|
@ -1452,14 +1642,17 @@ declare namespace Deno {
|
||||||
options?: WriteFileOptions
|
options?: WriteFileOptions
|
||||||
): void;
|
): void;
|
||||||
|
|
||||||
/** Write data to the given path, by default creating a new file if needed,
|
/** Write `data` to the given `path`, by default creating a new file if needed,
|
||||||
* else overwriting.
|
* else overwriting.
|
||||||
*
|
*
|
||||||
* const encoder = new TextEncoder();
|
* const encoder = new TextEncoder();
|
||||||
* const data = encoder.encode("Hello world\n");
|
* const data = encoder.encode("Hello world\n");
|
||||||
* await Deno.writeFile("hello.txt", data);
|
* await Deno.writeFile("hello1.txt", data); //overwrite "hello.txt" or create it
|
||||||
|
* await Deno.writeFile("hello2.txt", data, {create: false}); //only works if "hello2.txt" exists
|
||||||
|
* await Deno.writeFile("hello3.txt", data, {mode: 0o777}); //set permissions on new file
|
||||||
|
* await Deno.writeFile("hello4.txt", data, {append: true}); //add data to the end of the file
|
||||||
*
|
*
|
||||||
* Requires `allow-write` permission, and `allow-read` if create is `false`.
|
* Requires `allow-write` permission, and `allow-read` if `options.create` is `false`.
|
||||||
*/
|
*/
|
||||||
export function writeFile(
|
export function writeFile(
|
||||||
path: string,
|
path: string,
|
||||||
|
@ -1620,16 +1813,34 @@ declare namespace Deno {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Synchronously truncates or extends the specified file, to reach the
|
/** Synchronously truncates or extends the specified file, to reach the
|
||||||
* specified `len`.
|
* specified `len`. If `len` is not specified then the entire file contents
|
||||||
|
* are truncated.
|
||||||
*
|
*
|
||||||
* Deno.truncateSync("hello.txt", 10);
|
* //truncate the entire file
|
||||||
|
* Deno.truncateSync("my_file.txt");
|
||||||
|
*
|
||||||
|
* //truncate part of the file
|
||||||
|
* const file = Deno.makeTempFileSync();
|
||||||
|
* Deno.writeFileSync(file, new TextEncoder().encode("Hello World"));
|
||||||
|
* Deno.truncateSync(file, 7);
|
||||||
|
* const data = Deno.readFileSync(file);
|
||||||
|
* console.log(new TextDecoder().decode(data));
|
||||||
*
|
*
|
||||||
* Requires `allow-write` permission. */
|
* Requires `allow-write` permission. */
|
||||||
export function truncateSync(name: string, len?: number): void;
|
export function truncateSync(name: string, len?: number): void;
|
||||||
|
|
||||||
/** Truncates or extends the specified file, to reach the specified `len`.
|
/** Truncates or extends the specified file, to reach the specified `len`. If
|
||||||
|
* `len` is not specified then the entire file contents are truncated.
|
||||||
*
|
*
|
||||||
* await Deno.truncate("hello.txt", 10);
|
* //truncate the entire file
|
||||||
|
* await Deno.truncate("my_file.txt");
|
||||||
|
*
|
||||||
|
* //truncate part of the file
|
||||||
|
* const file = await Deno.makeTempFile();
|
||||||
|
* await Deno.writeFile(file, new TextEncoder().encode("Hello World"));
|
||||||
|
* await Deno.truncate(file, 7);
|
||||||
|
* const data = await Deno.readFile(file);
|
||||||
|
* console.log(new TextDecoder().decode(data)); //"Hello W"
|
||||||
*
|
*
|
||||||
* Requires `allow-write` permission. */
|
* Requires `allow-write` permission. */
|
||||||
export function truncate(name: string, len?: number): Promise<void>;
|
export function truncate(name: string, len?: number): Promise<void>;
|
||||||
|
@ -1686,8 +1897,8 @@ declare namespace Deno {
|
||||||
ReadWrite, // TODO(ry) panics on ReadWrite.
|
ReadWrite, // TODO(ry) panics on ReadWrite.
|
||||||
}
|
}
|
||||||
|
|
||||||
/** **UNSTABLE**: Maybe should remove `how` parameter maybe remove
|
/** **UNSTABLE**: Both the `how` parameter and `ShutdownMode` enum are under
|
||||||
* `ShutdownMode` entirely.
|
* consideration for removal.
|
||||||
*
|
*
|
||||||
* Shutdown socket send and receive operations.
|
* Shutdown socket send and receive operations.
|
||||||
*
|
*
|
||||||
|
@ -1919,10 +2130,15 @@ declare namespace Deno {
|
||||||
[rid: number]: string;
|
[rid: number]: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** **UNSTABLE**: reconsider return type.
|
/** **UNSTABLE**: The return type is under consideration and may change.
|
||||||
*
|
*
|
||||||
* Returns a map of open _file like_ resource ids along with their string
|
* Returns a map of open _file like_ resource ids (rid) along with their string
|
||||||
* representations. */
|
* representations.
|
||||||
|
*
|
||||||
|
* console.log(Deno.resources()); //e.g. { 0: "stdin", 1: "stdout", 2: "stderr" }
|
||||||
|
* Deno.openSync('../test.file');
|
||||||
|
* console.log(Deno.resources()); //e.g. { 0: "stdin", 1: "stdout", 2: "stderr", 3: "fsFile" }
|
||||||
|
*/
|
||||||
export function resources(): ResourceMap;
|
export function resources(): ResourceMap;
|
||||||
|
|
||||||
/** **UNSTABLE**: new API. Needs docs. */
|
/** **UNSTABLE**: new API. Needs docs. */
|
||||||
|
@ -2032,7 +2248,8 @@ declare namespace Deno {
|
||||||
stdin?: ProcessStdio | number;
|
stdin?: ProcessStdio | number;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Spawns new subprocess.
|
/** Spawns new subprocess. RunOptions must contain at a minimum the `opt.cmd`,
|
||||||
|
* an array of program arguments, the first of which is the binary.
|
||||||
*
|
*
|
||||||
* Subprocess uses same working directory as parent process unless `opt.cwd`
|
* Subprocess uses same working directory as parent process unless `opt.cwd`
|
||||||
* is specified.
|
* is specified.
|
||||||
|
@ -2044,6 +2261,12 @@ declare namespace Deno {
|
||||||
* `opt.stdout`, `opt.stderr` and `opt.stdin` can be specified independently -
|
* `opt.stdout`, `opt.stderr` and `opt.stdin` can be specified independently -
|
||||||
* they can be set to either `ProcessStdio` or `rid` of open file.
|
* they can be set to either `ProcessStdio` or `rid` of open file.
|
||||||
*
|
*
|
||||||
|
* Details of the spawned process are returned.
|
||||||
|
*
|
||||||
|
* const p = Deno.run({
|
||||||
|
* cmd: ["echo", "hello"],
|
||||||
|
* });
|
||||||
|
*
|
||||||
* Requires `allow-run` permission. */
|
* Requires `allow-run` permission. */
|
||||||
export function run(opt: RunOptions): Process;
|
export function run(opt: RunOptions): Process;
|
||||||
|
|
||||||
|
@ -2612,7 +2835,10 @@ declare namespace Deno {
|
||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* The above for-await loop exits after 5 seconds when `sig.dispose()` is
|
* The above for-await loop exits after 5 seconds when `sig.dispose()` is
|
||||||
* called. */
|
* called.
|
||||||
|
*
|
||||||
|
* NOTE: This functionality is not yet implemented on Windows.
|
||||||
|
*/
|
||||||
export function signal(signo: number): SignalStream;
|
export function signal(signo: number): SignalStream;
|
||||||
|
|
||||||
/** **UNSTABLE**: new API, yet to be vetted. */
|
/** **UNSTABLE**: new API, yet to be vetted. */
|
||||||
|
|
Loading…
Reference in a new issue