Skip to content

Commit a51eab8

Browse files
committed
fix: update import path for Collection type definition and refactor to use generics
Ref: bde4671
1 parent fb02af2 commit a51eab8

File tree

2 files changed

+16
-16
lines changed
  • lib/node_modules/@stdlib/strided/base/mskunary-addon-dispatch/docs/types

2 files changed

+16
-16
lines changed

lib/node_modules/@stdlib/strided/base/mskunary-addon-dispatch/docs/types/index.d.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
/// <reference types="@stdlib/types"/>
2222

23-
import { Collection } from '@stdlib/types/object';
23+
import { Collection } from '@stdlib/types/array';
2424

2525
/**
2626
* Add-on function.
@@ -41,7 +41,7 @@ import { Collection } from '@stdlib/types/object';
4141
* // Call into native add-on...
4242
* }
4343
*/
44-
type AddonFcn = ( N: number, dtypeX: number, x: Collection, strideX: number, dtypeMask: number, mask: Collection, strideMask: number, dtypeY: number, y: Collection, strideY: number ) => any; // tslint:disable-line:max-line-length
44+
type AddonFcn<T, U, V> = ( N: number, dtypeX: number, x: Collection<T>, strideX: number, dtypeMask: number, mask: Collection<number>, strideMask: number, dtypeY: number, y: Collection<U>, strideY: number ) => V;
4545

4646
/**
4747
* Fallback function.
@@ -62,7 +62,7 @@ type AddonFcn = ( N: number, dtypeX: number, x: Collection, strideX: number, dty
6262
* // Fallback JavaScript implementation...
6363
* }
6464
*/
65-
type FallbackFcn = ( N: number, dtypeX: any, x: Collection, strideX: number, dtypeMask: number, mask: Collection, strideMask: number, dtypeY: any, y: Collection, strideY: number ) => any; // tslint:disable-line:max-line-length
65+
type FallbackFcn<T, U, V> = ( N: number, dtypeX: any, x: Collection<T>, strideX: number, dtypeMask: number, mask: Collection<number>, strideMask: number, dtypeY: any, y: Collection<U>, strideY: number ) => V;
6666

6767
/**
6868
* Fallback function supporting alternative indexing semantics.
@@ -86,7 +86,7 @@ type FallbackFcn = ( N: number, dtypeX: any, x: Collection, strideX: number, dty
8686
* // Fallback JavaScript implementation...
8787
* }
8888
*/
89-
type FallbackFcnWithOffsets = ( N: number, dtypeX: any, x: Collection, strideX: number, offsetX: number, dtypeMask: any, mask: Collection, strideMask: number, offsetMask: number, dtypeY: any, y: Collection, strideY: number, offsetY: number ) => any; // tslint:disable-line:max-line-length
89+
type FallbackFcnWithOffsets<T, U, V> = ( N: number, dtypeX: any, x: Collection<T>, strideX: number, offsetX: number, dtypeMask: any, mask: Collection<number>, strideMask: number, offsetMask: number, dtypeY: any, y: Collection<U>, strideY: number, offsetY: number ) => V;
9090

9191
/**
9292
* Dispatches to a native add-on.
@@ -103,7 +103,7 @@ type FallbackFcnWithOffsets = ( N: number, dtypeX: any, x: Collection, strideX:
103103
* @param strideY - `y` stride length
104104
* @returns `y`
105105
*/
106-
type Dispatcher = ( N: number, dtypeX: any, x: Collection, strideX: number, dtypeMask: any, mask: Collection, strideMask: number, dtypeY: any, y: Collection, strideY: number ) => Collection; // tslint:disable-line:max-line-length
106+
type Dispatcher<T, U> = ( N: number, dtypeX: any, x: Collection<T>, strideX: number, dtypeMask: any, mask: Collection<number>, strideMask: number, dtypeY: any, y: Collection<U>, strideY: number ) => Collection<U>;
107107

108108
/**
109109
* Dispatches to a native add-on.
@@ -123,7 +123,7 @@ type Dispatcher = ( N: number, dtypeX: any, x: Collection, strideX: number, dtyp
123123
* @param offsetY - starting `y` index
124124
* @returns `y`
125125
*/
126-
type DispatcherWithOffsets = ( N: number, dtypeX: any, x: Collection, strideX: number, offsetX: number, dtypeMask: any, mask: Collection, strideMask: number, offsetMask: number, dtypeY: any, y: Collection, strideY: number, offsetY: number ) => Collection; // tslint:disable-line:max-line-length
126+
type DispatcherWithOffsets<T, U> = ( N: number, dtypeX: any, x: Collection<T>, strideX: number, offsetX: number, dtypeMask: any, mask: Collection<number>, strideMask: number, offsetMask: number, dtypeY: any, y: Collection<U>, strideY: number, offsetY: number ) => Collection<U>;
127127

128128
/**
129129
* Interface for creating a native add-on dispatcher.
@@ -153,7 +153,7 @@ interface Dispatch {
153153
* // Invoke the dispatch function with strided array arguments:
154154
* f( 2, 'generic', [ 1, 2 ], 1, 'generic', [ 0, 0 ], 1, 'generic', [ 0, 0 ], 1 );
155155
*/
156-
( addon: AddonFcn, fallback: FallbackFcn ): Dispatcher;
156+
<T = unknown, U = unknown, V = unknown>( addon: AddonFcn<T, U, V>, fallback: FallbackFcn<T, U, V> ): Dispatcher<T, U>;
157157

