Microsoft/TypeScript
GitHub で見るUpdate `TypedArray` constructors to disallow invalid `(typedArray, byteOffset, byteLength)`
Open
#44,191 opened on 2021年5月20日
BugDomain: lib.d.tsFix AvailableHelp Wanted
Repository metrics
- Stars
- (48,455 stars)
- PR merge metrics
- (平均マージ 6d 17h) (30d で 9 merged PRs)
説明
lib Update Request
Configuration Check
My compilation target is ES2020 and my lib is the default.
Missing / Incorrect Definition
TypedArray constructors allows passing (TypedArray, byteOffset, byteLength), when only byteOffset and byteLength are only used when passing in an ArrayBuffer
Sample Code
const buf = new ArrayBuffer(1024);
const uint8 = new Uint8Array(buf, 16, 128)
// No TS error, even though the `16` and `32` are completely ignored
const subUint8 = new Uint8Array(uint8, 16, 32)
subUint8.byteLength // Oops, this is 128, not 32.
Documentation Link
new Uint8Array(); // new in ES2017
new Uint8Array(length);
new Uint8Array(typedArray);
new Uint8Array(object);
new Uint8Array(buffer);
new Uint8Array(buffer, byteOffset);
new Uint8Array(buffer, byteOffset, length);