code: function singleServerOperation(client, cmd, args, keys) {
  	return new Promise((resolve, reject) => {
  		if (!keys.length) { return reject(new Error('Invalid arguments')); }
  
  		let server;
  
  		for (let i = 0; i < keys.length; i++) {
  			const as = client.serverNameForKey(keys[i]);
  			if (!server) server = as;
  			if (server !== as) return reject(new Error(`Keys are mapped to different hash slots for command ${cmd}`));
  		}
  
  		return client.sendToServer(server, client, args, { resolve, reject });
  	});
  }
docs: /* eslint-enable func-names