RSS Git Download  Clone
Raw Blame History 714B 25 lines
const Redis = require('ioredis')

const isClusterEnabled = require('./isClusterEnabled')
const getClusterNodes = require('./getClusterNodes')
const Cluster = require('./Cluster')
const setDefaultPasswordOptionFromServer = require('./setDefaultPasswordOptionFromServer')

module.exports = async function createWithClusterAutoDetect(server, options = {}){
    let isCluster
    if(Array.isArray(server)){
        isCluster = true
    }
    else{
      isCluster = await isClusterEnabled(server)
    }
    if(!isCluster){
        return new Redis(server)
    }

    // server = await getClusterNodes(server)

    options = setDefaultPasswordOptionFromServer(options, server)

    return new Cluster(server, options)
}