tuple
Массив фиксированной длины, у каждой позиции своя схема.
Сигнатура
ts
function tuple<const T extends readonly Schema[]>(items: T, msg?: Message): Schema<[...]>Параметры
| Параметр | Тип | Описание |
|---|---|---|
items | Schema[] | Схемы для каждой позиции |
msg | Message | Своё сообщение для всех ошибок самого массива |
Коды ошибок
| Код | Когда | Сообщение по умолчанию |
|---|---|---|
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 — массив любой длины с одной схемой