diff options
| author | Andy Hayden <andyhayden1@gmail.com> | 2019-01-12 13:50:04 -0800 |
|---|---|---|
| committer | Ryan Dahl <ry@tinyclouds.org> | 2019-01-12 16:50:04 -0500 |
| commit | f626b04ebe320a96a220af29595c6ca84cf9a10a (patch) | |
| tree | ea059a796fed0650060398a8d347ae001d6f621c /io/util.ts | |
| parent | 7d6a0f64f20004f89f5e2cbfcf7941f0a8dafd21 (diff) | |
Reorgnanize repos, examples and tests (denoland/deno_std#105)
Original: https://github.com/denoland/deno_std/commit/c5e6e015b5be19027f60c19ca86283d12f9258f3
Diffstat (limited to 'io/util.ts')
| -rw-r--r-- | io/util.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/io/util.ts b/io/util.ts new file mode 100644 index 000000000..811940b4d --- /dev/null +++ b/io/util.ts @@ -0,0 +1,29 @@ +import { Buffer, Reader } from "deno"; + +export function assert(cond: boolean, msg = "assert") { + if (!cond) { + throw Error(msg); + } +} + +// `off` is the offset into `dst` where it will at which to begin writing values +// from `src`. +// Returns the number of bytes copied. +export function copyBytes(dst: Uint8Array, src: Uint8Array, off = 0): number { + const r = dst.byteLength - off; + if (src.byteLength > r) { + src = src.subarray(0, r); + } + dst.set(src, off); + return src.byteLength; +} + +export function charCode(s: string): number { + return s.charCodeAt(0); +} + +const encoder = new TextEncoder(); +export function stringsReader(s: string): Reader { + const ui8 = encoder.encode(s); + return new Buffer(ui8.buffer as ArrayBuffer); +} |
