Skip to content

Commit 1fc9020

Browse files
committed
feat: add support for normalize index mode
1 parent 7120ab7 commit 1fc9020

1 file changed

Lines changed: 17 additions & 19 deletions

File tree

lib/node_modules/@stdlib/types/index.d.ts

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
*/
3636
declare module '@stdlib/types/array' {
3737
import { ComplexLike, Complex64, Complex128 } from '@stdlib/types/complex';
38-
import { Override } from '@stdlib/types/utilities';
3938

4039
/**
4140
* Data type.
@@ -121,7 +120,7 @@ declare module '@stdlib/types/array' {
121120
/**
122121
* Properties.
123122
*/
124-
[key: string]: any;
123+
[key: string]: any; // eslint-disable-line @typescript-eslint/no-explicit-any
125124

126125
/**
127126
* Number of elements.
@@ -277,7 +276,7 @@ declare module '@stdlib/types/array' {
277276
* const x: AnyArray = [ 1, 2, 3 ];
278277
* const y: AnyArray = new Float64Array( 10 );
279278
*/
280-
type AnyArray = Array<any> | RealOrComplexTypedArray;
279+
type AnyArray = Array<any> | RealOrComplexTypedArray; // eslint-disable-line @typescript-eslint/no-explicit-any
281280

282281
/**
283282
* An array or typed array.
@@ -286,7 +285,7 @@ declare module '@stdlib/types/array' {
286285
* const x: ArrayOrTypedArray = [ 1, 2, 3 ];
287286
* const y: ArrayOrTypedArray = new Float64Array( 10 );
288287
*/
289-
type ArrayOrTypedArray = Array<any> | TypedArray;
288+
type ArrayOrTypedArray = Array<any> | TypedArray; // eslint-disable-line @typescript-eslint/no-explicit-any
290289

291290
/**
292291
* A typed array.
@@ -533,7 +532,7 @@ declare module '@stdlib/types/array' {
533532
* @example
534533
* const x: Collection<number> = [ 1, 2, 3 ];
535534
*/
536-
type Collection<T = any> = Array<T> | TypedArray | ArrayLike<T>;
535+
type Collection<T = any> = Array<T> | TypedArray | ArrayLike<T>; // eslint-disable-line @typescript-eslint/no-explicit-any
537536
}
538537

539538
/**
@@ -576,7 +575,7 @@ declare module '@stdlib/types/iter' {
576575
* @param value - value to return
577576
* @returns iterator protocol-compliant object
578577
*/
579-
return?( value?: any ): IteratorResult;
578+
return?( value?: any ): IteratorResult; // eslint-disable-line @typescript-eslint/no-explicit-any
580579
}
581580

582581
/**
@@ -610,7 +609,7 @@ declare module '@stdlib/types/iter' {
610609
/**
611610
* Iterated value (if one exists).
612611
*/
613-
value?: any;
612+
value?: any; // eslint-disable-line @typescript-eslint/no-explicit-any
614613

615614
/**
616615
* Boolean flag indicating whether an iterator is finished.
@@ -742,7 +741,7 @@ declare module '@stdlib/types/iter' {
742741
*/
743742
declare module '@stdlib/types/ndarray' {
744743
import { ArrayLike, AccessorArrayLike, Collection, Complex128Array, Complex64Array, RealOrComplexTypedArray, FloatOrComplexTypedArray, RealTypedArray, ComplexTypedArray, IntegerTypedArray, FloatTypedArray, SignedIntegerTypedArray, UnsignedIntegerTypedArray } from '@stdlib/types/array';
745-
import { ComplexLike, Complex128, Complex64 } from '@stdlib/types/complex';
744+
import { ComplexLike, Complex128, Complex64 } from '@stdlib/types/complex'; // eslint-disable-line no-duplicate-imports
746745

747746
/**
748747
* Data type.
@@ -810,11 +809,12 @@ declare module '@stdlib/types/ndarray' {
810809
*
811810
* - The following index modes are supported:
812811
*
813-
* - `throw`: specifies that a function should throw an error when an index is outside a restricted interval.
814-
* - `wrap`: specifies that a function should wrap around an index using modulo arithmetic.
815-
* - `clamp`: specifies that a function should set an index less than zero to zero (minimum index) and set an index greater than a maximum index value to the maximum possible index.
812+
* - **throw**: specifies that a function should throw an error when an index is outside a restricted interval.
813+
* - **normalize**: specifies that a function should normalize negative indices and throw an error when an index is outside a restricted interval.
814+
* - **wrap**: specifies that a function should wrap around an index using modulo arithmetic.
815+
* - **clamp**: specifies that a function should set an index less than zero to zero (minimum index) and set an index greater than a maximum index value to the maximum possible index.
816816
*/
817-
type Mode = 'throw' | 'clamp' | 'wrap';
817+
type Mode = 'throw' | 'normalize' | 'clamp' | 'wrap';
818818

819819
/**
820820
* Array shape.
@@ -1074,7 +1074,7 @@ declare module '@stdlib/types/ndarray' {
10741074
/**
10751075
* A reference to the underlying data buffer.
10761076
*/
1077-
data: ArrayLike<any> | AccessorArrayLike<any>;
1077+
data: ArrayLike<any> | AccessorArrayLike<any>; // eslint-disable-line @typescript-eslint/no-explicit-any
10781078

10791079
/**
10801080
* Underlying data type.
@@ -1145,7 +1145,7 @@ declare module '@stdlib/types/ndarray' {
11451145
* @param args - subscripts
11461146
* @returns array element
11471147
*/
1148-
get( ...args: Array<number> ): any;
1148+
get( ...args: Array<number> ): any; // eslint-disable-line @typescript-eslint/no-explicit-any
11491149

11501150
/**
11511151
* Sets an array element specified according to provided subscripts.
@@ -1157,7 +1157,7 @@ declare module '@stdlib/types/ndarray' {
11571157
* @param args - subscripts and value to set
11581158
* @returns ndarray instance
11591159
*/
1160-
set( ...args: Array<any> ): ndarray;
1160+
set( ...args: Array<any> ): ndarray; // eslint-disable-line @typescript-eslint/no-explicit-any
11611161
}
11621162

11631163
/**
@@ -2618,8 +2618,6 @@ declare module '@stdlib/types/ndarray' {
26182618
* };
26192619
*/
26202620
declare module '@stdlib/types/object' {
2621-
import { ArrayLike, TypedArray } from '@stdlib/types/array';
2622-
26232621
/**
26242622
* Interface describing a data property descriptor object.
26252623
*
@@ -2812,7 +2810,7 @@ declare module '@stdlib/types/complex' {
28122810
* const rand: PRNG = () => 3.14;
28132811
*/
28142812
declare module '@stdlib/types/random' {
2815-
import { ArrayLike } from '@stdlib/types/array';
2813+
import { ArrayLike } from '@stdlib/types/array'; // eslint-disable-line no-duplicate-imports
28162814

28172815
/**
28182816
* A pseudorandom number generator (PRNG).
@@ -2886,7 +2884,7 @@ declare module '@stdlib/types/utilities' {
28862884
* const s: slice.Slice = { 'start': 0, 'stop': 10, 'step': 1 };
28872885
*/
28882886
declare module '@stdlib/types/slice' {
2889-
import { ArrayLike } from '@stdlib/types/array';
2887+
import { ArrayLike } from '@stdlib/types/array'; // eslint-disable-line no-duplicate-imports
28902888

28912889
/**
28922890
* A slice object.

0 commit comments

Comments
 (0)