UNPKG

@tricoteuses/senat

Version:

Handle French Sénat's open data

24 lines (23 loc) 773 B
import { sql } from "kysely"; import { STANDARD_DATE_FORMAT } from "../scripts/datautil"; export function concat(...exprs) { return sql.join(exprs, sql `||`).$castTo(); } export function expandToRows(expr, regexp) { return sql `unnest(regexp_matches(${expr}, ${regexp}, 'g'))`; } export function nullIf(expr) { return sql `nullif(trim(${expr}), '')`; } export function removeSubstring(expr, pattern) { return replace(expr, pattern, sql.val("")); } export function replace(expr, pattern, replacement) { return sql `replace(${expr}, ${pattern}, ${replacement})`; } export function rtrim(expr) { return sql `rtrim(${expr})`; } export function toDateString(expr, format = sql.val(STANDARD_DATE_FORMAT)) { return sql `to_char(${expr}, ${format})`; }