Package Exports
- yesql
 
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 (yesql) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Read named SQL statements from .sql files and/or use named parameters in prepared statements.
Read named SQL statements from .sql files
Put your statements in a .sql file and name them with a comment above.
e.g. /myproject/sql/pokemon.sql
-- getPokemon
SELECT * from pokemon
  WHERE id = ?; -- raw style
-- addPokemon
INSERT INTO pokemon(name, price)
  VALUES ($name, $price); -- SQLite named parameter style
-- updatePokemon
UPDATE pokemon
  SET price = :price; -- PostgreSQL / MySQL named parameter styleRaw / SQLite
Use them in code by giving the directory where .sql files(s) are
const sql = require('yesql')('/myproject/sql/')
const db = new sqlite3.Database('/myproject/sql/db.sqlite3')
db.all(sql.getPokemon, 1337, (err, rows) => {...})
db
  .prepare(sql.addPokemon)
  .run({name: 'pikachu', price: 99}, err => {...}MySQL / MariaDB
Prepared statements for MySQL / MariaDB are supported
const sql = require('yesql')('/myproject/sql/', {type: 'mysql'})
const named = require('yesql').mysql
const mysql = require('mysql').createConnection...
// read from file
mysql.query(sql.updatePokemon({price: 5}), (err, result) => {...})
// use only named parameters
mysql.query(named('UPDATE ::ptable SET price = :price;')({price: 5, ptable: 'pokemon'}), (err, result) => {...})PostgreSQL
Prepared statements for node-postgres (pg) are supported
const sql = require('yesql')('/myproject/sql/',  {type: 'pg'})
const named = require('yesql').pg
const pg = require('pg').connect...
// read from file
pg.query(sql.updatePokemon({price: 5}), (err, result) => {...})
// use only named parameters
pg.query(named('UPDATE pokemon SET price = :price;')({price: 5}), (err, result) => {...})Changelog
4.0.0
- Moderner JS with arrow functions and consts
 - Support PG date format function https://github.com/pihvi/yesql/issues/13
 
3.2.2
- Allow missing slash on directory path
 - Thanks @critocrito https://github.com/pihvi/yesql/pull/9
 
3.2.1
- Add security build and badge
 - Update deps
 
3.2.0
- Support Windows new lines
 
3.1.6
- Add CI build and Greenkeeper check
 - Update dev dependencies
 
3.1.5
- Add MySQL table name as parameter to example
 
3.1.4
- Fix pg type cast and docs
 
3.1.1
- Support mysql prepared statements
 
2.6.0
- Support pg prepared statements