aboutsummaryrefslogtreecommitdiff
path: root/node_modules/mongodb-core/lib/wireprotocol/shared.js
blob: 3a20f519b33c222e93362835b0b7d69cbb91cda7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"use strict"

var ReadPreference = require('../topologies/read_preference');

var getReadPreference = function(cmd, options) {
  // Default to command version of the readPreference
  var readPreference = cmd.readPreference || new ReadPreference('primary');
  // If we have an option readPreference override the command one
  if(options.readPreference) {
    readPreference = options.readPreference;
  }

  if(typeof readPreference == 'string') {
    readPreference = new ReadPreference(readPreference);
  }

  if(!(readPreference instanceof ReadPreference)) {
    throw new MongoError('readPreference must be a ReadPreference instance');
  }

  return readPreference;
}

module.exports = {
  getReadPreference: getReadPreference
}