47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.RunCursorCommandOperation = exports.RunCommandOperation = void 0;
|
|
const responses_1 = require("../cmap/wire_protocol/responses");
|
|
const operation_1 = require("../operations/operation");
|
|
/** @internal */
|
|
class RunCommandOperation extends operation_1.AbstractOperation {
|
|
constructor(namespace, command, options) {
|
|
super(options);
|
|
this.SERVER_COMMAND_RESPONSE_TYPE = responses_1.MongoDBResponse;
|
|
this.command = command;
|
|
this.options = options;
|
|
this.ns = namespace.withCollection('$cmd');
|
|
}
|
|
get commandName() {
|
|
return 'runCommand';
|
|
}
|
|
buildCommand(_connection, _session) {
|
|
return this.command;
|
|
}
|
|
buildOptions(timeoutContext) {
|
|
return {
|
|
...this.options,
|
|
session: this.session,
|
|
timeoutContext,
|
|
signal: this.options.signal,
|
|
readPreference: this.options.readPreference
|
|
};
|
|
}
|
|
}
|
|
exports.RunCommandOperation = RunCommandOperation;
|
|
/**
|
|
* @internal
|
|
*
|
|
* A specialized subclass of RunCommandOperation for cursor-creating commands.
|
|
*/
|
|
class RunCursorCommandOperation extends RunCommandOperation {
|
|
constructor() {
|
|
super(...arguments);
|
|
this.SERVER_COMMAND_RESPONSE_TYPE = responses_1.CursorResponse;
|
|
}
|
|
handleOk(response) {
|
|
return response;
|
|
}
|
|
}
|
|
exports.RunCursorCommandOperation = RunCursorCommandOperation;
|
|
//# sourceMappingURL=run_command.js.map
|