1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-06 02:15:48 +03:00

Move command out of the index.js

This commit is contained in:
Ruben Bridgewater
2015-09-30 02:03:37 +02:00
parent 29b31f749a
commit fba050802b
6 changed files with 53 additions and 44 deletions

13
lib/command.js Normal file
View File

@@ -0,0 +1,13 @@
'use strict';
// This Command constructor is ever so slightly faster than using an object literal, but more importantly, using
// a named constructor helps it show up meaningfully in the V8 CPU profiler and in heap snapshots.
function Command(command, args, sub_command, buffer_args, callback) {
this.command = command;
this.args = args;
this.sub_command = sub_command;
this.buffer_args = buffer_args;
this.callback = callback;
}
module.exports = Command;

View File

@@ -130,23 +130,23 @@ ReplyParser.prototype.execute = function (buffer) {
try {
type = this._buffer[this._offset++];
if (type === 43) { // +
if (type === 43) { // Strings +
ret = this._parseResult(type);
this.send_reply(ret);
} else if (type === 45) { // -
} else if (type === 45) { // Errors -
ret = this._parseResult(type);
this.send_error(ret);
} else if (type === 58) { // :
} else if (type === 58) { // Integers :
ret = this._parseResult(type);
this.send_reply(ret);
} else if (type === 36) { // $
} else if (type === 36) { // Bulk strings $
ret = this._parseResult(type);
this.send_reply(ret);
} else if (type === 42) { // 42 *
} else if (type === 42) { // Arrays *
// set a rewind point. if a failure occurs,
// wait for the next execute()/append() and try again
offset = this._offset - 1;

View File

@@ -46,8 +46,20 @@ function toArray(args) {
return arr;
}
function print (err, reply) {
if (err) {
console.log("Error: " + err);
} else {
console.log("Reply: " + reply);
}
}
var redisErrCode = /^([A-Z]+)\s+(.+)$/;
module.exports = {
reply_to_strings: replyToStrings,
reply_to_object: replyToObject,
to_array: toArray
to_array: toArray,
print: print,
errCode: redisErrCode
};