Skip to content

tuple ​

Массив фиксированной длины, у каждой позиции своя схема.

Сигнатура ​

ts
function tuple<const T extends readonly Schema[]>(items: T, msg?: Message): Schema<[...]>

Параметры ​

ПараметрТипОписание
itemsSchema[]Схемы для каждой позиции
msgMessageСвоё сообщение для всех ошибок самого массива

Коды ошибок ​

КодКогдаСообщение по умолчанию
requiredЗначение пустоеRequired
arrayНе массивMust be an array
itemsДругое число элементовMust have exactly {length} {length|item|items}

Примеры ​

Координаты ​

ts
const point = tuple([pipe(number(), min(-90), max(90)), pipe(number(), min(-180), max(180))]);
// [number, number]

validate(point, [55.75, 37.62]).valid; // true
validate(point, [55.75]).errors;       // { '': 'Must have exactly 2 items' }
validate(point, [100, 0]).errors;      // { 0: 'Must be at most 90' }

Диапазон дат ​

ts
const range = tuple([coerce.date(), coerce.date()]); // [Date, Date]

См. также ​

  • array — массив любой длины с одной схемой