Heap.Array
Объявляет поле-массив (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 },
]})
