JSPM

sql-template-strings-ts

1.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 155
  • Score
    100M100P100Q81521F
  • License MIT

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

Package Exports

  • sql-template-strings-ts

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sql-template-strings-ts) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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.