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

chore: rename files

This commit is contained in:
Ruben Bridgewater
2017-05-31 00:01:25 +02:00
parent e1669a4a5a
commit 53d5f46fb1
7 changed files with 14 additions and 16 deletions

58
lib/addCommand.js Normal file
View File

@@ -0,0 +1,58 @@
'use strict'
const Command = require('./command')
function addCommand (clientProto, multiProto, command) {
// Some rare Redis commands use special characters in their command name
// Convert those to a underscore to prevent using invalid function names
const commandName = command.replace(/(?:^([0-9])|[^a-zA-Z0-9_$])/g, '_$1')
// Do not override existing functions
if (!clientProto[command]) {
clientProto[commandName] = function () {
const len = arguments.length
const arr = new Array(len)
for (var i = 0; i < len; i += 1) {
arr[i] = arguments[i]
}
return this.internalSendCommand(new Command(command, arr))
}
if (!clientProto[commandName].name) {
Object.defineProperty(clientProto[commandName], 'name', {
value: commandName
})
}
}
Object.defineProperty(clientProto, commandName.toUpperCase(), {
enumerable: false,
configurable: false,
writable: false,
value: clientProto[commandName]
})
// Do not override existing functions
if (!multiProto[command] && command !== 'multi') {
multiProto[commandName] = function () {
const len = arguments.length
const arr = new Array(len)
for (var i = 0; i < len; i += 1) {
arr[i] = arguments[i]
}
this._queue.push(new Command(command, arr))
return this
}
if (!multiProto[commandName].name) {
Object.defineProperty(multiProto[commandName], 'name', {
value: commandName
})
}
}
Object.defineProperty(multiProto, commandName.toUpperCase(), {
enumerable: false,
configurable: false,
writable: false,
value: clientProto[commandName]
})
}
module.exports = addCommand