You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-10 11:43:01 +03:00
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.
38 lines
958 B
JavaScript
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
|