@qp-mongosh/shell-api 0.0.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.js +1 -0
  3. package/AUTHORS +15 -0
  4. package/LICENSE +201 -0
  5. package/bin/report-missing-help.ts +24 -0
  6. package/bin/report-supported-api.ts +14 -0
  7. package/lib/abstract-cursor.d.ts +33 -0
  8. package/lib/abstract-cursor.js +192 -0
  9. package/lib/abstract-cursor.js.map +1 -0
  10. package/lib/aggregation-cursor.d.ts +6 -0
  11. package/lib/aggregation-cursor.js +20 -0
  12. package/lib/aggregation-cursor.js.map +1 -0
  13. package/lib/bulk.d.ts +43 -0
  14. package/lib/bulk.js +224 -0
  15. package/lib/bulk.js.map +1 -0
  16. package/lib/change-stream-cursor.d.ts +28 -0
  17. package/lib/change-stream-cursor.js +112 -0
  18. package/lib/change-stream-cursor.js.map +1 -0
  19. package/lib/collection.d.ts +95 -0
  20. package/lib/collection.js +965 -0
  21. package/lib/collection.js.map +1 -0
  22. package/lib/cursor.d.ts +32 -0
  23. package/lib/cursor.js +216 -0
  24. package/lib/cursor.js.map +1 -0
  25. package/lib/database.d.ts +116 -0
  26. package/lib/database.js +1224 -0
  27. package/lib/database.js.map +1 -0
  28. package/lib/dbquery.d.ts +8 -0
  29. package/lib/dbquery.js +29 -0
  30. package/lib/dbquery.js.map +1 -0
  31. package/lib/decorators.d.ts +73 -0
  32. package/lib/decorators.js +396 -0
  33. package/lib/decorators.js.map +1 -0
  34. package/lib/enums.d.ts +28 -0
  35. package/lib/enums.js +34 -0
  36. package/lib/enums.js.map +1 -0
  37. package/lib/error-codes.d.ts +12 -0
  38. package/lib/error-codes.js +20 -0
  39. package/lib/error-codes.js.map +1 -0
  40. package/lib/explainable-cursor.d.ts +11 -0
  41. package/lib/explainable-cursor.js +32 -0
  42. package/lib/explainable-cursor.js.map +1 -0
  43. package/lib/explainable.d.ts +32 -0
  44. package/lib/explainable.js +167 -0
  45. package/lib/explainable.js.map +1 -0
  46. package/lib/field-level-encryption.d.ts +50 -0
  47. package/lib/field-level-encryption.js +177 -0
  48. package/lib/field-level-encryption.js.map +1 -0
  49. package/lib/help.d.ts +22 -0
  50. package/lib/help.js +27 -0
  51. package/lib/help.js.map +1 -0
  52. package/lib/helpers.d.ts +71 -0
  53. package/lib/helpers.js +589 -0
  54. package/lib/helpers.js.map +1 -0
  55. package/lib/index.d.ts +16 -0
  56. package/lib/index.js +46 -0
  57. package/lib/index.js.map +1 -0
  58. package/lib/interruptor.d.ts +19 -0
  59. package/lib/interruptor.js +63 -0
  60. package/lib/interruptor.js.map +1 -0
  61. package/lib/mongo-errors.d.ts +5 -0
  62. package/lib/mongo-errors.js +38 -0
  63. package/lib/mongo-errors.js.map +1 -0
  64. package/lib/mongo.d.ts +75 -0
  65. package/lib/mongo.js +477 -0
  66. package/lib/mongo.js.map +1 -0
  67. package/lib/no-db.d.ts +5 -0
  68. package/lib/no-db.js +29 -0
  69. package/lib/no-db.js.map +1 -0
  70. package/lib/plan-cache.d.ts +16 -0
  71. package/lib/plan-cache.js +71 -0
  72. package/lib/plan-cache.js.map +1 -0
  73. package/lib/replica-set.d.ts +45 -0
  74. package/lib/replica-set.js +315 -0
  75. package/lib/replica-set.js.map +1 -0
  76. package/lib/result.d.ts +61 -0
  77. package/lib/result.js +105 -0
  78. package/lib/result.js.map +1 -0
  79. package/lib/session.d.ts +25 -0
  80. package/lib/session.js +89 -0
  81. package/lib/session.js.map +1 -0
  82. package/lib/shard.d.ts +42 -0
  83. package/lib/shard.js +415 -0
  84. package/lib/shard.js.map +1 -0
  85. package/lib/shell-api.d.ts +52 -0
  86. package/lib/shell-api.js +299 -0
  87. package/lib/shell-api.js.map +1 -0
  88. package/lib/shell-bson.d.ts +40 -0
  89. package/lib/shell-bson.js +160 -0
  90. package/lib/shell-bson.js.map +1 -0
  91. package/lib/shell-instance-state.d.ts +77 -0
  92. package/lib/shell-instance-state.js +393 -0
  93. package/lib/shell-instance-state.js.map +1 -0
  94. package/package.json +47 -0
  95. package/tsconfig.lint.json +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ShellApiClass } from './decorators';
