1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-10 11:43:01 +03:00
Files
node-redis/lib/command.js
Ruben Bridgewater 2b4ab10305 chore - remove standard and use individual config
Standard is not as up to date and still uses a old eslint version.
Instead, use the airbnb default with a couple of modifications.

All required changes are included.
2017-11-28 21:38:21 -02:00

38 lines
958 B
JavaScript

'use strict'
const betterStackTraces = /development/i.test(process.env.NODE_ENV) || /\bredis\b/i.test(process.env.NODE_DEBUG)
// TODO: Change the arguments to an object
// callOnWrite could be two things now
function Command(name, args, callOnWrite, transformer) {
this.command = name
this.args = args
this.argsLength = 0
this.bufferArgs = false
var callback
transformer = transformer || function (err, res) {
return err || res
}
this.promise = new Promise((resolve, reject) => {
callback = (err, res) => {
if (err) {
const transformed = transformer(err)
if (transformed.stack) { // instanceof Error
reject(transformed)
} else {
resolve(transformed)
}
} else {
resolve(transformer(null, res))
}
}
})
this.callback = callback
this.callOnWrite = callOnWrite
if (betterStackTraces) {
this.error = new Error()
}
}
module.exports = Command