assertSheet

Asserts that a value is a sheet, narrowing its type, and throws if it is not.

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

const input: unknown = { "2024": [1, 2] };

Sheet.assertSheet(input);
// input is now typed as Sheet<unknown>; no clone is made.
Sheet.sum(input); // 3

Sheet.assertSheet([1, 2]); // throws SheetError "SHEET_INVALID_SHEET"

API Reference

Signature

Sheet.assertSheet(value: unknown): asserts value is Sheet<unknown>;

Parameters

ParameterTypeRequiredNotes
valueunknownYesValue to assert.

Returns

void. Narrows value to Sheet<unknown> on success. Does not clone.

Throws

  • SHEET_INVALID_SHEET — value is not a valid sheet structure (same rule as from).

Agent Contract

FieldValue
Kindstatic assertion
Canonical nameassertSheet
AliasesNone
Mutates inputsNo
Returnsasserts value is Sheet<unknown>

Agent Notes

  • Use assertSheet when an invalid value should be an error; use isSheet when you want a boolean branch.
  • It validates only; to also get a key-ascending clone, use from.