From ee192b075819ccc3a6e3dfbf0eab36fd090fced4 Mon Sep 17 00:00:00 2001 From: Deepak Vishwakarma Date: Sat, 6 Jun 2020 11:43:42 +0800 Subject: added documentation with sample for std/io mod (#6106) --- std/io/README.md | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 std/io/README.md (limited to 'std/io') diff --git a/std/io/README.md b/std/io/README.md new file mode 100644 index 000000000..2432a468b --- /dev/null +++ b/std/io/README.md @@ -0,0 +1,125 @@ +# std/io + +## Bufio + +**Uses:** + +### readLines + +Read reader[like file], line by line + +```ts title="readLines" +import { readLines } from "https://deno.land/std/io/mod.ts"; +import * as path from "https://deno.land/std/path/mod.ts"; + +const filename = path.join(Deno.cwd(), "std/io/README.md"); +let fileReader = await Deno.open(filename); + +for await (let line of readLines(fileReader)) { + console.log(line); +} +``` + +**Output:** + +````text +# std/io + +## readLines + +```ts +import * as path from "https://deno.land/std/path/mod.ts"; + +## Rest of the file +```` + +### readStringDelim + +Read reader`[like file]` chunk by chunk, splitting based on delimiter. + +```ts title="readStringDelim" +import { readLines } from "https://deno.land/std/io/mod.ts"; +import * as path from "https://deno.land/std/path/mod.ts"; + +const filename = path.join(Deno.cwd(), "std/io/README.md"); +let fileReader = await Deno.open(filename); + +for await (let line of readStringDelim(fileReader, "\n")) { + console.log(line); +} +``` + +**Output:** + +````text +# std/io + +## readLines + +```ts +import * as path from "https://deno.land/std/path/mod.ts"; + +## Rest of the file +```` + +## Reader + +### StringReader + +Create a `Reader` object for `string`. + +```ts +import { StringReader } from "https://deno.land/std/io/mod.ts"; + +const data = new Uint8Array(6); +const r = new StringReader("abcdef"); +const res0 = await r.read(data); +const res1 = await r.read(new Uint8Array(6)); + +// Number of bytes read +console.log(res0); // 6 +console.log(res1); // null, no byte left to read. EOL + +// text + +console.log(new TextDecoder().decode(data)); // abcdef +``` + +**Output:** + +```text +6 +null +abcdef +``` + +## Writer + +### StringWriter + +Create a `Writer` object for `string`. + +```ts +import { + StringWriter, + StringReader, + copyN, +} from "https://deno.land/std/io/mod.ts"; + +const w = new StringWriter("base"); +const r = new StringReader("0123456789"); +await copyN(r, w, 4); // copy 4 bytes + +// Number of bytes read +console.log(w.toString()); //base0123 + +await Deno.copy(r, w); // copy all +console.log(w.toString()); // base0123456789 +``` + +**Output:** + +```text +base0123 +base0123456789 +``` -- cgit v1.2.3