@@ -1386,6 +1386,14 @@ interface ArrayBuffer {
13861386 slice ( begin : number , end ?: number ) : ArrayBuffer ;
13871387}
13881388
1389+ /**
1390+ * Allowed ArrayBuffer types for the buffer of an ArrayBufferView and related Typed Arrays.
1391+ */
1392+ interface ArrayBufferTypes {
1393+ ArrayBuffer : ArrayBuffer ;
1394+ }
1395+ type ArrayBufferLike = ArrayBufferTypes [ keyof ArrayBufferTypes ] ;
1396+
13891397interface ArrayBufferConstructor {
13901398 readonly prototype : ArrayBuffer ;
13911399 new ( byteLength : number ) : ArrayBuffer ;
@@ -1397,7 +1405,7 @@ interface ArrayBufferView {
13971405 /**
13981406 * The ArrayBuffer instance referenced by the array.
13991407 */
1400- buffer : ArrayBuffer ;
1408+ buffer : ArrayBufferLike ;
14011409
14021410 /**
14031411 * The length in bytes of the array.
@@ -1539,7 +1547,7 @@ interface DataView {
15391547}
15401548
15411549interface DataViewConstructor {
1542- new ( buffer : ArrayBuffer , byteOffset ?: number , byteLength ?: number ) : DataView ;
1550+ new ( buffer : ArrayBufferLike , byteOffset ?: number , byteLength ?: number ) : DataView ;
15431551}
15441552declare const DataView : DataViewConstructor ;
15451553
@@ -1556,7 +1564,7 @@ interface Int8Array {
15561564 /**
15571565 * The ArrayBuffer instance referenced by the array.
15581566 */
1559- readonly buffer : ArrayBuffer ;
1567+ readonly buffer : ArrayBufferLike ;
15601568
15611569 /**
15621570 * The length in bytes of the array.
@@ -1799,7 +1807,7 @@ interface Int8ArrayConstructor {
17991807 readonly prototype : Int8Array ;
18001808 new ( length : number ) : Int8Array ;
18011809 new ( array : ArrayLike < number > ) : Int8Array ;
1802- new ( buffer : ArrayBuffer , byteOffset ?: number , length ?: number ) : Int8Array ;
1810+ new ( buffer : ArrayBufferLike , byteOffset ?: number , length ?: number ) : Int8Array ;
18031811
18041812 /**
18051813 * The size in bytes of each element in the array.
@@ -1840,7 +1848,7 @@ interface Uint8Array {
18401848 /**
18411849 * The ArrayBuffer instance referenced by the array.
18421850 */
1843- readonly buffer : ArrayBuffer ;
1851+ readonly buffer : ArrayBufferLike ;
18441852
18451853 /**
18461854 * The length in bytes of the array.
@@ -2084,7 +2092,7 @@ interface Uint8ArrayConstructor {
20842092 readonly prototype : Uint8Array ;
20852093 new ( length : number ) : Uint8Array ;
20862094 new ( array : ArrayLike < number > ) : Uint8Array ;
2087- new ( buffer : ArrayBuffer , byteOffset ?: number , length ?: number ) : Uint8Array ;
2095+ new ( buffer : ArrayBufferLike , byteOffset ?: number , length ?: number ) : Uint8Array ;
20882096
20892097 /**
20902098 * The size in bytes of each element in the array.
@@ -2125,7 +2133,7 @@ interface Uint8ClampedArray {
21252133 /**
21262134 * The ArrayBuffer instance referenced by the array.
21272135 */
2128- readonly buffer : ArrayBuffer ;
2136+ readonly buffer : ArrayBufferLike ;
21292137
21302138 /**
21312139 * The length in bytes of the array.
@@ -2369,7 +2377,7 @@ interface Uint8ClampedArrayConstructor {
23692377 readonly prototype : Uint8ClampedArray ;
23702378 new ( length : number ) : Uint8ClampedArray ;
23712379 new ( array : ArrayLike < number > ) : Uint8ClampedArray ;
2372- new ( buffer : ArrayBuffer , byteOffset ?: number , length ?: number ) : Uint8ClampedArray ;
2380+ new ( buffer : ArrayBufferLike , byteOffset ?: number , length ?: number ) : Uint8ClampedArray ;
23732381
23742382 /**
23752383 * The size in bytes of each element in the array.
@@ -2409,7 +2417,7 @@ interface Int16Array {
24092417 /**
24102418 * The ArrayBuffer instance referenced by the array.
24112419 */
2412- readonly buffer : ArrayBuffer ;
2420+ readonly buffer : ArrayBufferLike ;
24132421
24142422 /**
24152423 * The length in bytes of the array.
@@ -2653,7 +2661,7 @@ interface Int16ArrayConstructor {
26532661 readonly prototype : Int16Array ;
26542662 new ( length : number ) : Int16Array ;
26552663 new ( array : ArrayLike < number > ) : Int16Array ;
2656- new ( buffer : ArrayBuffer , byteOffset ?: number , length ?: number ) : Int16Array ;
2664+ new ( buffer : ArrayBufferLike , byteOffset ?: number , length ?: number ) : Int16Array ;
26572665
26582666 /**
26592667 * The size in bytes of each element in the array.
@@ -2694,7 +2702,7 @@ interface Uint16Array {
26942702 /**
26952703 * The ArrayBuffer instance referenced by the array.
26962704 */
2697- readonly buffer : ArrayBuffer ;
2705+ readonly buffer : ArrayBufferLike ;
26982706
26992707 /**
27002708 * The length in bytes of the array.
@@ -2938,7 +2946,7 @@ interface Uint16ArrayConstructor {
29382946 readonly prototype : Uint16Array ;
29392947 new ( length : number ) : Uint16Array ;
29402948 new ( array : ArrayLike < number > ) : Uint16Array ;
2941- new ( buffer : ArrayBuffer , byteOffset ?: number , length ?: number ) : Uint16Array ;
2949+ new ( buffer : ArrayBufferLike , byteOffset ?: number , length ?: number ) : Uint16Array ;
29422950
29432951 /**
29442952 * The size in bytes of each element in the array.
@@ -2978,7 +2986,7 @@ interface Int32Array {
29782986 /**
29792987 * The ArrayBuffer instance referenced by the array.
29802988 */
2981- readonly buffer : ArrayBuffer ;
2989+ readonly buffer : ArrayBufferLike ;
29822990
29832991 /**
29842992 * The length in bytes of the array.
@@ -3222,7 +3230,7 @@ interface Int32ArrayConstructor {
32223230 readonly prototype : Int32Array ;
32233231 new ( length : number ) : Int32Array ;
32243232 new ( array : ArrayLike < number > ) : Int32Array ;
3225- new ( buffer : ArrayBuffer , byteOffset ?: number , length ?: number ) : Int32Array ;
3233+ new ( buffer : ArrayBufferLike , byteOffset ?: number , length ?: number ) : Int32Array ;
32263234
32273235 /**
32283236 * The size in bytes of each element in the array.
@@ -3262,7 +3270,7 @@ interface Uint32Array {
32623270 /**
32633271 * The ArrayBuffer instance referenced by the array.
32643272 */
3265- readonly buffer : ArrayBuffer ;
3273+ readonly buffer : ArrayBufferLike ;
32663274
32673275 /**
32683276 * The length in bytes of the array.
@@ -3506,7 +3514,7 @@ interface Uint32ArrayConstructor {
35063514 readonly prototype : Uint32Array ;
35073515 new ( length : number ) : Uint32Array ;
35083516 new ( array : ArrayLike < number > ) : Uint32Array ;
3509- new ( buffer : ArrayBuffer , byteOffset ?: number , length ?: number ) : Uint32Array ;
3517+ new ( buffer : ArrayBufferLike , byteOffset ?: number , length ?: number ) : Uint32Array ;
35103518
35113519 /**
35123520 * The size in bytes of each element in the array.
@@ -3546,7 +3554,7 @@ interface Float32Array {
35463554 /**
35473555 * The ArrayBuffer instance referenced by the array.
35483556 */
3549- readonly buffer : ArrayBuffer ;
3557+ readonly buffer : ArrayBufferLike ;
35503558
35513559 /**
35523560 * The length in bytes of the array.
@@ -3790,7 +3798,7 @@ interface Float32ArrayConstructor {
37903798 readonly prototype : Float32Array ;
37913799 new ( length : number ) : Float32Array ;
37923800 new ( array : ArrayLike < number > ) : Float32Array ;
3793- new ( buffer : ArrayBuffer , byteOffset ?: number , length ?: number ) : Float32Array ;
3801+ new ( buffer : ArrayBufferLike , byteOffset ?: number , length ?: number ) : Float32Array ;
37943802
37953803 /**
37963804 * The size in bytes of each element in the array.
@@ -3831,7 +3839,7 @@ interface Float64Array {
38313839 /**
38323840 * The ArrayBuffer instance referenced by the array.
38333841 */
3834- readonly buffer : ArrayBuffer ;
3842+ readonly buffer : ArrayBufferLike ;
38353843
38363844 /**
38373845 * The length in bytes of the array.
@@ -4075,7 +4083,7 @@ interface Float64ArrayConstructor {
40754083 readonly prototype : Float64Array ;
40764084 new ( length : number ) : Float64Array ;
40774085 new ( array : ArrayLike < number > ) : Float64Array ;
4078- new ( buffer : ArrayBuffer , byteOffset ?: number , length ?: number ) : Float64Array ;
4086+ new ( buffer : ArrayBufferLike , byteOffset ?: number , length ?: number ) : Float64Array ;
40794087
40804088 /**
40814089 * The size in bytes of each element in the array.
0 commit comments