Объявляет поле-кортеж (tuple) - массив фиксированной длины с заданными типами элементов на каждой позиции.
import { Heap } from '@app/heap'
Heap.Tuple(elementsSchema, options)
elementsSchema: HeapSchema[]
*
Список схем для соответствующх элементов на каждой позиции кортежа.
Это может быть любой поддерживаемый тип поля heap-таблицы - простой или сложный.
Схемы с модификаторами Heap.Optional и Heap.NonRequired не поддерживаются и приведут к рантайм-ошибке, т.к. не имеют смысла в данном контексте.
options: {
default}
Объект с дополнительными необязательными параметрами поля.
array
JSON-схема для массива с фиксированной длиной и типами элементов.
const weightSchema = Heap.Tuple([
Heap.Number({ minimum: 0 }),
Heap.Union([
Heap.Literal('gram'),
Heap.Literal('kilogram'),
Heap.Literal('ton'),
]),
])
const scales = Heap.Table('scales', {
minWeight: weightSchema,
maxWeight: weightSchema,
})
await scales.create(ctx, {
minWeight: [10, 'gram'],
maxWeight: [100, 'kilogram'],
})