{"_id":"sql-template-strings","_rev":"28-6332974487aeadcc7ec08706af9886fe","name":"sql-template-strings","time":{"modified":"2022-06-26T23:15:18.926Z","created":"2015-09-19T19:01:26.902Z","1.0.0":"2015-09-19T19:01:26.902Z","1.0.1":"2015-09-19T20:38:52.997Z","1.0.2":"2015-09-19T20:45:07.793Z","1.1.0":"2015-09-29T02:15:36.123Z","1.1.1":"2015-10-16T09:11:54.519Z","1.1.2":"2016-01-17T22:36:48.341Z","2.0.0":"2016-05-03T16:31:17.254Z","2.0.1":"2016-05-12T12:58:49.950Z","2.0.2":"2016-05-12T13:04:28.912Z","2.0.3":"2016-06-28T10:19:14.653Z","2.0.4":"2016-07-17T17:00:18.401Z","2.1.0":"2016-08-10T13:24:25.699Z","2.1.1":"2016-08-10T13:30:28.385Z","2.2.0":"2016-08-11T12:56:26.490Z","2.2.1":"2016-09-16T20:53:18.507Z","2.2.2":"2016-09-17T02:07:02.404Z"},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}],"dist-tags":{"latest":"2.2.2"},"description":"ES6 tagged template strings for prepared statements with mysql and postgres","readme":"# SQL Template Strings\n\n[![Version](https://img.shields.io/npm/v/sql-template-strings.svg?maxAge=2592000)](https://www.npmjs.com/package/sql-template-strings)\n[![Downloads](https://img.shields.io/npm/dm/sql-template-strings.svg?maxAge=2592000)](https://www.npmjs.com/package/sql-template-strings)\n[![Build Status](https://travis-ci.org/felixfbecker/node-sql-template-strings.svg?branch=master)](https://travis-ci.org/felixfbecker/node-sql-template-strings)\n[![Coverage](https://codecov.io/gh/felixfbecker/node-sql-template-strings/branch/master/graph/badge.svg)](https://codecov.io/gh/felixfbecker/node-sql-template-strings)\n![Dependencies](https://david-dm.org/felixfbecker/node-sql-template-strings.svg)\n![Node Version](http://img.shields.io/node/v/sql-template-strings.svg)\n[![License](https://img.shields.io/npm/l/sql-template-strings.svg?maxAge=2592000)](https://github.com/felixfbecker/node-sql-template-strings/blob/master/LICENSE.md)\n[![Chat](https://badges.gitter.im/felixfbecker/node-sql-template-strings.svg)](https://gitter.im/felixfbecker/node-sql-template-strings?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n[API Documentation](http://node-sql-template-strings.surge.sh/)\n\nA simple yet powerful module to allow you to use ES6 tagged template strings for prepared/escaped statements.  \nWorks with [mysql](https://www.npmjs.com/package/mysql), [mysql2](https://www.npmjs.com/package/mysql2), [postgres](https://www.npmjs.com/package/pg) and [sequelize](https://www.npmjs.com/package/sequelize).\n\nExample for escaping queries (callbacks omitted):\n\n```js\nconst SQL = require('sql-template-strings')\n\nconst book = 'harry potter'\nconst author = 'J. K. Rowling'\n\n// mysql:\nmysql.query('SELECT author FROM books WHERE name = ? AND author = ?', [book, author])\n// is equivalent to\nmysql.query(SQL`SELECT author FROM books WHERE name = ${book} AND author = ${author}`)\n\n// postgres:\npg.query('SELECT author FROM books WHERE name = $1 AND author = $2', [book, author])\n// is equivalent to\npg.query(SQL`SELECT author FROM books WHERE name = ${book} AND author = ${author}`)\n\n// sequelize:\nsequelize.query('SELECT author FROM books WHERE name = ? AND author = ?', {replacements: [book, author]})\n// is equivalent to\nsequelize.query(SQL`SELECT author FROM books WHERE name = ${book} AND author = ${author}`)\n```\nThis might not seem like a big deal, but when you do an INSERT with a lot columns writing all the placeholders becomes a nightmare:\n\n```js\ndb.query(\n  'INSERT INTO books (name, author, isbn, category, recommended_age, pages, price) VALUES (?, ?, ?, ?, ?, ?, ?)',\n  [name, author, isbn, category, recommendedAge, pages, price]\n)\n// is better written as\ndb.query(SQL`\n  INSERT\n  INTO    books\n          (name, author, isbn, category, recommended_age, pages, price)\n  VALUES  (${name}, ${author}, ${isbn}, ${category}, ${recommendedAge}, ${pages}, ${price})\n`)\n```\nAlso template strings support line breaks, while normal strings do not.\n\n## How it works\nThe SQL template string tag transforms the template string and returns an _object_ that is understood by both mysql and postgres:\n\n```js\nconst query = SQL`SELECT author FROM books WHERE name = ${book} AND author = ${author}`\ntypeof query // => 'object'\nquery.text   // => 'SELECT author FROM books WHERE name = $1 AND author = $2'\nquery.sql    // => 'SELECT author FROM books WHERE name = ? AND author = ?'\nquery.values // => ['harry potter', 'J. K. Rowling']\n```\n\n## Building complex queries with `append()`\nIt is also possible to build queries by appending another query or a string with the `append()` method (returns `this` for chaining):\n\n```js\nquery.append(SQL`AND genre = ${genre}`).append(' ORDER BY rating')\nquery.text   // => 'SELECT author FROM books WHERE name = $1 AND author = $2 AND genre = $3 ORDER BY rating'\nquery.sql    // => 'SELECT author FROM books WHERE name = ? AND author = ? AND genre = ? ORDER BY rating'\nquery.values // => ['harry potter', 'J. K. Rowling', 'Fantasy'] ORDER BY rating\n```\n\nThis allows you to build complex queries without having to care about the placeholder index or the values array:\n\n```js\nconst query = SQL`SELECT * FROM books`\nif (params.name) {\n  query.append(SQL` WHERE name = ${params.name}`)\n}\nquery.append(SQL` LIMIT 10 OFFSET ${params.offset || 0}`)\n```\n\n## Raw values\nSome values cannot be replaced by placeholders in prepared statements, like table names.\n`append()` replaces the `SQL.raw()` syntax from version 1, just pass a string and it will get appended raw.\n\n > Please note that when inserting raw values, you are responsible for quoting and escaping these values with proper escaping functions first if they come from user input (E.g. `mysql.escapeId()` and `pg.escapeIdentifier()`).\n > Also, executing many prepared statements with changing raw values in a loop will quickly overflow the prepared statement buffer (and destroy their performance benefit), so be careful.\n\n```js\nconst table = 'books'\nconst order = 'DESC'\nconst column = 'author'\n\ndb.query(SQL`SELECT * FROM \"`.append(table).append(SQL`\" WHERE author = ${author} ORDER BY ${column} `).append(order))\n\n// escape user input manually\nmysql.query(SQL`SELECT * FROM `.append(mysql.escapeId(someUserInput)).append(SQL` WHERE name = ${book} ORDER BY ${column} `).append(order))\npg.query(SQL`SELECT * FROM `.append(pg.escapeIdentifier(someUserInput)).append(SQL` WHERE name = ${book} ORDER BY ${column} `).append(order)))\n```\n\n## Prepared Statements in Postgres\nPostgres requires prepared statements to be named, otherwise the parameters will be escaped and replaced on the client side.\nYou can set the name with the `setName()` method:\n\n```js\n// old way\npg.query({name: 'my_query', text: 'SELECT author FROM books WHERE name = $1', values: [book]})\n\n// with template strings\npg.query(SQL`SELECT author FROM books WHERE name = ${book}`.setName('my_query'))\n```\nYou can also set the name property on the statement object directly or use `Object.assign()`.\n\n## Bound Statements in sequelize\nBy default, Sequelize will escape replacements on the client.\nTo switch to using a bound statement in Sequelize, call `useBind()`.\nThe boolean parameter defaults to `true`.\nLike all methods, returns `this` for chaining.\nPlease note that as long as the bound mode is active, the statement object only supports Sequelize, not the other drivers.\n\n```js\n// old way\nsequelize.query('SELECT author FROM books WHERE name = ? AND author = ?', {bind: [book, author]})\n\n// with template strings\nsequelize.query(SQL`SELECT author FROM books WHERE name = ${book}`.useBind(true))\nsequelize.query(SQL`SELECT author FROM books WHERE name = ${book}`.useBind()) // the same\n\n// works with append (you can call useBind at any time)\nconst query = SQL`SELECT * FROM books`.useBind(true)\nif (params.name) {\n  query.append(SQL` WHERE name = ${params.name}`)\n}\nquery.append(SQL` LIMIT 10 OFFSET ${params.offset || 0}`)\n```\n\n## Contributing\n - Tests are written using [mocha](https://www.npmjs.com/package/mocha)\n - You can use `npm test` to run the tests and check coding style\n - Since this module is only compatible with ES6 versions of node anyway, use all the ES6 goodies\n - Pull requests are welcome :)\n","versions":{"1.0.1":{"name":"sql-template-strings","version":"1.0.1","description":"Allows you to use ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","gitHead":"0f9dae46437b124d6a3741194ef963e49bcb7eb1","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@1.0.1","scripts":{},"_shasum":"de871f0a2621eb2e04bc85b1406628f18a56d06d","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"de871f0a2621eb2e04bc85b1406628f18a56d06d","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-1.0.1.tgz","integrity":"sha512-4fhYnhybYYbIJi1qujA/taJxme0c8hUCmQSTnJXkiup8F0lsqPwK91QG6gmeF4OXnRIP6kCJXLxu8/yb2ejRfQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZ8etsTQavuhwhq1VlOtUUaYwteaPeR6v1P+jvYs/KtwIhAIJz21Q8hY9LPOMYZt/3a0pzzod1aSzr4DN4PfRI2P4n"}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}]},"1.0.2":{"name":"sql-template-strings","version":"1.0.2","description":"Allows you to use ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","gitHead":"e6621398ed6b59fead88b608fe4d79d18333064d","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@1.0.2","scripts":{},"_shasum":"091e9e4e4a53db7f15f5cfde6933f031b49f60f7","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"091e9e4e4a53db7f15f5cfde6933f031b49f60f7","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-1.0.2.tgz","integrity":"sha512-8SJOY/BJ8SfXdYUmSrBFCqdiYjvbX0Axo/VYuRjFuxRIaGvkgCDdeXbvF2Ba6I+A9JD8QGd4KD7JH5Ly97+PAg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTnzm4bRSd/8vKxjj8C+IYTvCoFtSHfTWhbYoLfQom5wIgbrYwY2mCKmAufdQE853YZf863vpWWtMGBZFzsDhB544="}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}]},"1.1.0":{"name":"sql-template-strings","version":"1.1.0","description":"Allows you to use ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"test":"mocha && standard"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"chai":"^3.3.0","mocha":"^2.3.3","standard":"^5.3.1"},"gitHead":"92e00292de4063aca2e5b75de9b1d6607410da4d","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@1.1.0","_shasum":"69a313e76b3794d3cfa652d66813e3a33e78fc53","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"69a313e76b3794d3cfa652d66813e3a33e78fc53","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-1.1.0.tgz","integrity":"sha512-D0A2/hloq+1O15uEsRKCvzbPE74gBj/l5WwhmsA4zo7KNWQ5N7LDfDiRZB18d+hYnbgv4LkuLrSSTENhZRKVAg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/yiUj9p+Zg6RCxNRO8FgtkOKS3eLBbz7o6kTDmjObFAIhAKqS22qnW6resJMWYd3tZrjWozd4iSF1dcCavyS4KTIz"}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}]},"1.1.1":{"name":"sql-template-strings","version":"1.1.1","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"test":"mocha && standard"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"chai":"^3.3.0","mocha":"^2.3.3","standard":"^5.3.1"},"gitHead":"a8254e400d4919d2561ef6c6fa2f07836fe62672","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@1.1.1","_shasum":"366c9fa6468f0fe4e5136dc9d0aaa586004b036c","_from":".","_npmVersion":"3.3.6","_nodeVersion":"4.1.2","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"366c9fa6468f0fe4e5136dc9d0aaa586004b036c","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-1.1.1.tgz","integrity":"sha512-91GKGzG7O9yJ9toEuSbU65fg3AcoNeFNWi/espS8egAvbIIZntpuJT3zbJKYo3/OETnAlbbaXJOyrQj+GWkblQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdAPxpJfo2oWeX0N1f48MY6hBlFQpE8WTaKdT/p6W1GAIhANdgNK+rEihf9hs+EhhQ3LlpimyYuFdf7hv7+Gv1d/1p"}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}]},"1.1.2":{"name":"sql-template-strings","version":"1.1.2","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"test":"mocha && standard"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"chai":"^3.3.0","mocha":"^2.3.3","standard":"^5.3.1"},"gitHead":"658ec4d58aa606e913d020d2f271be38738364c8","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@1.1.2","_shasum":"6bb48dc5255a196832ae50320d4d3a9544c77eff","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.1","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"6bb48dc5255a196832ae50320d4d3a9544c77eff","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-1.1.2.tgz","integrity":"sha512-+v6SjTOpmzy8n2SHrxAa2LxF/7NOZHGO2cIQWDJ5c5td4nQW2q9gVmm4ChbANHyada0x/DX+rGZslYaPv0wCWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHf6atLGROlVXorXeqU4Abb9FPeZCM9k3a2YHIbCNlx+AiAEQuB70FlrSZq1IGuzKsw8ozdWFRJaGJY7LPztBHrTLQ=="}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}]},"2.0.0":{"name":"sql-template-strings","version":"2.0.0","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","engines":{"node":">4.0.0"},"repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"test":"eslint index.js && mocha"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"eslint":"^2.9.0","mocha":"^2.3.3"},"gitHead":"5bddc3b2e2887c6684965d062f975fedcf316ea3","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@2.0.0","_shasum":"7f672acd618a62b0eac4c276ddbe7bb010e4b430","_from":".","_npmVersion":"3.8.7","_nodeVersion":"6.0.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"7f672acd618a62b0eac4c276ddbe7bb010e4b430","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-2.0.0.tgz","integrity":"sha512-5ouzXt021+k6ar71WYOySecnu3QyqIolXMjtCM2LSLKqCr/YBlGEtMWuIYowgxZIhw2GZBjr8VSgCo2lzHZM3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMXZmUuAJfHvbDz8Q+pa6aEjBZIYGlMnky9I78bNjT3gIgVuydmYm9jidR4UgAjGmH9J8ULV1fDDVgEo4iKA0hobA="}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sql-template-strings-2.0.0.tgz_1462293076088_0.6900930285919458"}},"2.0.1":{"name":"sql-template-strings","version":"2.0.1","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","engines":{"node":">4.0.0"},"repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"test":"eslint index.js && mocha"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"eslint":"^2.9.0","mocha":"^2.3.3"},"gitHead":"a528c34e3b9bc1439b23b0896b335adf297537fc","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@2.0.1","_shasum":"7bcf9675d9b8f470d68efeea91f78a79c552509e","_from":".","_npmVersion":"3.8.7","_nodeVersion":"6.0.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"7bcf9675d9b8f470d68efeea91f78a79c552509e","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-2.0.1.tgz","integrity":"sha512-D39Boxf5W+SkHO9MpVSo0hNJ10CCEt5Y083M7Ue1us7/XVl1FZaSoe5vGUC/UfqVWbvep9MPsZEFkrdvNHypVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBKMX0dineoMkq83GDK4Qt/NuhrXrNFyDShAe23LNN+zAiEAuIWMaqeCbRj0AkTk5cTJCPS/C8D6DFC0vKQc319woNo="}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sql-template-strings-2.0.1.tgz_1463057928344_0.19039521762169898"}},"2.0.2":{"name":"sql-template-strings","version":"2.0.2","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","engines":{"node":">4.0.0"},"repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"test":"eslint index.js && mocha"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"eslint":"^2.9.0","mocha":"^2.3.3"},"gitHead":"d58f92715ab8f861bc39b29ea9536c7b15d866b3","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@2.0.2","_shasum":"81a416ef4f8777cf2dcfb979a5f2f709d8e87e81","_from":".","_npmVersion":"3.8.7","_nodeVersion":"6.0.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"81a416ef4f8777cf2dcfb979a5f2f709d8e87e81","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-2.0.2.tgz","integrity":"sha512-sCqzH/jPVVUIB8DJwlQuWft7xM85+iwWtEJaPhzEU7Hn35BdNc1h9SJxAlmE08voVWpHs5oX6DviDfxV5lVMKw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuGXUCSLDXB1lrfs/G9zte2jK8UeVWVCvblfewDiZcBQIgOJlngSGcSbhRKzmynDGkLjtU5kdukhOPKYwWHp4U7d4="}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sql-template-strings-2.0.2.tgz_1463058266361_0.11315130698494613"}},"2.0.3":{"name":"sql-template-strings","version":"2.0.3","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","typings":"index.d.ts","engines":{"node":">4.0.0"},"repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"test":"eslint index.js && mocha"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"eslint":"^2.9.0","mocha":"^2.3.3"},"gitHead":"3e4da5c6fe2ed1b9e83ef26bd826a2f26cc7a8c4","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@2.0.3","_shasum":"73cc0d21cb7c06926b5aa026deee577b05d84dd2","_from":".","_npmVersion":"3.9.2","_nodeVersion":"6.1.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"73cc0d21cb7c06926b5aa026deee577b05d84dd2","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-2.0.3.tgz","integrity":"sha512-niQ6kwKIcr5TBwdC6L9zH3gHsG1Ge1Ju8lzDNHVZPDbXe5zqYscsjzESKX6Gd3f3qyBHs9JD6y/rnwbw5Dl6XQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoUZmGddnHcLD7IAfTGtvJFl5YEo/7rm99ScBmjIzWKAIhAKRwc0fN/FiWbpr331Tbqgd6/6qlASkw0HquMlNaZGGE"}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sql-template-strings-2.0.3.tgz_1467109153596_0.4817513676825911"}},"2.0.4":{"name":"sql-template-strings","version":"2.0.4","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","typings":"index.d.ts","engines":{"node":">4.0.0"},"repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"test":"eslint index.js && mocha","typedoc":"typedoc --module es2015 --target es2015 --includeDeclarations --mode file --readme none --out typedoc index.d.ts"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"eslint":"^2.9.0","mocha":"^2.3.3","typedoc":"^0.4.4"},"gitHead":"c79559e618f09aef4874e1eb45c9cfc0e2ca5236","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@2.0.4","_shasum":"6c95c430ce9674ecb0cde66e31b17c9cfe3b1a26","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.0.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"6c95c430ce9674ecb0cde66e31b17c9cfe3b1a26","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-2.0.4.tgz","integrity":"sha512-m+AtvAZw15PvSM2fCztdMiU1jJ3xchVCRfoBdvis9SJzD5bFqSGtKWzgIdWm6lhHqadY6IZjma0C0Fcbx73NbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuoVc17c/+PEeKk66s7/2HMLnnVBkkqmzQAaQY+Jf0aAIgeHqAfr4Tb4lmJJD7Ui1st2tkMM35QASFsvTi58vwwtQ="}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sql-template-strings-2.0.4.tgz_1468774816069_0.6620795696508139"}},"2.1.0":{"name":"sql-template-strings","version":"2.1.0","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","typings":"index.d.ts","engines":{"node":">4.0.0"},"repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"test":"eslint index.js && mocha","typedoc":"typedoc --module es2015 --target es2015 --includeDeclarations --mode file --readme none --out typedoc index.d.ts"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"eslint":"^2.9.0","mocha":"^2.3.3","typedoc":"^0.4.4"},"gitHead":"5acb6ddb0d949d5225cd245ced6bdcc3f34c9866","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@2.1.0","_shasum":"40dc88435afa566566c79e3d1960738024ec13da","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.1.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"40dc88435afa566566c79e3d1960738024ec13da","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-2.1.0.tgz","integrity":"sha512-t9LipG0A8JfVWimHyma49PS8o9ZzPFHs1u8DGBfVDY6YfiZgfoj+G2KdjGV/eZ3X1UTix5cgzav12CfqVRi/gg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBCbCdIXuCyNEO4UXXPmmJbia73XnFt09CcfAH1HESHrAiEA/RB6+f+RCDrDKNGCHgkuZsYg0Zy1I5SzoO0ud9ceJ9s="}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sql-template-strings-2.1.0.tgz_1470835463766_0.3730098295491189"}},"2.1.1":{"name":"sql-template-strings","version":"2.1.1","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","typings":"index.d.ts","engines":{"node":">4.0.0"},"repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"test":"eslint index.js && mocha","typedoc":"typedoc --module es2015 --target es2015 --includeDeclarations --mode file --readme none --out typedoc index.d.ts"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"eslint":"^2.9.0","mocha":"^2.3.3","typedoc":"^0.4.4"},"gitHead":"89950de105386c7c62f6d4fef866b0d3cc328803","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@2.1.1","_shasum":"ede64fd378d77946e98f412117e4ab1ff08fdbc9","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.1.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"ede64fd378d77946e98f412117e4ab1ff08fdbc9","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-2.1.1.tgz","integrity":"sha512-bVT8iUk0uqaE6sBB48yeRXtRyNsE6OUud62foQx8RPnj5lP/bmjdNF1Y7GrMk5mycmMHaO3caCZo4Q744mwGlg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIExGeckJYVvrglxsP/QrUvjbzbsntVzIn7gPcRr8HGeMAiBVGzhdDeodYfnW8Plb7W4wNM2b7OHW187bRVJByOQeDw=="}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sql-template-strings-2.1.1.tgz_1470835825517_0.4649466220289469"}},"2.2.0":{"name":"sql-template-strings","version":"2.2.0","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","typings":"index.d.ts","engines":{"node":">4.0.0"},"repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"test":"eslint index.js && mocha","typedoc":"typedoc --module es2015 --target es2015 --includeDeclarations --mode file --readme none --out typedoc index.d.ts"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"eslint":"^2.9.0","mocha":"^2.3.3","typedoc":"^0.4.4"},"gitHead":"1778bfab8d2c69b6ed453d4593e40072922b3c50","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@2.2.0","_shasum":"129f62a5972398488d485709b0805eb28cb8e4e1","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.1.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"129f62a5972398488d485709b0805eb28cb8e4e1","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-2.2.0.tgz","integrity":"sha512-v9nM48Q6W4eHQmMEo44SOMm9SjpwHRvJFaeHmICrflaNZGm0SBVpjCmefJH9QSglL9sjjUo/bYrb7ZfJ4Or8kA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDySf6wswgQ0OLb6Es31FGtS3wM8gc7PFMLuZ/sFeOOEgIhALQIDxOmIH9nqCTfD1nEFqd8jjrD+Q51iSGCwYP5Sp0T"}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sql-template-strings-2.2.0.tgz_1470920184418_0.15984271909110248"}},"2.2.1":{"name":"sql-template-strings","version":"2.2.1","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","typings":"index.d.ts","engines":{"node":">=4.0.0"},"repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"lint":"eslint index.js test","test":"mocha test","cover":"nyc --all mocha test","typedoc":"typedoc --module es2015 --target es2015 --includeDeclarations --mode file --readme none --out typedoc index.d.ts"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"eslint":"^3.4.0","mocha":"^3.0.2","nyc":"^8.1.0","typedoc":"^0.4.4"},"nyc":{"include":["index.js"],"exclude":["test/**/*.js"]},"gitHead":"85304223e2bb2ca917ebcd59a098d4d506914623","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@2.2.1","_shasum":"88a1686c864be4d2e724a31fb8660aad6399df76","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.5.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"88a1686c864be4d2e724a31fb8660aad6399df76","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-2.2.1.tgz","integrity":"sha512-DD4vlk7d1XHGTDk06DqTcdFvV3alh4yiqSAaMppiLpcFTPrhMRuO+GHEbjCt1s3fV1ySRSX2nj7+bMft3Td3Yg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHFUjAa6TcTseNaedccpGxe1EeRngQL1vqentARd3mYQAiA0aF/nNYdRwPjxuo/29TaqJVIH4c3QsqhwsmujnCLm8w=="}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/sql-template-strings-2.2.1.tgz_1474059196492_0.5549432663246989"}},"2.2.2":{"name":"sql-template-strings","version":"2.2.2","description":"ES6 tagged template strings for prepared statements with mysql and postgres","main":"index.js","typings":"index.d.ts","engines":{"node":">=4.0.0"},"repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"scripts":{"lint":"eslint index.js test","test":"mocha test","cover":"nyc --all mocha test","typedoc":"typedoc --module es2015 --target es2015 --includeDeclarations --mode file --readme none --out typedoc index.d.ts"},"keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"author":{"name":"Felix Becker"},"license":"ISC","devDependencies":{"eslint":"^3.4.0","mocha":"^3.0.2","nyc":"^8.1.0","typedoc":"^0.4.4"},"nyc":{"include":["index.js"],"exclude":["test/**/*.js"]},"gitHead":"84ff820160e6d8b1a06d1e7c408a79b3843e5493","bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","_id":"sql-template-strings@2.2.2","_shasum":"3f11508a25addfce217a3042a9d300c3193b96ff","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.5.0","_npmUser":{"name":"felixfbecker","email":"felix.b@outlook.com"},"dist":{"shasum":"3f11508a25addfce217a3042a9d300c3193b96ff","tarball":"https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-2.2.2.tgz","integrity":"sha512-UXhXR2869FQaD+GMly8jAMCRZ94nU5KcrFetZfWEMd+LVVG6y0ExgHAhatEcKZ/wk8YcKPdi+hiD2wm75lq3/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9Vyxk2XQvejmj4Y1ZCFo3gBd9klNviGBDTksVOwWiRAiEA0TNNo6VDnlcS/Tio7mdupTwpyc+bW3nQk/XuLAWwAYA="}]},"maintainers":[{"name":"felixfbecker","email":"felix.b@outlook.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/sql-template-strings-2.2.2.tgz_1474078020673_0.5804856750182807"}}},"homepage":"https://github.com/felixfbecker/node-sql-template-strings#readme","keywords":["mysql","mysql2","postgres","pg","prepared","statements","placeholder","es6","tagged","template","strings"],"repository":{"type":"git","url":"git+https://github.com/felixfbecker/node-sql-template-strings.git"},"author":{"name":"Felix Becker"},"bugs":{"url":"https://github.com/felixfbecker/node-sql-template-strings/issues"},"license":"ISC","readmeFilename":"README.md","users":{"kerimdzhanov":true,"elussich":true,"djviolin":true,"eshenbrener":true,"sparebytes":true,"writech":true,"sidwood":true,"vparaskevas":true,"jasonwang1888":true}}