HTMLify
write_concern.js
Views: 6 | Author: cody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | 'use strict'; /** * The **WriteConcern** class is a class that represents a MongoDB WriteConcern. * @class * @property {(number|string)} w The write concern * @property {number} wtimeout The write concern timeout * @property {boolean} j The journal write concern * @property {boolean} fsync The file sync write concern * @see https://docs.mongodb.com/manual/reference/write-concern/index.html */ class WriteConcern { /** * Constructs a WriteConcern from the write concern properties. * @param {(number|string)} [w] The write concern * @param {number} [wtimeout] The write concern timeout * @param {boolean} [j] The journal write concern * @param {boolean} [fsync] The file sync write concern */ constructor(w, wtimeout, j, fsync) { if (w != null) { this.w = w; } if (wtimeout != null) { this.wtimeout = wtimeout; } if (j != null) { this.j = j; } if (fsync != null) { this.fsync = fsync; } } /** * Construct a WriteConcern given an options object. * * @param {object} options The options object from which to extract the write concern. * @return {WriteConcern} */ static fromOptions(options) { if ( options == null || (options.writeConcern == null && options.w == null && options.wtimeout == null && options.j == null && options.fsync == null) ) { return; } if (options.writeConcern) { return new WriteConcern( options.writeConcern.w, options.writeConcern.wtimeout, options.writeConcern.j, options.writeConcern.fsync ); } return new WriteConcern(options.w, options.wtimeout, options.j, options.fsync); } } module.exports = WriteConcern; |