ts-matrices
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

ts-matrices

Advanced type-level utilities for arrays, matrices, and numeric operations (filtering, intersection, transposition, and min/max).

Installation

Using npm:

npm i -D ts-matrices

Using pnpm:

pnpm i -D ts-matrices

Requires TypeScript v5.0+

Documentation

ArrayFilter

Filters elements from an array based on a given predicate type.

Example:

ArrayFilter<[0, 1, 2], Falsy>; // Results in [0]
ArrayFilter<[0, 1, 2, 3, 4], 0 | 2 | 4>; // Results in [0, 2, 4]

ArrayMax

Extracts the maximum numeric value in a given array.

Example:

ArrayMax<[-54, 2, 0, 999, 69, 2]>; // Result: 999
ArrayMax<[-54, -2, -90, -72, -69, -202]>; // Result: -2

ArrayMin

Extracts the minimum numeric value in a given array.

Example:

ArrayMin<[-54, 2, 0, 999, 69, 2]>; // Result: -54
ArrayMin<[-54, -2, -90, -72, -69, -202]>; // Result: -202

Transpose

Transposes a matrix (2D array) by converting rows into columns and columns into rows.

Example:

type Matrix = [
  [1, 2, 3],
  [4, 5, 6]
];
Transpose<Matrix>; // Result: [[1, 4], [2, 5], [3, 6]]

ArrayUnique

Constructs a new array containing only unique elements from a given array type.

Example:

ArrayUnique<[1, 1, 2, 2, 3, 3]>; // Result: [1, 2, 3]
ArrayUnique<[1, 'a', 2, 'b', 2, 'a']>; // Result: [1, 'a', 2, 'b']

ArrayIncludes

Checks if a given type is in an array type.

Example:

ArrayIncludes<[bigint, true, 2, 3, 5, 6, 'seven'], true>; // Result: true
ArrayIncludes<[0, 1, 2], 0>; // Result: true

ArrayIntersection

Calculates the intersection of the types within an array of tuple types.

Example:

ArrayIntersection<[[1, 0, 1], [0, 1, -1], [0, 0, 1]]>; // Result: 0 | 1
ArrayIntersection<[[1, 0], [0, 1], [0, 0]]>; // Result: 0

MinInTwoPositiveNumbers

Gets the minimum of two positive numbers.

Example:

MinInTwoPositiveNumbers<21, 0>; // Result: 0
MinInTwoPositiveNumbers<54, 10000000>; // Result: 54

MaxInTwoPositiveNumbers

Gets the maximum of two positive numbers.

Example:

MaxInTwoPositiveNumbers<21, 0>; // Result: 21
MaxInTwoPositiveNumbers<54, 10000000>; // Result: 10000000

MinInTwoNumbers

Gets the minimum value from two numeric values, regardless of the sign.

Example:

MinInTwoNumbers<54, -78>; // Result: -78
MinInTwoNumbers<-87, 777>; // Result: -87

MaxInTwoNumbers

Gets the maximum value from two numeric values, regardless of the sign. Example:

MaxInTwoNumbers<54, -78>; // Result: 54
MaxInTwoNumbers<-87, 777>; // Result: 777

Changelog

See releases.

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i ts-matrices

Weekly Downloads

0

Version

1.1.0

License

MIT

Unpacked Size

16.7 kB

Total Files

6

Last publish

Collaborators

  • ashgw