Heap.Object
Объявляет поле-объект с заданной структурой.
Применение / сигнатура
import { Heap } from '@app/heap'
Heap.Object(propertiesSchema, options)
Аргументы
-
propertiesSchema:
{ [key: string]: HeapSchema }*
Объект, ключами которого являются названия полей объекта, а значениями - схемы, описывающие их типы.Названия полей могут содержать только латинские буквы (строчные и заглавные), цифры, символ
подчёркивания (_) и не должны начинаться с цифры.Значениями могут быть любые поддерживаемые схемы, которые можно объявить с помощью функций объекта
Heap (кроме тех, что объявляют/модицифируют целые таблицы).Модификаторы Heap.Optional, Heap.NonRequired
(и его производная - Heap.Nullable) предназначены эксклюзивно
для полей объекта (включая поля таблицы верхнего уровня) и не могут применяться где-либо ещё. -
options:
{default}
Объект с дополнительными необязательными параметрами поля.- default:
object
Значение по умолчанию для данного поля. Подробнее о том, как работают значения по умолчанию, см.
Руководство / Heap / Значения по умолчанию
Свойство
additionalPropertiesиз JSON-схемы не поддерживается. Если на вход подать
объект с полями, которые не перечислены в схеме, то такие "лишние" поля будут проигнорированы и не будут
записаны или прочитаны из хранилища. - default:
Возвращаемое значение
JSON-схема для object.
Примеры
Простой вложенный объект с тремя полями с модификаторами
const issues = Heap.Table('issues', {
owner: Heap.Object({
name: Heap.String(),
role: Heap.NonRequired(Heap.Enum(IssueOwnerRole), IssueOwnerRole.Employee),
rank: Heap.Optional(Heap.Number()),
}),
})
