Объект Heap, импортируемый из модуля @app/heap, предоставляет доступ к DSL (domain-specific language) объявления heap-таблицы. С помощью него формируются одновременно Typescript-тип записи таблицы и JSON-схема, которая используется для валидации сохраняемых в таблицу данных. Ниже перечислены все доступные функции объекта Heap:
create
,
автоматически заполняя его указанным значением по умолчанию.Heap.NonRequired(Heap.Union(x, Heap.Null()), null)
.x Heap.String()
-> x? Heap.String()
).any
- позволяет хранить любые JSON-сериализуемые данные без валидации.null
, обычно используется для объявления альтернативы внутри
Heap.Union.undefined
, использование не рекомендуется,
поскольку undefined не может быть сохранён в JSON.unknown
- аналогично Heap.Any.Heap.Object
,
Heap.Record
в одну аналогично операции intersect (A & B
) над типами в Typescript.Heap.Object
.Heap.Object
,
аналогично встроенному в Typescript типу Omit
.Heap.Object
в необязательные,
аналогично встроенному в Typescript типу Partial
.Heap.Object
, аналогично встроенному в Typescript типу Pick
.Heap.Object
в обязательные, аналогично встроенному в Typescript типу Required
.