@triptease/sql-template
TypeScript icon, indicating that this package has built-in type declarations

0.24.25 • Public • Published

Sql Template

This is yet another SQL tagged template for Typescript/Javascript

Why another library?

  • Typescript first
  • Functional/Immutable
  • Super simple implementation (the main SQL function is 3 lines of code)
  • Full escaping of identifiers and values
  • Plugable to any DB (currently only Postgres @triptease\sql-template-postgres )
  • Automatic support for prepareStatement naming (Postgres)

Installation

npm install @triptease/sql-template @triptease/sql-template-postgres

Usage

import {SQL, id} from "@triptease/sql-template";
import {statement} from "@triptease/sql-template-postgres";

client.query(statement(SQL`select * from ${id(table)} where name = ${name}`));

Cheatsheet

Core (@triptease/sql-template)

function Description
SQL The main function to create tagged templates for SQL (DB agnostic)
text (alias raw) Input raw SQL without any escaping (use with care)
id / ids Input dynamic identifiers into SQL (escaped as needed)
value (optional) / values (alias spread) Input one or more values into SQL (escaped as needed)

Postgres (@triptease/sql-template-postgres)

function Description
statement Converts DB agnostic SQL template into postgres statement
prepareStatement Converts DB agnostic SQL template into postgres prepare statement
debugQuery Used to debug a query (use with care)

use with care -> Used incorrectly you can open yourself up to SQL injection

Extending

It is incredibly simple to extend to other DBs, have a look at the postgres implementation.

Readme

Keywords

none

Package Sidebar

Install

npm i @triptease/sql-template

Weekly Downloads

670

Version

0.24.25

License

MIT

Unpacked Size

11.4 kB

Total Files

16

Last publish

Collaborators

  • theomessin
  • danielbodart
  • triptease-root