Heap.Object

Объявляет поле-объект с заданной структурой.

Применение / сигнатура

import { Heap } from '@app/heap'
Heap.Object(propertiesSchema, options)

Аргументы

  • propertiesSchema: { [key: string]: HeapSchema } *
    Объект, ключами которого являются названия полей объекта, а значениями - схемы, описывающие их типы.

    Названия полей могут содержать только латинские буквы (строчные и заглавные), цифры, символ подчёркивания (_) и не должны начинаться с цифры.

    Значениями могут быть любые поддерживаемые схемы, которые можно объявить с помощью функций объекта Heap (кроме тех, что объявляют/модицифируют целые таблицы).

    Модификаторы Heap.Optional, Heap.NonRequired (и его производная - Heap.Nullable) предназначены эксклюзивно для полей объекта (включая поля таблицы верхнего уровня) и не могут применяться где-либо ещё.

  • options: { default }
    Объект с дополнительными необязательными параметрами поля.

    Свойство additionalProperties из JSON-схемы не поддерживается. Если на вход подать объект с полями, которые не перечислены в схеме, то такие "лишние" поля будут проигнорированы и не будут записаны или прочитаны из хранилища.

Возвращаемое значение

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()),
  }),
})

❤️ Made with love on Chatium

ООО "Чатиум"

Информация о компании