Microsoft/TypeScript
View on GitHubSuggestion: use numeric literals for `BYTES_PER_ELEMENT`
Open
#59,557 opened on Aug 8, 2024
Domain: lib.d.tsExperience EnhancementHelp WantedSuggestion
Repository metrics
- Stars
- (48,455 stars)
- PR merge metrics
- (Avg merge 6d 17h) (9 merged PRs in 30d)
Description
⚙ Compilation target
ES5+
⚙ Library
lib.es5.d.ts, lib.es2022.bigint.d.ts
Missing / Incorrect Definition
Suggesting to change the BYTES_PER_ELEMENT static and instance properties as follows:
interface Uint8Array {
// ...
- readonly BYTES_PER_ELEMENT: number;
+ readonly BYTES_PER_ELEMENT: 1;
// ...
}
interface BigInt64ArrayConstructor {
// ...
- readonly BYTES_PER_ELEMENT: number;
+ readonly BYTES_PER_ELEMENT: 8;
// ...
}
Etc.
Sample Code
declare function fn(bytesPerElement: 1 | 2 | 4 | 8): void
// currently reports "Argument of type 'number' is not assignable to parameter of type '1 | 2 | 4 | 8'".
fn(Uint32Array.BYTES_PER_ELEMENT)