datapumps
Version:
Node.js ETL (Extract, Transform, Load) toolkit for easy data import, export or transfer between systems.
26 lines (21 loc) • 680 B
text/coffeescript
Promise = require('bluebird')
mysqlMixin = (connection) ->
(target) ->
target._mysql =
connection: connection
query: Promise.promisify connection.query
target.query = (query, args...) ->
if args?
.query(query, args)
else
.query(query)
target.selectOne = (query, args...) ->
target.query(query, args)
.then (results) ->
if results.length == 1
Promise.resolve(results[0])
else if results.length == 0
Promise.reject('Query returned no result')
else
Promise.reject('Query returned more than one result')
module.exports = mysqlMixin