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

❤️ Made with love on Chatium

ООО "Чатиум"

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