@triptease/sql-template-postgres
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.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.24.25714latest
0.18.160dev

Version History

VersionDownloads (Last 7 Days)Published
0.24.25714
0.23.240
0.22.230
0.21.220
0.20.210
0.19.200
0.18.190
0.17.180
0.16.170
0.18.160
0.15.130
0.14.120
0.13.110
0.10.100
0.9.90
0.6.60
0.3.40

Package Sidebar

Install

npm i @triptease/sql-template-postgres

Weekly Downloads

714

Version

0.24.25

License

MIT

Unpacked Size

8.16 kB

Total Files

4

Last publish

Collaborators

  • theomessin
  • danielbodart
  • triptease-root