Skip to content

Commit d07f5c6

Browse files
authored
fix(typings): mark get/set of AbstractMatrix as abstract (#155)
1 parent 5ec6888 commit d07f5c6

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

matrix.d.ts

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,15 +260,15 @@ export abstract class AbstractMatrix {
260260
* @param columnIndex - Index of the element's column.
261261
* @param value - The new value for the element.
262262
*/
263-
set(rowIndex: number, columnIndex: number, value: number): this;
263+
abstract set(rowIndex: number, columnIndex: number, value: number): this;
264264

265265
/**
266266
* Returns the value of the given element of the matrix.
267267
* @param rowIndex - Index of the element's row.
268268
* @param columnIndex - Index of the element's column.
269269
* @returns - The value of the element.
270270
*/
271-
get(rowIndex: number, columnIndex: number): number;
271+
abstract get(rowIndex: number, columnIndex: number): number;
272272

273273
/**
274274
* Applies a callback for each element of the matrix. The function is called in the matrix (this) context.
@@ -934,6 +934,9 @@ export class Matrix extends AbstractMatrix {
934934
constructor(data: ArrayLike<ArrayLike<number>>);
935935
constructor(otherMatrix: AbstractMatrix);
936936

937+
set(rowIndex: number, columnIndex: number, value: number): this;
938+
get(rowIndex: number, columnIndex: number): number;
939+
937940
/**
938941
* Removes a column from the matrix (in place).
939942
* @param index - Column index.
@@ -965,26 +968,38 @@ export default Matrix;
965968

966969
export class MatrixColumnView extends AbstractMatrix {
967970
constructor(matrix: AbstractMatrix, column: number);
971+
set(rowIndex: number, columnIndex: number, value: number): this;
972+
get(rowIndex: number, columnIndex: number): number;
968973
}
969974

970975
export class MatrixColumnSelectionView extends AbstractMatrix {
971976
constructor(matrix: AbstractMatrix, columnIndices: ArrayLike<number>);
977+
set(rowIndex: number, columnIndex: number, value: number): this;
978+
get(rowIndex: number, columnIndex: number): number;
972979
}
973980

974981
export class MatrixFlipColumnView extends AbstractMatrix {
975982
constructor(matrix: AbstractMatrix);
983+
set(rowIndex: number, columnIndex: number, value: number): this;
984+
get(rowIndex: number, columnIndex: number): number;
976985
}
977986

978987
export class MatrixFlipRowView extends AbstractMatrix {
979988
constructor(matrix: AbstractMatrix);
989+
set(rowIndex: number, columnIndex: number, value: number): this;
990+
get(rowIndex: number, columnIndex: number): number;
980991
}
981992

982993
export class MatrixRowView extends AbstractMatrix {
983994
constructor(matrix: AbstractMatrix, row: number);
995+
set(rowIndex: number, columnIndex: number, value: number): this;
996+
get(rowIndex: number, columnIndex: number): number;
984997
}
985998

986999
export class MatrixRowSelectionView extends AbstractMatrix {
9871000
constructor(matrix: AbstractMatrix, rowIndices: ArrayLike<number>);
1001+
set(rowIndex: number, columnIndex: number, value: number): this;
1002+
get(rowIndex: number, columnIndex: number): number;
9881003
}
9891004

9901005
export class MatrixSelectionView extends AbstractMatrix {
@@ -993,6 +1008,8 @@ export class MatrixSelectionView extends AbstractMatrix {
9931008
rowIndices: ArrayLike<number>,
9941009
columnIndices: ArrayLike<number>,
9951010
);
1011+
set(rowIndex: number, columnIndex: number, value: number): this;
1012+
get(rowIndex: number, columnIndex: number): number;
9961013
}
9971014

9981015
export class MatrixSubView extends AbstractMatrix {
@@ -1003,10 +1020,14 @@ export class MatrixSubView extends AbstractMatrix {
10031020
startColumn: number,
10041021
endColumn: number,
10051022
);
1023+
set(rowIndex: number, columnIndex: number, value: number): this;
1024+
get(rowIndex: number, columnIndex: number): number;
10061025
}
10071026

10081027
export class MatrixTransposeView extends AbstractMatrix {
10091028
constructor(matrix: AbstractMatrix);
1029+
set(rowIndex: number, columnIndex: number, value: number): this;
1030+
get(rowIndex: number, columnIndex: number): number;
10101031
}
10111032

10121033
export interface IWrap1DOptions {
@@ -1025,10 +1046,14 @@ export function wrap(twoDAray: ArrayLike<ArrayLike<number>>): WrapperMatrix2D;
10251046

10261047
export class WrapperMatrix1D extends AbstractMatrix {
10271048
constructor(data: ArrayLike<number>, options?: IWrap1DOptions);
1049+
set(rowIndex: number, columnIndex: number, value: number): this;
1050+
get(rowIndex: number, columnIndex: number): number;
10281051
}
10291052

10301053
export class WrapperMatrix2D extends AbstractMatrix {
10311054
constructor(data: ArrayLike<ArrayLike<number>>);
1055+
set(rowIndex: number, columnIndex: number, value: number): this;
1056+
get(rowIndex: number, columnIndex: number): number;
10321057
}
10331058

10341059
/**

0 commit comments

Comments
 (0)