4
4
SORT ,
5
5
SUBARRAY ,
6
6
REDUCE ,
7
- REDUCE_RIGHT
7
+ REDUCE_RIGHT ,
8
+ MAP ,
8
9
} from "./internal/typedarray" ;
9
10
10
11
import {
@@ -39,6 +40,10 @@ export class Int8Array extends TypedArray<i8> {
39
40
) : T {
40
41
return REDUCE_RIGHT < Int8Array , i8 , T > ( this , callbackfn , initialValue ) ;
41
42
}
43
+
44
+ map ( callbackfn : ( value : i8 , index : i32 , self : Int8Array ) => i8 ) : Int8Array {
45
+ return MAP < Int8Array , i8 > ( this , callbackfn ) ;
46
+ }
42
47
}
43
48
44
49
export class Uint8Array extends TypedArray < u8 > {
@@ -69,6 +74,10 @@ export class Uint8Array extends TypedArray<u8> {
69
74
) : T {
70
75
return REDUCE_RIGHT < Uint8Array , u8 , T > ( this , callbackfn , initialValue ) ;
71
76
}
77
+
78
+ map ( callbackfn : ( value : u8 , index : i32 , self : Uint8Array ) => u8 ) : Uint8Array {
79
+ return MAP < Uint8Array , u8 > ( this , callbackfn ) ;
80
+ }
72
81
}
73
82
74
83
export class Uint8ClampedArray extends Uint8Array {
@@ -83,6 +92,22 @@ export class Uint8ClampedArray extends Uint8Array {
83
92
protected __unchecked_set ( index : i32 , value : i32 ) : void {
84
93
super . __unchecked_set ( index , max ( min ( value , 255 ) , 0 ) ) ;
85
94
}
95
+
96
+ fill ( value : u32 , start : i32 = 0 , end : i32 = i32 . MAX_VALUE ) : Uint8ClampedArray {
97
+ return changetype < Uint8ClampedArray > ( super . fill ( value , start , end ) ) ; // safe because '.fill' reuses 'this'
98
+ }
99
+
100
+ sort ( comparator : ( a : u8 , b : u8 ) => i32 = defaultComparator < u8 > ( ) ) : Uint8ClampedArray {
101
+ return changetype < Uint8ClampedArray > ( super . sort ( comparator ) ) ; // safe because '.sort' reuses 'this'
102
+ }
103
+
104
+ subarray ( begin : i32 = 0 , end : i32 = 0x7fffffff ) : Uint8ClampedArray {
105
+ return SUBARRAY < Uint8ClampedArray , u8 > ( this , begin , end ) ;
106
+ }
107
+
108
+ map ( callbackfn : ( value : u8 , index : i32 , self : Uint8ClampedArray ) => u8 ) : Uint8ClampedArray {
109
+ return MAP < Uint8ClampedArray , u8 > ( this , callbackfn ) ;
110
+ }
86
111
}
87
112
88
113
export class Int16Array extends TypedArray < i16 > {
@@ -113,6 +138,10 @@ export class Int16Array extends TypedArray<i16> {
113
138
) : T {
114
139
return REDUCE_RIGHT < Int16Array , i16 , T > ( this , callbackfn , initialValue ) ;
115
140
}
141
+
142
+ map ( callbackfn : ( value : i16 , index : i32 , self : Int16Array ) => i16 ) : Int16Array {
143
+ return MAP < Int16Array , i16 > ( this , callbackfn ) ;
144
+ }
116
145
}
117
146
118
147
export class Uint16Array extends TypedArray < u16 > {
@@ -143,6 +172,10 @@ export class Uint16Array extends TypedArray<u16> {
143
172
) : T {
144
173
return REDUCE_RIGHT < Uint16Array , u16 , T > ( this , callbackfn , initialValue ) ;
145
174
}
175
+
176
+ map ( callbackfn : ( value : u16 , index : i32 , self : Uint16Array ) => u16 ) : Uint16Array {
177
+ return MAP < Uint16Array , u16 > ( this , callbackfn ) ;
178
+ }
146
179
}
147
180
148
181
export class Int32Array extends TypedArray < i32 > {
@@ -173,6 +206,10 @@ export class Int32Array extends TypedArray<i32> {
173
206
) : T {
174
207
return REDUCE_RIGHT < Int32Array , i32 , T > ( this , callbackfn , initialValue ) ;
175
208
}
209
+
210
+ map ( callbackfn : ( value : i32 , index : i32 , self : Int32Array ) => i32 ) : Int32Array {
211
+ return MAP < Int32Array , i32 > ( this , callbackfn ) ;
212
+ }
176
213
}
177
214
178
215
export class Uint32Array extends TypedArray < u32 > {
@@ -203,6 +240,10 @@ export class Uint32Array extends TypedArray<u32> {
203
240
) : T {
204
241
return REDUCE_RIGHT < Uint32Array , u32 , T > ( this , callbackfn , initialValue ) ;
205
242
}
243
+
244
+ map ( callbackfn : ( value : u32 , index : i32 , self : Uint32Array ) => u32 ) : Uint32Array {
245
+ return MAP < Uint32Array , u32 > ( this , callbackfn ) ;
246
+ }
206
247
}
207
248
208
249
export class Int64Array extends TypedArray < i64 > {
@@ -233,6 +274,10 @@ export class Int64Array extends TypedArray<i64> {
233
274
) : T {
234
275
return REDUCE_RIGHT < Int64Array , i64 , T > ( this , callbackfn , initialValue ) ;
235
276
}
277
+
278
+ map ( callbackfn : ( value : i64 , index : i32 , self : Int64Array ) => i64 ) : Int64Array {
279
+ return MAP < Int64Array , i64 > ( this , callbackfn ) ;
280
+ }
236
281
}
237
282
238
283
export class Uint64Array extends TypedArray < u64 > {
@@ -263,6 +308,10 @@ export class Uint64Array extends TypedArray<u64> {
263
308
) : T {
264
309
return REDUCE_RIGHT < Uint64Array , u64 , T > ( this , callbackfn , initialValue ) ;
265
310
}
311
+
312
+ map ( callbackfn : ( value : u64 , index : i32 , self : Uint64Array ) => u64 ) : Uint64Array {
313
+ return MAP < Uint64Array , u64 > ( this , callbackfn ) ;
314
+ }
266
315
}
267
316
268
317
export class Float32Array extends TypedArray < f32 > {
@@ -293,6 +342,10 @@ export class Float32Array extends TypedArray<f32> {
293
342
) : T {
294
343
return REDUCE_RIGHT < Float32Array , f32 , T > ( this , callbackfn , initialValue ) ;
295
344
}
345
+
346
+ map ( callbackfn : ( value : f32 , index : i32 , self : Float32Array ) => f32 ) : Float32Array {
347
+ return MAP < Float32Array , f32 > ( this , callbackfn ) ;
348
+ }
296
349
}
297
350
298
351
export class Float64Array extends TypedArray < f64 > {
@@ -323,4 +376,8 @@ export class Float64Array extends TypedArray<f64> {
323
376
) : T {
324
377
return REDUCE_RIGHT < Float64Array , f64 , T > ( this , callbackfn , initialValue ) ;
325
378
}
379
+
380
+ map ( callbackfn : ( value : f64 , index : i32 , self : Float64Array ) => f64 ) : Float64Array {
381
+ return MAP < Float64Array , f64 > ( this , callbackfn ) ;
382
+ }
326
383
}
0 commit comments