Skip to content

hasql-v1

Кодогенератор клиентского SDK для языка Haskell. Опирается на библиотеку "hasql".

Производит библиотеку, предоставляющую все запросы в проекте в виде объявлений Statement с уже осуществлённым мэпингом и структурами данных для параметров и результатов, специфичными для каждого запроса.

Поддерживаемые структуры данных

Примитивные типы

Таблица поддерживаемых примитивных типов данных Postgres в параметрах и результатах запросов:

Тип Postgres В параметрах В результатах
bool
bytea
char
cidr
date
datemultirange
daterange
float4
float8
inet
int2
int4
int4multirange
int4range
int8
int8multirange
int8range
interval
json
jsonb
macaddr
macaddr8
money
numeric
nummultirange
numrange
text
time
timestamp
timestamptz
timetz
tsmultirange
tsrange
tstzmultirange
tstzrange
uuid
xml

Массивы

Тип элемента массива Postgres В параметрах В результатах
Примитив
Композитный тип
Энумерация

Энумерации

Поддерживаются как в параметрах так и в результатах.

Композитные типы

Поддерживаются как в параметрах так и в результатах.

Версионирование библиотек

Так как в Haskell применяется конвенция версионирования PVP, а не SemVer, кодогенератор приводит значение version из файла конфигурации к PVP путём подставления префикса 0.. Например, версия 1.0.0 превратится в 0.1.0.0.