UNPKG

@sinclair/typebox

Version:

Json Schema Type Builder with Static Type Resolution for TypeScript

16 lines (15 loc) 540 B
// ------------------------------------------------------------------ // TypeGuard // ------------------------------------------------------------------ import { IsIntersect, IsUnion, IsTuple } from '../guard/kind.mjs'; // prettier-ignore function RestResolve(T) { return (IsIntersect(T) ? T.allOf : IsUnion(T) ? T.anyOf : IsTuple(T) ? T.items ?? [] : []); } /** `[Json]` Extracts interior Rest elements from Tuple, Intersect and Union types */ export function Rest(T) { return RestResolve(T); }