Node.js Buffer should be useable as a Uint8Array and is missing a constructor (#8919)

* make NodeBuffer extend Uint8Array

* add missing Buffer(ArrayBuffer) constructor

* add TODOs for missing Buffer methods
This commit is contained in:
trevj
2016-04-12 10:20:33 -04:00
committed by Masahiro Wakame
parent 94ce78cb01
commit 484e00f72f
2 changed files with 21 additions and 3 deletions

17
node/node.d.ts vendored
View File

@@ -108,6 +108,14 @@ declare var Buffer: {
* @param array The octets to store.
*/
new (array: Uint8Array): Buffer;
/**
* Produces a Buffer backed by the same allocated memory as
* the given {ArrayBuffer}.
*
*
* @param arrayBuffer The ArrayBuffer with which to share memory.
*/
new (arrayBuffer: ArrayBuffer): Buffer;
/**
* Allocates a new buffer containing the given {array} of octets.
*
@@ -382,12 +390,10 @@ declare namespace NodeJS {
/**
* @deprecated
*/
interface NodeBuffer {
[index: number]: number;
interface NodeBuffer extends Uint8Array {
write(string: string, offset?: number, length?: number, encoding?: string): number;
toString(encoding?: string, start?: number, end?: number): string;
toJSON(): any;
length: number;
equals(otherBuffer: Buffer): boolean;
compare(otherBuffer: Buffer): number;
copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;
@@ -429,7 +435,12 @@ interface NodeBuffer {
writeDoubleLE(value: number, offset: number, noAssert?: boolean): number;
writeDoubleBE(value: number, offset: number, noAssert?: boolean): number;
fill(value: any, offset?: number, end?: number): Buffer;
// TODO: encoding param
indexOf(value: string | number | Buffer, byteOffset?: number): number;
// TODO: entries
// TODO: includes
// TODO: keys
// TODO: values
}
/************************************************