1.1.0 • Published 3 years ago

sql-template-strings-ts v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

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.