RSS Git Download  Clone
Raw Blame History 646B 23 lines
import Redis from 'ioredis'
import isClusterEnabled from './is-cluster-enabled.mjs'
import Cluster from './cluster.mjs'
import setDefaultOptionsFromServer from './set-default-options-from-server.mjs'

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

    // server = await getClusterNodes(server)

    options = setDefaultOptionsFromServer(options, server)

    return new Cluster(server, options)
}