Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

sql-template-strings-ts

DenisFrezzato735MIT1.1.0TypeScript support: included

Functional wrapper for sql-template-strings: ES6 tagged template strings for prepared statements with MySQL and PostgreSQL

mysql, mysql2, postgres, postgresql, pg, prepared, statements, placeholder, tagged, template, strings, typescript

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.