Heap.Tuple
Объявляет поле-кортеж (tuple) - массив фиксированной длины с заданными типами элементов на каждой позиции.
Применение / сигнатура
import { Heap } from '@app/heap'
Heap.Tuple(elementsSchema, options)
Аргументы
-
elementsSchema: HeapSchema
[]*
Список схем для соответствующх элементов на каждой позиции кортежа.
Это может быть любой поддерживаемый тип поля heap-таблицы - простой или сложный.Схемы с модификаторами Heap.Optional и Heap.NonRequired не поддерживаются и приведут к рантайм-ошибке, т.к. не
имеют смысла в данном контексте. -
options:
{default}
Объект с дополнительными необязательными параметрами поля.- default:
array
Значение по умолчанию для данного поля. Подробнее о том, как работают значения по умолчанию, см.
Руководство / Heap / Значения по умолчанию
- default:
Возвращаемое значение
JSON-схема для массива
с фиксированной длиной и типами элементов.
Примеры
Моделирование единицы веса с помощью Heap.Tuple
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'],
})
