Skip to content

Commit 1957fed

Browse files
committed
Add non-generic fallback overloads for TypedArray constructors
1 parent 717d05c commit 1957fed

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/lib/es2020.bigint.d.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,7 @@ interface BigInt64ArrayConstructor {
373373
new (length?: number): BigInt64Array<ArrayBuffer>;
374374
new (array: ArrayLike<bigint> | Iterable<bigint>): BigInt64Array<ArrayBuffer>;
375375
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): BigInt64Array<TArrayBuffer>;
376+
new (buffer: ArrayBuffer, byteOffset?: number, length?: number): BigInt64Array<ArrayBuffer>;
376377
new (array: ArrayLike<bigint> | ArrayBuffer): BigInt64Array<ArrayBuffer>;
377378

378379
/** The size in bytes of each element in the array. */
@@ -650,6 +651,7 @@ interface BigUint64ArrayConstructor {
650651
new (length?: number): BigUint64Array<ArrayBuffer>;
651652
new (array: ArrayLike<bigint> | Iterable<bigint>): BigUint64Array<ArrayBuffer>;
652653
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): BigUint64Array<TArrayBuffer>;
654+
new (buffer: ArrayBuffer, byteOffset?: number, length?: number): BigUint64Array<ArrayBuffer>;
653655
new (array: ArrayLike<bigint> | ArrayBuffer): BigUint64Array<ArrayBuffer>;
654656

655657
/** The size in bytes of each element in the array. */
@@ -667,8 +669,8 @@ interface BigUint64ArrayConstructor {
667669
* @param mapfn A mapping function to call on every element of the array.
668670
* @param thisArg Value of 'this' used to invoke the mapfn.
669671
*/
670-
from(arrayLike: ArrayLike<bigint>): BigUint64Array;
671-
from<U>(arrayLike: ArrayLike<U>, mapfn: (v: U, k: number) => bigint, thisArg?: any): BigUint64Array;
672+
from(arrayLike: ArrayLike<bigint>): BigUint64Array<ArrayBuffer>;
673+
from<U>(arrayLike: ArrayLike<U>, mapfn: (v: U, k: number) => bigint, thisArg?: any): BigUint64Array<ArrayBuffer>;
672674
}
673675
declare var BigUint64Array: BigUint64ArrayConstructor;
674676

src/lib/es5.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2104,6 +2104,7 @@ interface Int8ArrayConstructor {
21042104
new (array: ArrayLike<number>): Int8Array<ArrayBuffer>;
21052105
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Int8Array<TArrayBuffer>;
21062106
new (array: ArrayLike<number> | ArrayBuffer): Int8Array<ArrayBuffer>;
2107+
new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int8Array<ArrayBuffer>;
21072108

21082109
/**
21092110
* The size in bytes of each element in the array.
@@ -2385,6 +2386,7 @@ interface Uint8ArrayConstructor {
23852386
new (array: ArrayLike<number>): Uint8Array<ArrayBuffer>;
23862387
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint8Array<TArrayBuffer>;
23872388
new (array: ArrayLike<number> | ArrayBuffer): Uint8Array<ArrayBuffer>;
2389+
new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8Array<ArrayBuffer>;
23882390

23892391
/**
23902392
* The size in bytes of each element in the array.
@@ -2666,6 +2668,7 @@ interface Uint8ClampedArrayConstructor {
26662668
new (array: ArrayLike<number>): Uint8ClampedArray<ArrayBuffer>;
26672669
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint8ClampedArray<TArrayBuffer>;
26682670
new (array: ArrayLike<number> | ArrayBuffer): Uint8ClampedArray<ArrayBuffer>;
2671+
new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8ClampedArray<ArrayBuffer>;
26692672

26702673
/**
26712674
* The size in bytes of each element in the array.
@@ -2946,6 +2949,7 @@ interface Int16ArrayConstructor {
29462949
new (array: ArrayLike<number>): Int16Array<ArrayBuffer>;
29472950
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Int16Array<TArrayBuffer>;
29482951
new (array: ArrayLike<number> | ArrayBuffer): Int16Array<ArrayBuffer>;
2952+
new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int16Array<ArrayBuffer>;
29492953

29502954
/**
29512955
* The size in bytes of each element in the array.
@@ -3227,6 +3231,7 @@ interface Uint16ArrayConstructor {
32273231
new (array: ArrayLike<number>): Uint16Array<ArrayBuffer>;
32283232
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint16Array<TArrayBuffer>;
32293233
new (array: ArrayLike<number> | ArrayBuffer): Uint16Array<ArrayBuffer>;
3234+
new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint16Array<ArrayBuffer>;
32303235

32313236
/**
32323237
* The size in bytes of each element in the array.
@@ -3507,6 +3512,7 @@ interface Int32ArrayConstructor {
35073512
new (array: ArrayLike<number>): Int32Array<ArrayBuffer>;
35083513
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Int32Array<TArrayBuffer>;
35093514
new (array: ArrayLike<number> | ArrayBuffer): Int32Array<ArrayBuffer>;
3515+
new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int32Array<ArrayBuffer>;
35103516

35113517
/**
35123518
* The size in bytes of each element in the array.
@@ -3787,6 +3793,7 @@ interface Uint32ArrayConstructor {
37873793
new (array: ArrayLike<number>): Uint32Array<ArrayBuffer>;
37883794
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint32Array<TArrayBuffer>;
37893795
new (array: ArrayLike<number> | ArrayBuffer): Uint32Array<ArrayBuffer>;
3796+
new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint32Array<ArrayBuffer>;
37903797

37913798
/**
37923799
* The size in bytes of each element in the array.
@@ -4068,6 +4075,7 @@ interface Float32ArrayConstructor {
40684075
new (array: ArrayLike<number>): Float32Array<ArrayBuffer>;
40694076
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Float32Array<TArrayBuffer>;
40704077
new (array: ArrayLike<number> | ArrayBuffer): Float32Array<ArrayBuffer>;
4078+
new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float32Array<ArrayBuffer>;
40714079

40724080
/**
40734081
* The size in bytes of each element in the array.
@@ -4349,6 +4357,7 @@ interface Float64ArrayConstructor {
43494357
new (array: ArrayLike<number>): Float64Array<ArrayBuffer>;
43504358
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Float64Array<TArrayBuffer>;
43514359
new (array: ArrayLike<number> | ArrayBuffer): Float64Array<ArrayBuffer>;
4360+
new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float64Array<ArrayBuffer>;
43524361

43534362
/**
43544363
* The size in bytes of each element in the array.

0 commit comments

Comments
 (0)