2018-12-17 22:40:42 -05:00
|
|
|
import { Buffer, Reader } from "deno";
|
2018-11-08 12:26:20 -05:00
|
|
|
|
2018-11-07 13:16:07 -05:00
|
|
|
export function assert(cond: boolean, msg = "assert") {
|
|
|
|
if (!cond) {
|
|
|
|
throw Error(msg);
|
|
|
|
}
|
|
|
|
}
|
2018-11-07 14:17:36 -05:00
|
|
|
|
|
|
|
// `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;
|
|
|
|
}
|
2018-11-07 23:19:08 -05:00
|
|
|
|
|
|
|
export function charCode(s: string): number {
|
|
|
|
return s.charCodeAt(0);
|
|
|
|
}
|
2018-12-17 22:40:42 -05:00
|
|
|
|
|
|
|
const encoder = new TextEncoder();
|
|
|
|
export function stringsReader(s: string): Reader {
|
|
|
|
const ui8 = encoder.encode(s);
|
|
|
|
return new Buffer(ui8.buffer as ArrayBuffer);
|
|
|
|
}
|