ReadPreference.js 777 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*!
  2. * Module dependencies.
  3. */
  4. 'use strict';
  5. const mongodb = require('mongodb');
  6. const ReadPref = mongodb.ReadPreference;
  7. /*!
  8. * Converts arguments to ReadPrefs the driver
  9. * can understand.
  10. *
  11. * @param {String|Array} pref
  12. * @param {Array} [tags]
  13. */
  14. module.exports = function readPref(pref, tags) {
  15. if (Array.isArray(pref)) {
  16. tags = pref[1];
  17. pref = pref[0];
  18. }
  19. if (pref instanceof ReadPref) {
  20. return pref;
  21. }
  22. switch (pref) {
  23. case 'p':
  24. pref = 'primary';
  25. break;
  26. case 'pp':
  27. pref = 'primaryPreferred';
  28. break;
  29. case 's':
  30. pref = 'secondary';
  31. break;
  32. case 'sp':
  33. pref = 'secondaryPreferred';
  34. break;
  35. case 'n':
  36. pref = 'nearest';
  37. break;
  38. }
  39. return new ReadPref(pref, tags);
  40. };