diff options
author | Deepak Vishwakarma <deepak.m.shrma@gmail.com> | 2020-06-06 11:43:42 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-05 23:43:42 -0400 |
commit | ee192b075819ccc3a6e3dfbf0eab36fd090fced4 (patch) | |
tree | 6825980d4a0bdd0169a40dfb13d66adde725fe33 | |
parent | ed5aedc6b4a1d72208649afd8793e288d94021b1 (diff) |
added documentation with sample for std/io mod (#6106)
-rw-r--r-- | std/io/README.md | 125 |
1 files changed, 125 insertions, 0 deletions
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 +``` |