First commit
This commit is contained in:
71
node_modules/mongodb/lib/write_concern.js
generated
vendored
Normal file
71
node_modules/mongodb/lib/write_concern.js
generated
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.WriteConcern = exports.WRITE_CONCERN_KEYS = void 0;
|
||||
exports.WRITE_CONCERN_KEYS = ['w', 'wtimeout', 'j', 'journal', 'fsync'];
|
||||
/**
|
||||
* A MongoDB WriteConcern, which describes the level of acknowledgement
|
||||
* requested from MongoDB for write operations.
|
||||
* @public
|
||||
*
|
||||
* @see https://www.mongodb.com/docs/manual/reference/write-concern/
|
||||
*/
|
||||
class WriteConcern {
|
||||
/**
|
||||
* Constructs a WriteConcern from the write concern properties.
|
||||
* @param w - request acknowledgment that the write operation has propagated to a specified number of mongod instances or to mongod instances with specified tags.
|
||||
* @param wtimeout - specify a time limit to prevent write operations from blocking indefinitely
|
||||
* @param j - request acknowledgment that the write operation has been written to the on-disk journal
|
||||
* @param fsync - equivalent to the j option
|
||||
*/
|
||||
constructor(w, wtimeout, j, fsync) {
|
||||
if (w != null) {
|
||||
if (!Number.isNaN(Number(w))) {
|
||||
this.w = Number(w);
|
||||
}
|
||||
else {
|
||||
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. */
|
||||
static fromOptions(options, inherit) {
|
||||
if (options == null)
|
||||
return undefined;
|
||||
inherit = inherit ?? {};
|
||||
let opts;
|
||||
if (typeof options === 'string' || typeof options === 'number') {
|
||||
opts = { w: options };
|
||||
}
|
||||
else if (options instanceof WriteConcern) {
|
||||
opts = options;
|
||||
}
|
||||
else {
|
||||
opts = options.writeConcern;
|
||||
}
|
||||
const parentOpts = inherit instanceof WriteConcern ? inherit : inherit.writeConcern;
|
||||
const { w = undefined, wtimeout = undefined, j = undefined, fsync = undefined, journal = undefined, wtimeoutMS = undefined } = {
|
||||
...parentOpts,
|
||||
...opts
|
||||
};
|
||||
if (w != null ||
|
||||
wtimeout != null ||
|
||||
wtimeoutMS != null ||
|
||||
j != null ||
|
||||
journal != null ||
|
||||
fsync != null) {
|
||||
return new WriteConcern(w, wtimeout ?? wtimeoutMS, j ?? journal, fsync);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
exports.WriteConcern = WriteConcern;
|
||||
//# sourceMappingURL=write_concern.js.map
|
Reference in New Issue
Block a user