sql-template-strings-ts
v1.1.0
Published
Functional wrapper for sql-template-strings: ES6 tagged template strings for prepared statements with MySQL and PostgreSQL
Downloads
537
Maintainers
Readme
Functional wrapper for sql-template-strings
module. The goal of this library is to expose a pipe
friendly API.
Install
$ npm i sql-template-strings sql-template-strings-ts
Documentation
t
declare const t: (strings: TemplateStringsArray, ...values: unknown[]) => SQLStatement
The template string tag.
Example:
import * as SQL from 'sql-template-strings-ts'
import { pipe } from 'fp-ts/function'
declare const book: string
declare const author: string
const query = SQL.t`
SELECT author FROM books
WHERE name = ${book} AND author = ${author}`
append
declare const append: (statement: SQLStatement | string | number) => (sql: SQLStatement) => SQLStatement
Appends a string or another statement.
Example:
import * as SQL from 'sql-template-strings-ts'
import { identity, pipe } from 'fp-ts/function'
declare const name: string | undefined
declare const offset: number
const query = pipe(
SQL.t`SELECT * FROM books`,
name ? SQL.append(SQL.t` WHERE name = ${name}`) : identity,
SQL.append(SQL.t` LIMIT 10 OFFSET ${offset}`),
)
setName
declare const setName: (name: string) => (sql: SQLStatement) => SQLStatement
Sets the name property of this statement for prepared statements in PostgreSQL.
useBind
declare const useBind: (bind: boolean) => (sql: SQLStatement) => SQLStatement
Use a prepared statement with Sequelize. Makes query
return a query with $n
syntax instead of ?
and switches the values
key name to bind
.
Please refer to sql-template-strings
documentation for further details.