22
22
23
23
/// <reference types="@stdlib/types"/>
24
24
25
- import { ArrayLike , ComplexTypedArray , ComplexFloatingPointDataType as DataType } from '@stdlib/types/array' ;
25
+ import { ArrayLike , ComplexTypedArray , ComplexFloatingPointDataTypeMap as DataTypeMap } from '@stdlib/types/array' ;
26
26
import ArrayBuffer = require( '@stdlib/array-buffer' ) ;
27
27
28
28
/**
@@ -39,7 +39,7 @@ import ArrayBuffer = require( '@stdlib/array-buffer' );
39
39
* var arr = complexarray( 'complex64');
40
40
* // returns <Complex64Array>
41
41
*/
42
- declare function complexarray ( dtype ?: DataType ) : ComplexTypedArray ;
42
+ declare function complexarray < T extends keyof DataTypeMap = 'complex128' > ( dtype ?: T ) : DataTypeMap [ T ] ;
43
43
44
44
/**
45
45
* Creates a complex number typed array.
@@ -56,7 +56,7 @@ declare function complexarray( dtype?: DataType ): ComplexTypedArray;
56
56
* var arr = complexarray( 2, 'complex64' );
57
57
* // returns <Complex64Array>
58
58
*/
59
- declare function complexarray ( length : number , dtype ?: DataType ) : ComplexTypedArray ;
59
+ declare function complexarray < T extends keyof DataTypeMap = 'complex128' > ( length : number , dtype ?: T ) : DataTypeMap [ T ] ;
60
60
61
61
/**
62
62
* Creates a complex number typed array.
@@ -73,7 +73,7 @@ declare function complexarray( length: number, dtype?: DataType ): ComplexTypedA
73
73
* var arr = complexarray( new Complex128Array( 2 ), 'complex64' );
74
74
* // returns <Complex64Array>
75
75
*/
76
- declare function complexarray ( complexarray : ComplexTypedArray , dtype ?: DataType ) : ComplexTypedArray ;
76
+ declare function complexarray < T extends keyof DataTypeMap = 'complex128' > ( complexarray : ComplexTypedArray , dtype ?: T ) : DataTypeMap [ T ] ;
77
77
78
78
/**
79
79
* Creates a complex number typed array.
@@ -91,7 +91,7 @@ declare function complexarray( complexarray: ComplexTypedArray, dtype?: DataType
91
91
* var arr = complexarray( [ 5, -3 ], 'complex64' );
92
92
* // returns <Complex64Array>
93
93
*/
94
- declare function complexarray ( obj : ArrayLike < number > | Iterable < any > , dtype ?: DataType ) : ComplexTypedArray ;
94
+ declare function complexarray < T extends keyof DataTypeMap = 'complex128' > ( obj : ArrayLike < number > | Iterable < any > , dtype ?: T ) : DataTypeMap [ T ] ;
95
95
96
96
/**
97
97
* Creates a complex number typed array.
@@ -114,7 +114,7 @@ declare function complexarray( obj: ArrayLike<number> | Iterable<any>, dtype?: D
114
114
* var arr = complexarray( buf, 'complex64' );
115
115
* // returns <Complex64Array>
116
116
*/
117
- declare function complexarray ( buffer : ArrayBuffer , dtype ?: DataType ) : ComplexTypedArray ;
117
+ declare function complexarray < T extends keyof DataTypeMap = 'complex128' > ( buffer : ArrayBuffer , dtype ?: T ) : DataTypeMap [ T ] ;
118
118
119
119
/**
120
120
* Creates a complex number typed array.
@@ -138,7 +138,7 @@ declare function complexarray( buffer: ArrayBuffer, dtype?: DataType ): ComplexT
138
138
* var arr = complexarray( buf, 16, 'complex64' );
139
139
* // returns <Complex64Array>
140
140
*/
141
- declare function complexarray ( buffer : ArrayBuffer , byteOffset ?: number , dtype ?: DataType ) : ComplexTypedArray ;
141
+ declare function complexarray < T extends keyof DataTypeMap = 'complex128' > ( buffer : ArrayBuffer , byteOffset ?: number , dtype ?: T ) : DataTypeMap [ T ] ;
142
142
143
143
/**
144
144
* Creates a complex number typed array.
@@ -163,7 +163,7 @@ declare function complexarray( buffer: ArrayBuffer, byteOffset?: number, dtype?:
163
163
* var arr = complexarray( buf, 16, 2, 'complex64' );
164
164
* // returns <Complex64Array>
165
165
*/
166
- declare function complexarray ( buffer : ArrayBuffer , byteOffset ?: number , length ?: number , dtype ?: DataType ) : ComplexTypedArray ;
166
+ declare function complexarray < T extends keyof DataTypeMap = 'complex128' > ( buffer : ArrayBuffer , byteOffset ?: number , length ?: number , dtype ?: T ) : DataTypeMap [ T ] ;
167
167
168
168
169
169
// EXPORTS //
0 commit comments