2020
2121/// <reference types="@stdlib/types"/>
2222
23- import { Collection , Complex128Array , Complex64Array } from '@stdlib/types/array' ;
23+ import { Collection , TypedArray , ComplexTypedArray } from '@stdlib/types/array' ;
2424
2525/**
2626* Returns a shallow copy of a portion of an array.
@@ -37,160 +37,6 @@ import { Collection, Complex128Array, Complex64Array } from '@stdlib/types/array
3737*
3838* var out = slice( x, 0, 3 );
3939* // returns <Float64Array>[ 1.0, 2.0, 3.0 ]
40- */
41- declare function slice ( x : Float64Array , start : number , end : number ) : Float64Array ;
42-
43- /**
44- * Returns a shallow copy of a portion of an array.
45- *
46- * @param x - input array
47- * @param start - starting index (inclusive)
48- * @param end - ending index (exclusive)
49- * @returns output array
50- *
51- * @example
52- * var Float32Array = require( '@stdlib/array/float32' );
53- *
54- * var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );
55- *
56- * var out = slice( x, 0, 3 );
57- * // returns <Float32Array>[ 1.0, 2.0, 3.0 ]
58- */
59- declare function slice ( x : Float32Array , start : number , end : number ) : Float32Array ;
60-
61- /**
62- * Returns a shallow copy of a portion of an array.
63- *
64- * @param x - input array
65- * @param start - starting index (inclusive)
66- * @param end - ending index (exclusive)
67- * @returns output array
68- *
69- * @example
70- * var Int32Array = require( '@stdlib/array/int32' );
71- *
72- * var x = new Int32Array( [ 1, 2, 3 ] );
73- *
74- * var out = slice( x, 0, 3 );
75- * // returns <Int32Array>[ 1, 2, 3 ]
76- */
77- declare function slice ( x : Int32Array , start : number , end : number ) : Int32Array ;
78-
79- /**
80- * Returns a shallow copy of a portion of an array.
81- *
82- * @param x - input array
83- * @param start - starting index (inclusive)
84- * @param end - ending index (exclusive)
85- * @returns output array
86- *
87- * @example
88- * var Int16Array = require( '@stdlib/array/int16' );
89- *
90- * var x = new Int16Array( [ 1, 2, 3 ] );
91- *
92- * var out = slice( x, 0, 3 );
93- * // returns <Int16Array>[ 1, 2, 3 ]
94- */
95- declare function slice ( x : Int16Array , start : number , end : number ) : Int16Array ;
96-
97- /**
98- * Returns a shallow copy of a portion of an array.
99- *
100- * @param x - input array
101- * @param start - starting index (inclusive)
102- * @param end - ending index (exclusive)
103- * @returns output array
104- *
105- * @example
106- * var Int8Array = require( '@stdlib/array/int8' );
107- *
108- * var x = new Int8Array( [ 1, 2, 3 ] );
109- *
110- * var out = slice( x, 0, 3 );
111- * // returns <Int8Array>[ 1, 2, 3 ]
112- */
113- declare function slice ( x : Int8Array , start : number , end : number ) : Int8Array ;
114-
115- /**
116- * Returns a shallow copy of a portion of an array.
117- *
118- * @param x - input array
119- * @param start - starting index (inclusive)
120- * @param end - ending index (exclusive)
121- * @returns output array
122- *
123- * @example
124- * var Uint32Array = require( '@stdlib/array/uint32' );
125- *
126- * var x = new Uint32Array( [ 1, 2, 3 ] );
127- *
128- * var out = slice( x, 0, 3 );
129- * // returns <Uint32Array>[ 1, 2, 3 ]
130- */
131- declare function slice ( x : Uint32Array , start : number , end : number ) : Uint32Array ;
132-
133- /**
134- * Returns a shallow copy of a portion of an array.
135- *
136- * @param x - input array
137- * @param start - starting index (inclusive)
138- * @param end - ending index (exclusive)
139- * @returns output array
140- *
141- * @example
142- * var Uint16Array = require( '@stdlib/array/uint16' );
143- *
144- * var x = new Uint16Array( [ 1, 2, 3 ] );
145- *
146- * var out = slice( x, 0, 3 );
147- * // returns <Uint16Array>[ 1, 2, 3 ]
148- */
149- declare function slice ( x : Uint16Array , start : number , end : number ) : Uint16Array ;
150-
151- /**
152- * Returns a shallow copy of a portion of an array.
153- *
154- * @param x - input array
155- * @param start - starting index (inclusive)
156- * @param end - ending index (exclusive)
157- * @returns output array
158- *
159- * @example
160- * var Uint8Array = require( '@stdlib/array/uint8' );
161- *
162- * var x = new Uint8Array( [ 1, 2, 3 ] );
163- *
164- * var out = slice( x, 0, 3 );
165- * // returns <Uint8Array>[ 1, 2, 3 ]
166- */
167- declare function slice ( x : Uint8Array , start : number , end : number ) : Uint8Array ;
168-
169- /**
170- * Returns a shallow copy of a portion of an array.
171- *
172- * @param x - input array
173- * @param start - starting index (inclusive)
174- * @param end - ending index (exclusive)
175- * @returns output array
176- *
177- * @example
178- * var Uint8ClampedArray = require( '@stdlib/array/uint8c' );
179- *
180- * var x = new Uint8ClampedArray( [ 1, 2, 3 ] );
181- *
182- * var out = slice( x, 0, 3 );
183- * // returns <Uint8ClampedArray>[ 1, 2, 3 ]
184- */
185- declare function slice ( x : Uint8ClampedArray , start : number , end : number ) : Uint8ClampedArray ;
186-
187- /**
188- * Returns a shallow copy of a portion of an array.
189- *
190- * @param x - input array
191- * @param start - starting index (inclusive)
192- * @param end - ending index (exclusive)
193- * @returns output array
19440*
19541* @example
19642* var Complex128Array = require( '@stdlib/array/complex128' );
@@ -200,7 +46,7 @@ declare function slice( x: Uint8ClampedArray, start: number, end: number ): Uint
20046* var out = slice( x, 0, 3 );
20147* // returns <Complex128Array>[ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ]
20248*/
203- declare function slice ( x : Complex128Array , start : number , end : number ) : Complex128Array ;
49+ declare function slice < T extends TypedArray | ComplexTypedArray > ( x : T , start : number , end : number ) : T ;
20450
20551/**
20652* Returns a shallow copy of a portion of an array.
@@ -211,22 +57,10 @@ declare function slice( x: Complex128Array, start: number, end: number ): Comple
21157* @returns output array
21258*
21359* @example
214- * var Complex64Array = require( '@stdlib/array/complex64' );
215- *
216- * var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
60+ * var x = [ 1, 2, 3 ];
21761*
21862* var out = slice( x, 0, 3 );
219- * // returns <Complex64Array>[ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ]
220- */
221- declare function slice ( x : Complex64Array , start : number , end : number ) : Complex64Array ;
222-
223- /**
224- * Returns a shallow copy of a portion of an array.
225- *
226- * @param x - input array
227- * @param start - starting index (inclusive)
228- * @param end - ending index (exclusive)
229- * @returns output array
63+ * // returns [ 1, 2, 3 ]
23064*
23165* @example
23266* var x = [ 1, 2, 3, 4, 5, 6 ];
0 commit comments