generated from tpl/purs
src/Database | ||
.editorconfig | ||
.gitignore | ||
bower.json | ||
LICENSE | ||
package.json | ||
purspgpp | ||
PurspgppExample.purs | ||
README.md |
purescript-postgresql-client
purescript-postgresql-client is a PostgreSQL client library for PureScript.
To use this library, you need to add pg
as an npm dependency.
Included is an optional preprocessor, purspgpp, which finds embedded SQL queries in PureScript source files and infers their types. Such queries can be written as follows:
userName = [query|
SELECT first_name, last_name
FROM users
WHERE id = $1
|]
purspgpp will replace this by something like the following:
(Query """
SELECT first_name, last_name
FROM users
WHERE id = $1
""" :: Query (Tuple UUID Unit) (Tuple String (Tuple String Unit))
You can integrate purspgpp into your build system. For example, here is a
PowerShell script that executes it for all .purspg
files:
Get-ChildItem src -Recurse -Filter *.purspg `
| ForEach-Object {
perl6 `
bower_components/purescript-postgresql-client/purspgpp `
"user=postgres password=lol123 dbname=nn" `
"$($_.FullName)" `
"$([IO.Path]::ChangeExtension($_.FullName, "purs"))"
if (!$?) {
Write-Error "Unable to preprocess $_"
}
}