Объявляет поле-массив (js array
) однотипных элементов.
import { Heap } from '@app/heap'
Heap.Array(elementSchema, options)
lementSchema: { HeapSchema }
Схема, описывающая тип элементов массива.
Это может быть любой поддерживаемый тип поля heap-таблицы - простой или сложный.
Схемы с модификаторами Heap.Optional и Heap.NonRequired не поддерживаются и приведут к рантайм-ошибке, т.к. не имеют смысла в данном контексте.
options: {default, minItems, maxItems, uniqueItems}
Объект с дополнительными необязательными параметрами поля.
default: array
Значение по умолчанию для данного поля. Подробнее о том, как работают значения по умолчанию, см.
Руководство / Heap / Значения по умолчанию
minItems: number
Валидация на минимальную длину массива.
maxItems: number
Валидация на максимальную длину массива.
uniqueItems: boolean
Валидация на уникальность элементов массива. Уникальность проверяется "глубоким" сравнением. В целях безопасности этот параметр может использоваться только в связке с maxItems
.
JSON-схема для array-поля.
const customers = Heap.Table('customers', {
searchHistory: Heap.Array(Heap.String(), { default: ['начало'] }),
})
const issues = Heap.Table('issues', {
checklist: Heap.Array(
Heap.Object({
title: Heap.String(),
done: Heap.Boolean(),
}),
),
})
await issues.create(ctx, { checklist: [
{ title: 'first', done: false },
{ title: 'second', done: true },
]})