158158
/**
159159
* Returns a function which dispatches to a native add-on applying a unary function to an input strided array according to a mask strided array using alternative indexing semantics.
@@ -179,7 +179,7 @@ interface Dispatch {
179179
* // Invoke the dispatch function with strided array arguments:
180180
* f( 2, 'generic', [ 1, 2 ], 1, 0, 'generic', [ 0, 0 ], 1, 0, 'generic', [ 0, 0 ], 1, 0 );
181181
*/
182-
ndarray( addon: AddonFcn, fallback: FallbackFcnWithOffsets ): DispatcherWithOffsets; // tslint:disable-line:max-line-length
182+
ndarray<T = unknown, U = unknown, V = unknown>( addon: AddonFcn<T, U, V>, fallback: FallbackFcnWithOffsets<T, U, V> ): DispatcherWithOffsets<T, U>;
183183
}
184184

185185
/**

lib/node_modules/@stdlib/strided/base/mskunary-addon-dispatch/docs/types/test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
/// <reference types="@stdlib/types"/>
2020

21-
import { Collection } from '@stdlib/types/object';
21+
import { Collection } from '@stdlib/types/array';
2222
import dispatch = require( './index' );
2323

2424

@@ -38,7 +38,7 @@ import dispatch = require( './index' );
3838
* @param y - output array
3939
* @param strideY - `y` stride length
4040
*/
41-
function addon( N: number, dtypeX: number, x: Collection, strideX: number, dtypeMask: number, mask: Collection, strideMask: number, dtypeY: number, y: Collection, strideY: number ): void { // tslint:disable-line:max-line-length
41+
function addon( N: number, dtypeX: number, x: Collection<number>, strideX: number, dtypeMask: number, mask: Collection<number>, strideMask: number, dtypeY: number, y: Collection<number>, strideY: number ): void {
4242
let i;
4343
if ( dtypeX !== dtypeY || dtypeMask === 0 ) {
4444
throw new Error( 'beep' );
@@ -64,7 +64,7 @@ function addon( N: number, dtypeX: number, x: Collection, strideX: number, dtype
6464
* @param y - output array
6565
* @param strideY - `y` stride length
6666
*/
67-
function fallback( N: number, dtypeX: any, x: Collection, strideX: number, dtypeMask: number, mask: Collection, strideMask: number, dtypeY: any, y: Collection, strideY: number ): void { // tslint:disable-line:max-line-length
67+
function fallback( N: number, dtypeX: any, x: Collection<number>, strideX: number, dtypeMask: number, mask: Collection<number>, strideMask: number, dtypeY: any, y: Collection<number>, strideY: number ): void {
6868
let i;
6969
if ( dtypeX !== dtypeY || dtypeMask === 0 ) {
7070
throw new Error( 'beep' );
@@ -93,7 +93,7 @@ function fallback( N: number, dtypeX: any, x: Collection, strideX: number, dtype
9393
* @param strideY - `y` stride length
9494
* @param offsetY - starting `y` index
9595
*/
96-
function fallbackWithOffsets( N: number, dtypeX: any, x: Collection, strideX: number, offsetX: number, dtypeMask: any, mask: Collection, strideMask: number, offsetMask: number, dtypeY: any, y: Collection, strideY: number, offsetY: number ): void { // tslint:disable-line:max-line-length
96+
function fallbackWithOffsets( N: number, dtypeX: any, x: Collection<number>, strideX: number, offsetX: number, dtypeMask: any, mask: Collection<number>, strideMask: number, offsetMask: number, dtypeY: any, y: Collection<number>, strideY: number, offsetY: number ): void {
9797
let i;
9898
if ( dtypeX !== dtypeY || dtypeMask === 0 ) {
9999
throw new Error( 'beep' );
@@ -110,7 +110,7 @@ function fallbackWithOffsets( N: number, dtypeX: any, x: Collection, strideX: nu
110110

111111
// The function returns a dispatch function...
112112
{
113-
dispatch( addon, fallback ); // $ExpectType Dispatcher
113+
dispatch( addon, fallback ); // $ExpectType Dispatcher<number, number>
114114
}
115115

116116
// The compiler throws an error if not provided a first argument which is an add-on function...
@@ -147,7 +147,7 @@ function fallbackWithOffsets( N: number, dtypeX: any, x: Collection, strideX: nu
147147

148148
const f = dispatch( addon, fallback );
149149

150-
f( x.length, 'float64', x, 1, 'uint8', m, 1, 'float64', y, 1 ); // $ExpectType Collection
150+
f( x.length, 'float64', x, 1, 'uint8', m, 1, 'float64', y, 1 ); // $ExpectType Collection<number>
151151
}
152152

153153
// The compiler throws an error if the returned function is not provided a first argument which is a number...
@@ -269,7 +269,7 @@ function fallbackWithOffsets( N: number, dtypeX: any, x: Collection, strideX: nu
269269

270270
// Attached to the main export is an `ndarray` method which returns a dispatch function...
271271
{
272-
dispatch.ndarray( addon, fallbackWithOffsets ); // $ExpectType DispatcherWithOffsets
272+
dispatch.ndarray( addon, fallbackWithOffsets ); // $ExpectType DispatcherWithOffsets<number, number>
273273
}
274274

275275
// The compiler throws an error if the `ndarray` method is not provided a first argument which is an add-on function...
@@ -306,7 +306,7 @@ function fallbackWithOffsets( N: number, dtypeX: any, x: Collection, strideX: nu
306306

307307
const f = dispatch.ndarray( addon, fallbackWithOffsets );
308308

309-
f( x.length, 'float64', x, 1, 0, 'uint8', m, 1, 0, 'float64', y, 1, 0 ); // $ExpectType Collection
309+
f( x.length, 'float64', x, 1, 0, 'uint8', m, 1, 0, 'float64', y, 1, 0 ); // $ExpectType Collection<number>
310310
}
311311

312312
// The compiler throws an error if the returned function is not provided a first argument which is a number...

0 commit comments

Comments
 (0)