36 lines
No EOL
1.3 KiB
JavaScript
36 lines
No EOL
1.3 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.ExplainableCursor = void 0;
|
|
const abstract_cursor_1 = require("./abstract_cursor");
|
|
/**
|
|
* @public
|
|
*
|
|
* A base class for any cursors that have `explain()` methods.
|
|
*/
|
|
class ExplainableCursor extends abstract_cursor_1.AbstractCursor {
|
|
resolveExplainTimeoutOptions(verbosity, options) {
|
|
let explain;
|
|
let timeout;
|
|
if (verbosity == null && options == null) {
|
|
explain = undefined;
|
|
timeout = undefined;
|
|
}
|
|
else if (verbosity != null && options == null) {
|
|
explain =
|
|
typeof verbosity !== 'object'
|
|
? verbosity
|
|
: 'verbosity' in verbosity
|
|
? verbosity
|
|
: undefined;
|
|
timeout = typeof verbosity === 'object' && 'timeoutMS' in verbosity ? verbosity : undefined;
|
|
}
|
|
else {
|
|
// @ts-expect-error TS isn't smart enough to determine that if both options are provided, the first is explain options
|
|
explain = verbosity;
|
|
timeout = options;
|
|
}
|
|
return { timeout, explain };
|
|
}
|
|
}
|
|
exports.ExplainableCursor = ExplainableCursor;
|
|
//# sourceMappingURL=explainable_cursor.js.map
|