25bd3946d170675d3fcd204f645fd80989b73a1b
[aai/esr-gui.git] /
1 "use strict"
2
3 var ReadPreference = require('../topologies/read_preference'),
4   MongoError = require('../error');
5
6 var getReadPreference = function(cmd, options) {
7   // Default to command version of the readPreference
8   var readPreference = cmd.readPreference || new ReadPreference('primary');
9   // If we have an option readPreference override the command one
10   if(options.readPreference) {
11     readPreference = options.readPreference;
12   }
13
14   if(typeof readPreference == 'string') {
15     readPreference = new ReadPreference(readPreference);
16   }
17
18   if(!(readPreference instanceof ReadPreference)) {
19     throw new MongoError('readPreference must be a ReadPreference instance');
20   }
21
22   return readPreference;
23 }
24
25 module.exports = {
26   getReadPreference: getReadPreference
27 }