2
+ import ShellInstanceState from './shell-instance-state';
3
+ export declare class DBQuery extends ShellApiClass {
4
+ _instanceState: ShellInstanceState;
5
+ constructor(instanceState: ShellInstanceState);
6
+ get shellBatchSize(): number | undefined;
7
+ set shellBatchSize(value: number | undefined);
8
+ }
package/lib/dbquery.js ADDED
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DBQuery = void 0;
10
+ const decorators_1 = require("./decorators");
11
+ let DBQuery = class DBQuery extends decorators_1.ShellApiClass {
12
+ constructor(instanceState) {
13
+ super();
14
+ this._instanceState = instanceState;
15
+ }
16
+ get shellBatchSize() {
17
+ return this._instanceState.displayBatchSizeFromDBQuery;
18
+ }
19
+ set shellBatchSize(value) {
20
+ void this._instanceState.printDeprecationWarning('DBQuery.shellBatchSize is deprecated, please use config.set("displayBatchSize") instead');
21
+ this._instanceState.displayBatchSizeFromDBQuery = value;
22
+ }
23
+ };
24
+ DBQuery = __decorate([
25
+ decorators_1.shellApiClassDefault,
26
+ decorators_1.classDeprecated
27
+ ], DBQuery);
28
+ exports.DBQuery = DBQuery;
29
+ //# sourceMappingURL=dbquery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbquery.js","sourceRoot":"","sources":["../src/dbquery.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6CAIsB;AAKtB,IAAa,OAAO,GAApB,MAAa,OAAQ,SAAQ,0BAAa;IAGxC,YAAY,aAAiC;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC;IACzD,CAAC;IAED,IAAI,cAAc,CAAC,KAAyB;QAC1C,KAAK,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAC9C,yFAAyF,CAAC,CAAC;QAC7F,IAAI,CAAC,cAAc,CAAC,2BAA2B,GAAG,KAAK,CAAC;IAC1D,CAAC;CACF,CAAA;AAjBY,OAAO;IAFnB,iCAAoB;IACpB,4BAAe;GACH,OAAO,CAiBnB;AAjBY,0BAAO"}
@@ -0,0 +1,73 @@
1
+ import { Mongo, ShellInstanceState } from '.';
2
+ import { asPrintable, shellApiType, Topologies } from './enums';
3
+ export interface Namespace {
4
+ db: string;
5
+ collection: string;
6
+ }
7
+ export interface ShellResultSourceInformation {
8
+ namespace: Namespace;
9
+ }
10
+ export interface ShellResult {
11
+ rawValue: any;
12
+ printable: any;
13
+ type: string | null;
14
+ source?: ShellResultSourceInformation;
15
+ }
16
+ export declare abstract class ShellApiClass {
17
+ help: any;
18
+ abstract get _instanceState(): ShellInstanceState;
19
+ get [shellApiType](): string;
20
+ set [shellApiType](value: string);
21
+ [asPrintable](): any;
22
+ }
23
+ export declare abstract class ShellApiWithMongoClass extends ShellApiClass {
24
+ abstract get _mongo(): Mongo;
25
+ get _instanceState(): ShellInstanceState;
26
+ }
27
+ export declare abstract class ShellApiValueClass extends ShellApiClass {
28
+ get _mongo(): never;
29
+ get _instanceState(): never;
30
+ }
31
+ export declare function getShellApiType(rawValue: any): string | null;
32
+ export declare function toShellResult(rawValue: any): Promise<ShellResult>;
33
+ export interface ShellCommandAutocompleteParameters {
34
+ getCollectionCompletionsForCurrentDb: (collName: string) => string[] | Promise<string[]>;
35
+ getDatabaseCompletions: (dbName: string) => string[] | Promise<string[]>;
36
+ }
37
+ export declare type ShellCommandCompleter = (params: ShellCommandAutocompleteParameters, args: string[]) => Promise<string[] | undefined>;
38
+ export interface TypeSignature {
39
+ type: string;
40
+ serverVersions?: [string, string];
41
+ apiVersions?: [number, number];
42
+ topologies?: Topologies[];
43
+ returnsPromise?: boolean;
44
+ deprecated?: boolean;
45
+ returnType?: string | TypeSignature;
46
+ attributes?: {
47
+ [key: string]: TypeSignature;
48
+ };
49
+ isDirectShellCommand?: boolean;
50
+ acceptsRawInput?: boolean;
51
+ shellCommandCompleter?: ShellCommandCompleter;
52
+ }
53
+ interface Signatures {
54
+ [key: string]: TypeSignature;
55
+ }
56
+ declare const signatures: Signatures;
57
+ export { signatures };
58
+ export declare const toIgnore: string[];
59
+ export declare function shellApiClassDefault(constructor: Function): void;
60
+ export declare function shellApiClassNoHelp(constructor: Function): void;
61
+ export declare function serverVersions(versionArray: [string, string]): Function;
62
+ export declare function apiVersions(versionArray: [] | [number] | [number, number]): Function;
63
+ export declare function deprecated(_target: any, _propertyKey: string, descriptor: PropertyDescriptor): void;
64
+ export declare function topologies(topologiesArray: Topologies[]): Function;
65
+ export declare const nonAsyncFunctionsReturningPromises: string[];
66
+ export declare function returnsPromise(_target: any, _propertyKey: string, descriptor: PropertyDescriptor): void;
67
+ export declare function directShellCommand(_target: any, _propertyKey: string, descriptor: PropertyDescriptor): void;
68
+ export declare function shellCommandCompleter(completer: ShellCommandCompleter): Function;
69
+ export declare function returnType(type: string): Function;
70
+ export declare function classDeprecated(constructor: Function): void;
71
+ export declare function platforms(platformsArray: any[]): Function;
72
+ export declare function classPlatforms(platformsArray: any[]): Function;
73
+ export declare function addSourceToResults(constructor: Function): void;
@@ -0,0 +1,396 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.addSourceToResults = exports.classPlatforms = exports.platforms = exports.classDeprecated = exports.returnType = exports.shellCommandCompleter = exports.directShellCommand = exports.returnsPromise = exports.nonAsyncFunctionsReturningPromises = exports.topologies = exports.deprecated = exports.apiVersions = exports.serverVersions = exports.shellApiClassNoHelp = exports.shellApiClassDefault = exports.toIgnore = exports.signatures = exports.toShellResult = exports.getShellApiType = exports.ShellApiValueClass = exports.ShellApiWithMongoClass = exports.ShellApiClass = void 0;
7
+ const errors_1 = require("@qp-mongosh/errors");
8
+ const enums_1 = require("./enums");
9
+ const help_1 = __importDefault(require("./help"));
10
+ const helpers_1 = require("./helpers");
11
+ const addSourceToResultsSymbol = Symbol.for('@@mongosh.addSourceToResults');
12
+ const resultSource = Symbol.for('@@mongosh.resultSource');
13
+ class ShellApiClass {
14
+ get [enums_1.shellApiType]() {
15
+ throw new errors_1.MongoshInternalError('Shell API Type did not use decorators');
16
+ }
17
+ set [enums_1.shellApiType](value) {
18
+ (0, helpers_1.addHiddenDataProperty)(this, enums_1.shellApiType, value);
19
+ }
20
+ [enums_1.asPrintable]() {
21
+ if (Array.isArray(this)) {
22
+ return [...this];
23
+ }
24
+ return { ...this };
25
+ }
26
+ }
27
+ exports.ShellApiClass = ShellApiClass;
28
+ class ShellApiWithMongoClass extends ShellApiClass {
29
+ get _instanceState() {
30
+ var _a;
31
+ return (_a = this._mongo) === null || _a === void 0 ? void 0 : _a._instanceState;
32
+ }
33
+ }
34
+ exports.ShellApiWithMongoClass = ShellApiWithMongoClass;
35
+ class ShellApiValueClass extends ShellApiClass {
36
+ get _mongo() {
37
+ throw new errors_1.MongoshInternalError('Not supported on this value class');
38
+ }
39
+ get _instanceState() {
40
+ throw new errors_1.MongoshInternalError('Not supported on this value class');
41
+ }
42
+ }
43
+ exports.ShellApiValueClass = ShellApiValueClass;
44
+ function getShellApiType(rawValue) {
45
+ var _a;
46
+ return (_a = rawValue === null || rawValue === void 0 ? void 0 : rawValue[enums_1.shellApiType]) !== null && _a !== void 0 ? _a : null;
47
+ }
48
+ exports.getShellApiType = getShellApiType;
49
+ async function toShellResult(rawValue) {
50
+ var _a;
51
+ if ((typeof rawValue !== 'object' && typeof rawValue !== 'function') || rawValue === null) {
52
+ return {
53
+ type: null,
54
+ rawValue: rawValue,
55
+ printable: rawValue
56
+ };
57
+ }
58
+ if ('then' in rawValue && typeof rawValue.then === 'function') {
59
+ return toShellResult(await rawValue);
60
+ }
61
+ const printable = typeof rawValue[enums_1.asPrintable] === 'function' ? await rawValue[enums_1.asPrintable]() : rawValue;
62
+ const source = (_a = rawValue[resultSource]) !== null && _a !== void 0 ? _a : undefined;
63
+ return {
64
+ type: getShellApiType(rawValue),
65
+ rawValue: rawValue,
66
+ printable: printable,
67
+ source: source
68
+ };
69
+ }
70
+ exports.toShellResult = toShellResult;
71
+ function wrapWithAddSourceToResult(fn) {
72
+ function addSource(result, obj) {
73
+ if (typeof result === 'object' && result !== null) {
74
+ const resultSourceInformation = {
75
+ namespace: obj[enums_1.namespaceInfo](),
76
+ };
77
+ (0, helpers_1.addHiddenDataProperty)(result, resultSource, resultSourceInformation);
78
+ if (result[enums_1.shellApiType] === undefined && fn.returnType) {
79
+ (0, helpers_1.addHiddenDataProperty)(result, enums_1.shellApiType, fn.returnType);
80
+ }
81
+ }
82
+ return result;
83
+ }
84
+ const wrapper = fn.returnsPromise ?
85
+ markImplicitlyAwaited(async function (...args) {
86
+ return addSource(await fn.call(this, ...args), this);
87
+ }) : function (...args) {
88
+ return addSource(fn.call(this, ...args), this);
89
+ };
90
+ Object.setPrototypeOf(wrapper, Object.getPrototypeOf(fn));
91
+ Object.defineProperties(wrapper, Object.getOwnPropertyDescriptors(fn));
92
+ return wrapper;
93
+ }
94
+ function wrapWithApiChecks(fn, className) {
95
+ const wrapper = fn.returnsPromise ?
96
+ markImplicitlyAwaited(async function (...args) {
97
+ var _a, _b;
98
+ const instanceState = getShellInstanceState(this);
99
+ emitApiCallTelemetry(instanceState, className, fn, true);
100
+ const interruptFlag = instanceState === null || instanceState === void 0 ? void 0 : instanceState.interrupted;
101
+ interruptFlag === null || interruptFlag === void 0 ? void 0 : interruptFlag.checkpoint();
102
+ const interrupt = interruptFlag === null || interruptFlag === void 0 ? void 0 : interruptFlag.asPromise();
103
+ let result;
104
+ try {
105
+ if (instanceState) {
106
+ instanceState.apiCallDepth++;
107
+ }
108
+ result = await Promise.race([
109
+ (_a = interrupt === null || interrupt === void 0 ? void 0 : interrupt.promise) !== null && _a !== void 0 ? _a : new Promise(() => { }),
110
+ fn.call(this, ...args)
111
+ ]);
112
+ }
113
+ catch (e) {
114
+ throw (_b = instanceState === null || instanceState === void 0 ? void 0 : instanceState.transformError(e)) !== null && _b !== void 0 ? _b : e;
115
+ }
116
+ finally {
117
+ if (instanceState) {
118
+ instanceState.apiCallDepth--;
119
+ }
120
+ if (interrupt) {
121
+ interrupt.destroy();
122
+ }
123
+ }
124
+ interruptFlag === null || interruptFlag === void 0 ? void 0 : interruptFlag.checkpoint();
125
+ return result;
126
+ }) : function (...args) {
127
+ var _a;
128
+ const instanceState = getShellInstanceState(this);
129
+ emitApiCallTelemetry(instanceState, className, fn, false);
130
+ const interruptFlag = instanceState === null || instanceState === void 0 ? void 0 : instanceState.interrupted;
131
+ interruptFlag === null || interruptFlag === void 0 ? void 0 : interruptFlag.checkpoint();
132
+ let result;
133
+ try {
134
+ if (instanceState) {
135
+ instanceState.apiCallDepth++;
136
+ }
137
+ result = fn.call(this, ...args);
138
+ }
139
+ catch (e) {
140
+ throw (_a = instanceState === null || instanceState === void 0 ? void 0 : instanceState.transformError(e)) !== null && _a !== void 0 ? _a : e;
141
+ }
142
+ finally {
143
+ if (instanceState) {
144
+ instanceState.apiCallDepth--;
145
+ }
146
+ }
147
+ interruptFlag === null || interruptFlag === void 0 ? void 0 : interruptFlag.checkpoint();
148
+ return result;
149
+ };
150
+ Object.setPrototypeOf(wrapper, Object.getPrototypeOf(fn));
151
+ Object.defineProperties(wrapper, Object.getOwnPropertyDescriptors(fn));
152
+ return wrapper;
153
+ }
154
+ function emitApiCallTelemetry(instanceState, className, fn, isAsync) {
155
+ var _a;
156
+ (_a = instanceState === null || instanceState === void 0 ? void 0 : instanceState.emitApiCall) === null || _a === void 0 ? void 0 : _a.call(instanceState, {
157
+ method: fn.name,
158
+ class: className,
159
+ deprecated: !!fn.deprecated,
160
+ isAsync
161
+ });
162
+ }
163
+ function getShellInstanceState(apiObject) {
164
+ if (!apiObject[enums_1.shellApiType]) {
165
+ throw new errors_1.MongoshInternalError('getShellInstanceState can only be called for functions from shell API classes');
166
+ }
167
+ return apiObject._instanceState;
168
+ }
169
+ const signaturesGlobalIdentifier = '@@@mdb.signatures@@@';
170
+ if (!global[signaturesGlobalIdentifier]) {
171
+ global[signaturesGlobalIdentifier] = {};
172
+ }
173
+ const signatures = global[signaturesGlobalIdentifier];
174
+ exports.signatures = signatures;
175
+ signatures.Document = { type: 'Document', attributes: {} };
176
+ exports.toIgnore = ['constructor', 'help', 'toJSON'];
177
+ function shellApiClassGeneric(constructor, hasHelp) {
178
+ const className = constructor.name;
179
+ const classHelpKeyPrefix = `shell-api.classes.${className}.help`;
180
+ const classHelp = {
181
+ help: `${classHelpKeyPrefix}.description`,
182
+ docs: `${classHelpKeyPrefix}.link`,
183
+ attr: []
184
+ };
185
+ const classSignature = {
186
+ type: className,
187
+ returnsPromise: constructor.prototype.returnsPromise || false,
188
+ deprecated: constructor.prototype.deprecated || false,
189
+ attributes: {}
190
+ };
191
+ const classAttributes = Object.getOwnPropertyNames(constructor.prototype);
192
+ for (const propertyName of classAttributes) {
193
+ const descriptor = Object.getOwnPropertyDescriptor(constructor.prototype, propertyName);
194
+ const isMethod = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.value) && typeof descriptor.value === 'function';
195
+ if (!isMethod ||
196
+ exports.toIgnore.includes(propertyName) ||
197
+ propertyName.startsWith('_'))
198
+ continue;
199
+ let method = descriptor.value;
200
+ if (constructor[addSourceToResultsSymbol]) {
201
+ method = wrapWithAddSourceToResult(method);
202
+ }
203
+ method = wrapWithApiChecks(method, className);
204
+ method.serverVersions = method.serverVersions || enums_1.ALL_SERVER_VERSIONS;
205
+ method.apiVersions = method.apiVersions || enums_1.ALL_API_VERSIONS;
206
+ method.topologies = method.topologies || enums_1.ALL_TOPOLOGIES;
207
+ method.returnType = method.returnType || { type: 'unknown', attributes: {} };
208
+ method.returnsPromise = method.returnsPromise || false;
209
+ method.deprecated = method.deprecated || false;
210
+ method.platforms = method.platforms || enums_1.ALL_PLATFORMS;
211
+ method.isDirectShellCommand = method.isDirectShellCommand || false;
212
+ method.acceptsRawInput = method.acceptsRawInput || false;
213
+ method.shellCommandCompleter = method.shellCommandCompleter || undefined;
214
+ classSignature.attributes[propertyName] = {
215
+ type: 'function',
216
+ serverVersions: method.serverVersions,
217
+ apiVersions: method.apiVersions,
218
+ topologies: method.topologies,
219
+ returnType: method.returnType === 'this' ? className : method.returnType,
220
+ returnsPromise: method.returnsPromise,
221
+ deprecated: method.deprecated,
222
+ platforms: method.platforms,
223
+ isDirectShellCommand: method.isDirectShellCommand,
224
+ acceptsRawInput: method.acceptsRawInput,
225
+ shellCommandCompleter: method.shellCommandCompleter
226
+ };
227
+ const attributeHelpKeyPrefix = `${classHelpKeyPrefix}.attributes.${propertyName}`;
228
+ const attrHelp = {
229
+ help: `${attributeHelpKeyPrefix}.example`,
230
+ docs: `${attributeHelpKeyPrefix}.link`,
231
+ attr: [
232
+ { description: `${attributeHelpKeyPrefix}.description` }
233
+ ]
234
+ };
235
+ const aHelp = new help_1.default(attrHelp);
236
+ method.help = () => (aHelp);
237
+ Object.setPrototypeOf(method.help, aHelp);
238
+ classHelp.attr.push({
239
+ name: propertyName,
240
+ description: `${attributeHelpKeyPrefix}.description`
241
+ });
242
+ Object.defineProperty(constructor.prototype, propertyName, {
243
+ ...descriptor,
244
+ value: method
245
+ });
246
+ }
247
+ let superClass = constructor.prototype;
248
+ while ((superClass = Object.getPrototypeOf(superClass)) !== null) {
249
+ if (superClass.constructor.name === 'ShellApiClass' || superClass.constructor === Array) {
250
+ break;
251
+ }
252
+ const superClassHelpKeyPrefix = `shell-api.classes.${superClass.constructor.name}.help`;
253
+ for (const propertyName of Object.getOwnPropertyNames(superClass)) {
254
+ const descriptor = Object.getOwnPropertyDescriptor(superClass, propertyName);
255
+ const isMethod = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.value) && typeof descriptor.value === 'function';
256
+ if (classAttributes.includes(propertyName) ||
257
+ !isMethod ||
258
+ exports.toIgnore.includes(propertyName) ||
259
+ propertyName.startsWith('_'))
260
+ continue;
261
+ const method = descriptor.value;
262
+ classSignature.attributes[propertyName] = {
263
+ type: 'function',
264
+ serverVersions: method.serverVersions,
265
+ apiVersions: method.apiVersions,
266
+ topologies: method.topologies,
267
+ returnType: method.returnType === 'this' ? className : method.returnType,
268
+ returnsPromise: method.returnsPromise,
269
+ deprecated: method.deprecated,
270
+ platforms: method.platforms,
271
+ isDirectShellCommand: method.isDirectShellCommand,
272
+ acceptsRawInput: method.acceptsRawInput,
273
+ shellCommandCompleter: method.shellCommandCompleter
274
+ };
275
+ const attributeHelpKeyPrefix = `${superClassHelpKeyPrefix}.attributes.${propertyName}`;
276
+ classHelp.attr.push({
277
+ name: propertyName,
278
+ description: `${attributeHelpKeyPrefix}.description`
279
+ });
280
+ }
281
+ }
282
+ const help = new help_1.default(classHelp);
283
+ constructor.prototype.help = () => (help);
284
+ Object.setPrototypeOf(constructor.prototype.help, help);
285
+ constructor.prototype[enums_1.asPrintable] =
286
+ constructor.prototype[enums_1.asPrintable] ||
287
+ ShellApiClass.prototype[enums_1.asPrintable];
288
+ (0, helpers_1.addHiddenDataProperty)(constructor.prototype, enums_1.shellApiType, className);
289
+ if (hasHelp) {
290
+ signatures[className] = classSignature;
291
+ }
292
+ }
293
+ function shellApiClassDefault(constructor) {
294
+ shellApiClassGeneric(constructor, true);
295
+ }
296
+ exports.shellApiClassDefault = shellApiClassDefault;
297
+ function shellApiClassNoHelp(constructor) {
298
+ shellApiClassGeneric(constructor, false);
299
+ }
300
+ exports.shellApiClassNoHelp = shellApiClassNoHelp;
301
+ function markImplicitlyAwaited(orig) {
302
+ function wrapper(...args) {
303
+ const origResult = orig.call(this, ...args);
304
+ return (0, helpers_1.addHiddenDataProperty)(origResult, Symbol.for('@@mongosh.syntheticPromise'), true);
305
+ }
306
+ Object.setPrototypeOf(wrapper, Object.getPrototypeOf(orig));
307
+ Object.defineProperties(wrapper, Object.getOwnPropertyDescriptors(orig));
308
+ return wrapper;
309
+ }
310
+ function serverVersions(versionArray) {
311
+ return function (_target, _propertyKey, descriptor) {
312
+ descriptor.value.serverVersions = versionArray;
313
+ };
314
+ }
315
+ exports.serverVersions = serverVersions;
316
+ function apiVersions(versionArray) {
317
+ return function (_target, _propertyKey, descriptor) {
318
+ if (versionArray.length === 0) {
319
+ versionArray = [0, 0];
320
+ }
321
+ else if (versionArray.length === 1) {
322
+ versionArray = [versionArray[0], Infinity];
323
+ }
324
+ descriptor.value.apiVersions = versionArray;
325
+ };
326
+ }
327
+ exports.apiVersions = apiVersions;
328
+ function deprecated(_target, _propertyKey, descriptor) {
329
+ descriptor.value.deprecated = true;
330
+ }
331
+ exports.deprecated = deprecated;
332
+ function topologies(topologiesArray) {
333
+ return function (_target, _propertyKey, descriptor) {
334
+ descriptor.value.topologies = topologiesArray;
335
+ };
336
+ }
337
+ exports.topologies = topologies;
338
+ exports.nonAsyncFunctionsReturningPromises = [];
339
+ function returnsPromise(_target, _propertyKey, descriptor) {
340
+ const originalFunction = descriptor.value;
341
+ originalFunction.returnsPromise = true;
342
+ async function wrapper(...args) {
343
+ try {
344
+ return await originalFunction.call(this, ...args);
345
+ }
346
+ finally {
347
+ if (typeof setTimeout === 'function' && typeof setImmediate === 'function') {
348
+ await new Promise(setImmediate);
349
+ }
350
+ }
351
+ }
352
+ Object.setPrototypeOf(wrapper, Object.getPrototypeOf(originalFunction));
353
+ Object.defineProperties(wrapper, Object.getOwnPropertyDescriptors(originalFunction));
354
+ descriptor.value = markImplicitlyAwaited(wrapper);
355
+ if (originalFunction.constructor.name !== 'AsyncFunction') {
356
+ exports.nonAsyncFunctionsReturningPromises.push(originalFunction.name);
357
+ }
358
+ }
359
+ exports.returnsPromise = returnsPromise;
360
+ function directShellCommand(_target, _propertyKey, descriptor) {
361
+ descriptor.value.isDirectShellCommand = true;
362
+ }
363
+ exports.directShellCommand = directShellCommand;
364
+ function shellCommandCompleter(completer) {
365
+ return function (_target, _propertyKey, descriptor) {
366
+ descriptor.value.shellCommandCompleter = completer;
367
+ };
368
+ }
369
+ exports.shellCommandCompleter = shellCommandCompleter;
370
+ function returnType(type) {
371
+ return function (_target, _propertyKey, descriptor) {
372
+ descriptor.value.returnType = type;
373
+ };
374
+ }
375
+ exports.returnType = returnType;
376
+ function classDeprecated(constructor) {
377
+ constructor.prototype.deprecated = true;
378
+ }
379
+ exports.classDeprecated = classDeprecated;
380
+ function platforms(platformsArray) {
381
+ return function (_target, _propertyKey, descriptor) {
382
+ descriptor.value.platforms = platformsArray;
383
+ };
384
+ }
385
+ exports.platforms = platforms;
386
+ function classPlatforms(platformsArray) {
387
+ return function (constructor) {
388
+ constructor.prototype.platforms = platformsArray;
389
+ };
390
+ }
391
+ exports.classPlatforms = classPlatforms;
392
+ function addSourceToResults(constructor) {
393
+ constructor[addSourceToResultsSymbol] = true;
394
+ }
395
+ exports.addSourceToResults = addSourceToResults;
396
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}