Errors

Every error thrown by @teakit/sheet is a SheetError carrying a stable code from the SheetErrorCode union (all SHEET_-prefixed).

import { Sheet, SheetError } from "@teakit/sheet";

try {
  Sheet.from(new Map());
} catch (error) {
  if (error instanceof SheetError) {
    error.code; // "SHEET_INVALID_SHEET"
  }
}

API Reference

Type

class SheetError extends Error {
  readonly code: SheetErrorCode;
}

Codes

CodeThrown by
SHEET_INVALID_SHEETfrom, assertSheet
SHEET_INVALID_RANGE_OPTIONSrange (invalid/missing by)
SHEET_INVALID_RANGE_BOUNDARYrange (bad boundary / start > end)
SHEET_INVALID_AGGREGATE_OPTIONSsum, mean, median
SHEET_INVALID_ROLLUP_OPTIONSrollup
SHEET_INVALID_ROLLDOWN_OPTIONSrolldown
SHEET_UNRECOGNIZED_PERIOD_SHEETrollup, rolldown
SHEET_UNSUPPORTED_ROLLUProllup (same-or-finer target)
SHEET_UNSUPPORTED_ROLLDOWNrolldown (same-or-coarser target)
SHEET_INVALID_NORMALIZE_OPTIONSnormalize
SHEET_INVALID_TRANSPOSE_OPTIONStranspose
SHEET_INVALID_MERGE_INPUTmerge
SHEET_INVALID_ZIP_INPUTzip
SHEET_INVALID_ENTRYfromEntries

Agent Contract

FieldValue
Kindconcept
Error typeSheetError (extends Error)
Discriminanterror.code: SheetErrorCode
PrefixSHEET_

Agent Notes

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