summaryrefslogtreecommitdiff
path: root/io/util.ts
diff options
context:
space:
mode:
authorAndy Hayden <andyhayden1@gmail.com>2019-01-12 13:50:04 -0800
committerRyan Dahl <ry@tinyclouds.org>2019-01-12 16:50:04 -0500
commitf626b04ebe320a96a220af29595c6ca84cf9a10a (patch)
treeea059a796fed0650060398a8d347ae001d6f621c /io/util.ts
parent7d6a0f64f20004f89f5e2cbfcf7941f0a8dafd21 (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.ts29
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);
+}