aboutsummaryrefslogtreecommitdiff
path: root/node_modules/mongodb-core/lib/wireprotocol/shared.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/mongodb-core/lib/wireprotocol/shared.js')
-rw-r--r--node_modules/mongodb-core/lib/wireprotocol/shared.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/node_modules/mongodb-core/lib/wireprotocol/shared.js b/node_modules/mongodb-core/lib/wireprotocol/shared.js
new file mode 100644
index 0000000..3a20f51
--- /dev/null
+++ b/node_modules/mongodb-core/lib/wireprotocol/shared.js
@@ -0,0 +1,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
+}