DockerERTFF/lib/modules/redis.js

237 lines
7.1 KiB
JavaScript

const client = global.redisClient;
if (client) {
const { promisify } = require('util');
const commands = {};
[
'append', 'decr', 'decrby', 'del', 'exists', 'get', 'getset', 'incr', 'incrby',
'mget', 'set', 'setex', 'setnx', 'strlen', 'lindex', 'linsert', 'llen', 'lpop',
'lpos', 'lpush', 'lpushx', 'lrange', 'lrem', 'lset', 'ltrim', 'rpop', 'rpush',
'rpushx', 'copy', 'del', 'expire', 'expireat', 'keys', 'persist', 'pexpire',
'pexpireat', 'pttl', 'randomkey', 'rename', 'renamenx', 'touch', 'ttl', 'type',
'unlink'
].forEach(command => {
commands[command] = promisify(client[command]).bind(client);
});
exports.append = function(options) {
options = this.parse(options);
return commands.append(options.key, options.value);
};
exports.decr = function(options) {
options = this.parse(options);
return commands.decr(options.key);
};
exports.decrby = function(options) {
options = this.parse(options);
return commands.decrby(options.key, options.decrement);
};
exports.del = function(options) {
options = this.parse(options);
return commands.del(options.key);
};
exports.exists = function(options) {
options = this.parse(options);
return commands.exists(options.key);
};
exports.get = function(options) {
options = this.parse(options);
return commands.get(options.key);
};
exports.getset = function(options) {
options = this.parse(options);
return commands.getset(options.key, options.value);
};
exports.incr = function(options) {
options = this.parse(options);
return commands.incr(options.key);
};
exports.incrby = function(options) {
options = this.parse(options);
return commands.incrby(options.key, options.increment);
};
exports.mget = function(options) {
options = this.parse(options);
return commands.mget(options.keys);
};
exports.set = function(options) {
options = this.parse(options);
return commands.set(options.key, options.value);
};
exports.setex = function(options) {
options = this.parse(options);
return commands.setex(options.key, options.seconds, options.value);
};
exports.setnx = function(options) {
options = this.parse(options);
return commands.setnx(options.key, options.value);
};
exports.strlen = function(options) {
options = this.parse(options);
return commands.strlen(options.key);
};
exports.lindex = function(options) {
options = this.parse(options);
return commands.lindex(options.key, options.index);
};
exports.linsert = function(options) {
options = this.parse(options); // position: BEFORE|AFTER
return commands.linsert(options.key, options.position, options.pivot, options.element);
};
exports.llen = function(options) {
options = this.parse(options);
return commands.llen(options.key);
};
exports.lpop = function(options) {
options = this.parse(options);
return commands.lpop(options.key, options.count);
};
exports.lpos = function(options) {
options = this.parse(options);
return commands.lpos(options.key, options.element);
};
exports.lpush = function(options) {
options = this.parse(options);
return commands.lpush(options.key, options.element);
};
exports.lpushx = function(options) {
options = this.parse(options);
return commands.lpushx(options.key, options.element);
};
exports.lrange = function(options) {
options = this.parse(options);
return commands.lrange(options.key, options.start, options.stop);
};
exports.lrem = function(options) {
options = this.parse(options);
return commands.lrem(options.key, options.count, options.element);
};
exports.lset = function(options) {
options = this.parse(options);
return commands.lset(options.key, options.index, options.element);
};
exports.ltrim = function(options) {
options = this.parse(options);
return commands.ltrim(options.key, options.start, options.stop);
};
exports.rpop = function(options) {
options = this.parse(options);
return commands.rpop(options.key, options.count);
};
exports.rpush = function(options) {
options = this.parse(options);
return commands.rpush(options.key, options.element);
};
exports.rpushx = function(options) {
options = this.parse(options);
return commands.rpushx(options.key, options.element);
};
exports.copy = function(options) {
options = this.parse(options);
return commands.copy(options.source, options.destination);
};
exports.del = function(options) {
options = this.parse(options);
return commands.del(options.key);
};
exports.expire = function(options) {
options = this.parse(options);
return commands.expire(options.key, options.seconds);
};
exports.expireat = function(options) {
options = this.parse(options);
return commands.expireat(options.key, options.timestamp);
};
exports.keys = function(options) {
options = this.parse(options);
return commands.keys(options.pattern);
};
exports.persist = function(options) {
options = this.parse(options);
return commands.persist(options.key);
};
exports.pexpire = function(options) {
options = this.parse(options);
return commands.pexpire(options.key, options.milliseconds);
};
exports.pexpireat = function(options) {
options = this.parse(options);
return commands.pexpireat(options.key, options.mstimestamp)
};
exports.pttl = function(options) {
options = this.parse(options);
return commands.pttl(options.key);
};
exports.randomkey = function(options) {
options = this.parse(options);
return commands.randomkey();
};
exports.rename = function(options) {
options = this.parse(options);
return commands.rename(options.key, options.newkey);
};
exports.renamenx = function(options) {
options = this.parse(options);
return commands.renamenx(options.key, options.newkey);
};
exports.touch = function(options) {
options = this.parse(options);
return commands.touch(options.key);
};
exports.ttl = function(options) {
options = this.parse(options);
return commands.ttl(options.key);
};
exports.type = function(options) {
options = this.parse(options);
return commands.type(options.key);
};
exports.unlink = function(options) {
options = this.parse(options);
return commands.unlink(options.key);
};
}