@sinclair/typebox
Version:
Json Schema Type Builder with Static Type Resolution for TypeScript
16 lines (15 loc) • 540 B
JavaScript
// ------------------------------------------------------------------
// 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);
}