diff options
Diffstat (limited to 'node_modules/mongodb/lib/read_concern.js')
-rw-r--r-- | node_modules/mongodb/lib/read_concern.js | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/node_modules/mongodb/lib/read_concern.js b/node_modules/mongodb/lib/read_concern.js new file mode 100644 index 0000000..b48b8e0 --- /dev/null +++ b/node_modules/mongodb/lib/read_concern.js @@ -0,0 +1,61 @@ +'use strict'; + +/** + * The **ReadConcern** class is a class that represents a MongoDB ReadConcern. + * @class + * @property {string} level The read concern level + * @see https://docs.mongodb.com/manual/reference/read-concern/index.html + */ +class ReadConcern { + /** + * Constructs a ReadConcern from the read concern properties. + * @param {string} [level] The read concern level ({'local'|'available'|'majority'|'linearizable'|'snapshot'}) + */ + constructor(level) { + if (level != null) { + this.level = level; + } + } + + /** + * Construct a ReadConcern given an options object. + * + * @param {object} options The options object from which to extract the write concern. + * @return {ReadConcern} + */ + static fromOptions(options) { + if (options == null) { + return; + } + + if (options.readConcern) { + if (options.readConcern instanceof ReadConcern) { + return options.readConcern; + } + + return new ReadConcern(options.readConcern.level); + } + + if (options.level) { + return new ReadConcern(options.level); + } + } + + static get MAJORITY() { + return 'majority'; + } + + static get AVAILABLE() { + return 'available'; + } + + static get LINEARIZABLE() { + return 'linearizable'; + } + + static get SNAPSHOT() { + return 'snapshot'; + } +} + +module.exports = ReadConcern; |