summaryrefslogtreecommitdiffstats
path: root/node_modules/mongodb/lib/read_concern.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/mongodb/lib/read_concern.js')
-rw-r--r--node_modules/mongodb/lib/read_concern.js61
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;