RSS Git Download  Clone
Raw Blame History 991B 35 lines
const IORedis = require('ioredis')
const redisInfo = require('./redis-info')
const Cluster = require('./cluster')
const createWithClusterAutoDetect = require('./create-with-cluster-auto-detect')

const getInfo = require('./get-info')
const getClusterNodes = require('./get-cluster-nodes')
const isClusterEnabled = require('./is-cluster-enabled')

class Redis extends IORedis {
    constructor(server, {autoDetectCluster, ...options} = {}) {
        if (autoDetectCluster && !Array.isArray(server)) {
            return createWithClusterAutoDetect(server, options)
        }
        if (Array.isArray(server)) {
            return new Cluster(server, options)
        }
        super(server)
    }

    /*
    async infoObject(...args) {
        const info = await this.info(...args)
        return redisInfo.parse(info)
    }
     */
}

Redis.Cluster = Cluster
Redis.isClusterEnabled = isClusterEnabled
Redis.getClusterNodes = getClusterNodes
Redis.getInfo = getInfo

module.exports = Redis