Reader/Writer should use Uint8Array not ArrayBufferView

Because many Reader/Writer implementations (e.g. bufio) assume their
able to use subarray() with byte indexes and often ask for byte values,
it makes sense to simply restrict all implementations to Uint8Array.
This commit is contained in:
Ryan Dahl 2018-11-08 01:18:21 -05:00
parent 98e6366cb5
commit 1f2c92c7c8
4 changed files with 12 additions and 23 deletions

View file

@ -9,11 +9,11 @@ import * as flatbuffers from "./flatbuffers";
export class File implements Reader, Writer, Closer {
constructor(readonly rid: number) {}
write(p: ArrayBufferView): Promise<number> {
write(p: Uint8Array): Promise<number> {
return write(this.rid, p);
}
read(p: ArrayBufferView): Promise<ReadResult> {
read(p: Uint8Array): Promise<ReadResult> {
return read(this.rid, p);
}
@ -68,10 +68,7 @@ export async function open(
*
* Resolves with the `ReadResult` for the operation.
*/
export async function read(
rid: number,
p: ArrayBufferView
): Promise<ReadResult> {
export async function read(rid: number, p: Uint8Array): Promise<ReadResult> {
const builder = flatbuffers.createBuilder();
msg.Read.startRead(builder);
msg.Read.addRid(builder, rid);
@ -88,7 +85,7 @@ export async function read(
*
* Resolves with the number of bytes written.
*/
export async function write(rid: number, p: ArrayBufferView): Promise<number> {
export async function write(rid: number, p: Uint8Array): Promise<number> {
const builder = flatbuffers.createBuilder();
msg.Write.startWrite(builder);
msg.Write.addRid(builder, rid);