You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							71 lines
						
					
					
						
							2.5 KiB
						
					
					
				
			
		
		
	
	
							71 lines
						
					
					
						
							2.5 KiB
						
					
					
				| "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://docs.mongodb.com/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
 |