58 lines
2.0 KiB
JavaScript
58 lines
2.0 KiB
JavaScript
/* @flow */
|
|
|
|
let bool: boolean = false;
|
|
let buffer: Buffer = new Buffer(0);
|
|
let num: number = 0;
|
|
let maybeNum: ?number;
|
|
|
|
// Uint8Array properties. All of these should type check ok.
|
|
buffer.length;
|
|
buffer.buffer;
|
|
buffer.byteOffset;
|
|
buffer.byteLength;
|
|
buffer[1];
|
|
|
|
// A few Uint8Array instance methods. All of these should type check ok.
|
|
buffer.copyWithin(0, 0);
|
|
buffer.copyWithin(0, 0, 0);
|
|
|
|
const it1: Iterator<[number, number]> = buffer.entries();
|
|
|
|
bool = buffer.every((element: number) => false);
|
|
bool = buffer.every((element: number) => false, buffer);
|
|
|
|
buffer = buffer.fill(1);
|
|
buffer = buffer.fill(1, 0, 0);
|
|
buffer = buffer.fill("a");
|
|
buffer = buffer.fill("a", 0, 0);
|
|
buffer = buffer.fill("a", 0, 0, "utf8");
|
|
buffer = buffer.fill("a", "utf8");
|
|
|
|
maybeNum = buffer.find((element: number, index: number, array:Uint8Array) => false);
|
|
maybeNum = buffer.find((element: number, index: number, array:Uint8Array) => false, buffer);
|
|
|
|
num = buffer.findIndex((element: number, index: number, array:Uint8Array) => false);
|
|
num = buffer.findIndex((element: number, index: number, array:Uint8Array) => false, buffer);
|
|
|
|
buffer.forEach((value: number) => console.log(value), buffer);
|
|
buffer.forEach((value: number, index:number, array:Uint8Array) => console.log(value), buffer);
|
|
|
|
bool = buffer.includes(3);
|
|
bool = buffer.includes(3, 4);
|
|
|
|
num = buffer.indexOf(3);
|
|
num = buffer.indexOf(3, 4);
|
|
|
|
// static methods
|
|
buffer = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
|
|
const typedArray = new Uint8Array([0x34]);
|
|
buffer = Buffer.from(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
|
|
buffer = Buffer.from(new Buffer(0));
|
|
buffer = Buffer.from("foo", "utf8");
|
|
|
|
// This call to from() used to type check ok, but should not. Buffer
|
|
// extends Uint8Array but gets rid of this signature to .from(). Understandably,
|
|
// flow didn't used to support a subclass hiding a superclass member, so this
|
|
// used to check out as ok, even though it is not correct.
|
|
buffer = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72], (a:number) => a + 1, {}); // error
|