1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-28 10:09:20 -05:00
denoland-deno/io/util.ts

26 lines
770 B
TypeScript
Raw Normal View History

2019-02-07 11:45:47 -05:00
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import { Buffer, Reader } from "deno";
2018-11-08 12:26:20 -05:00
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 {
off = Math.max(0, Math.min(off, dst.byteLength));
2018-11-07 14:17:36 -05:00
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);
}
const encoder = new TextEncoder();
export function stringsReader(s: string): Reader {
const ui8 = encoder.encode(s);
return new Buffer(ui8.buffer as ArrayBuffer);
}