/node_modules/mongodb-core/lib/wireprotocol/shared.js

https://bitbucket.org/coleman333/smartsite · JavaScript · 27 lines · 19 code · 6 blank · 2 comment · 5 complexity · 5733b9a6ec7ca34ced87a7b88802ae0f MD5 · raw file

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