NonNegative: T extends Zero ? T : Negative<T> extends never ? T : never

A non-negative number/bigint (0 <= x < ∞).

Use-case: Validating and documenting parameters.

Type Parameters

  • T extends Numeric
  • NonNegativeInteger
  • Negative
import type {NonNegative} from 'type-fest';

declare function setLength<T extends number>(length: NonNegative<T>): void;