Errors

Every error thrown by @teakit/matrix is a MatrixError carrying a stable code from the MatrixErrorCode union (all MATRIX_-prefixed).

import { Matrix, MatrixError } from "@teakit/matrix";

try {
  Matrix.from(new Map());
} catch (error) {
  if (error instanceof MatrixError) {
    error.code; // "MATRIX_INVALID_MATRIX"
  }
}

API Reference

Type

class MatrixError extends Error {
  readonly code: MatrixErrorCode;
}

Codes

CodeThrown by
MATRIX_INVALID_MATRIXfrom, assertMatrix
MATRIX_INVALID_RANGE_OPTIONSrange (invalid/missing by)
MATRIX_INVALID_RANGE_BOUNDARYrange (bad boundary / start > end)
MATRIX_INVALID_AGGREGATE_OPTIONSsum, mean, median
MATRIX_INVALID_ROLLUP_OPTIONSrollup
MATRIX_INVALID_ROLLDOWN_OPTIONSrolldown
MATRIX_UNRECOGNIZED_PERIOD_MATRIXrollup, rolldown
MATRIX_UNSUPPORTED_ROLLUProllup (same-or-finer target)
MATRIX_UNSUPPORTED_ROLLDOWNrolldown (same-or-coarser target)
MATRIX_INVALID_NORMALIZE_OPTIONSnormalize
MATRIX_INVALID_TRANSPOSE_OPTIONStranspose
MATRIX_INVALID_MERGE_INPUTmerge
MATRIX_INVALID_ZIP_INPUTzip
MATRIX_INVALID_ENTRYfromEntries

Agent Contract

FieldValue
Kindconcept
Error typeMatrixError (extends Error)
Discriminanterror.code: MatrixErrorCode
PrefixMATRIX_

Agent Notes

  • Branch on error.code, not on error.message (messages are not stable).
  • Import the type with import { MatrixError } from "@teakit/matrix".
  • Each method reference lists the exact codes it can throw under Throws.