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.
		
		
		
		
		
			
		
			
				
					
					
						
							46 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							46 lines
						
					
					
						
							1.8 KiB
						
					
					
				| "use strict";
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| exports.ListCollectionsOperation = void 0;
 | |
| const utils_1 = require("../utils");
 | |
| const command_1 = require("./command");
 | |
| const operation_1 = require("./operation");
 | |
| /** @internal */
 | |
| class ListCollectionsOperation extends command_1.CommandOperation {
 | |
|     constructor(db, filter, options) {
 | |
|         super(db, options);
 | |
|         this.options = options ?? {};
 | |
|         this.db = db;
 | |
|         this.filter = filter;
 | |
|         this.nameOnly = !!this.options.nameOnly;
 | |
|         this.authorizedCollections = !!this.options.authorizedCollections;
 | |
|         if (typeof this.options.batchSize === 'number') {
 | |
|             this.batchSize = this.options.batchSize;
 | |
|         }
 | |
|     }
 | |
|     execute(server, session, callback) {
 | |
|         return super.executeCommand(server, session, this.generateCommand((0, utils_1.maxWireVersion)(server)), callback);
 | |
|     }
 | |
|     /* This is here for the purpose of unit testing the final command that gets sent. */
 | |
|     generateCommand(wireVersion) {
 | |
|         const command = {
 | |
|             listCollections: 1,
 | |
|             filter: this.filter,
 | |
|             cursor: this.batchSize ? { batchSize: this.batchSize } : {},
 | |
|             nameOnly: this.nameOnly,
 | |
|             authorizedCollections: this.authorizedCollections
 | |
|         };
 | |
|         // we check for undefined specifically here to allow falsy values
 | |
|         // eslint-disable-next-line no-restricted-syntax
 | |
|         if (wireVersion >= 9 && this.options.comment !== undefined) {
 | |
|             command.comment = this.options.comment;
 | |
|         }
 | |
|         return command;
 | |
|     }
 | |
| }
 | |
| exports.ListCollectionsOperation = ListCollectionsOperation;
 | |
| (0, operation_1.defineAspects)(ListCollectionsOperation, [
 | |
|     operation_1.Aspect.READ_OPERATION,
 | |
|     operation_1.Aspect.RETRYABLE,
 | |
|     operation_1.Aspect.CURSOR_CREATING
 | |
| ]);
 | |
| //# sourceMappingURL=list_collections.js.map
 |