@mongosh/shell-api 2.1.1 → 2.1.3

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 (55) hide show
  1. package/lib/abstract-cursor.js +176 -132
  2. package/lib/abstract-cursor.js.map +1 -1
  3. package/lib/aggregate-or-find-cursor.js +102 -51
  4. package/lib/aggregate-or-find-cursor.js.map +1 -1
  5. package/lib/aggregation-cursor.js +59 -13
  6. package/lib/aggregation-cursor.js.map +1 -1
  7. package/lib/bulk.js +248 -197
  8. package/lib/bulk.js.map +1 -1
  9. package/lib/change-stream-cursor.js +145 -101
  10. package/lib/change-stream-cursor.js.map +1 -1
  11. package/lib/collection.d.ts +2 -1
  12. package/lib/collection.js +1185 -1245
  13. package/lib/collection.js.map +1 -1
  14. package/lib/cursor.js +238 -203
  15. package/lib/cursor.js.map +1 -1
  16. package/lib/database.js +1180 -1206
  17. package/lib/database.js.map +1 -1
  18. package/lib/dbquery.js +68 -22
  19. package/lib/dbquery.js.map +1 -1
  20. package/lib/decorators.d.ts +39 -13
  21. package/lib/decorators.js +34 -34
  22. package/lib/decorators.js.map +1 -1
  23. package/lib/explainable-cursor.js +66 -20
  24. package/lib/explainable-cursor.js.map +1 -1
  25. package/lib/explainable.js +214 -179
  26. package/lib/explainable.js.map +1 -1
  27. package/lib/field-level-encryption.js +286 -235
  28. package/lib/field-level-encryption.js.map +1 -1
  29. package/lib/helpers.js.map +1 -1
  30. package/lib/interruptor.js.map +1 -1
  31. package/lib/log-entry.js.map +1 -1
  32. package/lib/mongo-errors.js.map +1 -1
  33. package/lib/mongo.js +581 -547
  34. package/lib/mongo.js.map +1 -1
  35. package/lib/plan-cache.js +108 -64
  36. package/lib/plan-cache.js.map +1 -1
  37. package/lib/replica-set.js +290 -277
  38. package/lib/replica-set.js.map +1 -1
  39. package/lib/result.js +228 -91
  40. package/lib/result.js.map +1 -1
  41. package/lib/run-command-cursor.js +59 -13
  42. package/lib/run-command-cursor.js.map +1 -1
  43. package/lib/session.js +123 -76
  44. package/lib/session.js.map +1 -1
  45. package/lib/shard.js +507 -514
  46. package/lib/shard.js.map +1 -1
  47. package/lib/shell-api.js +313 -268
  48. package/lib/shell-api.js.map +1 -1
  49. package/lib/shell-bson.js.map +1 -1
  50. package/lib/shell-instance-state.js.map +1 -1
  51. package/lib/stream-processor.js +139 -92
  52. package/lib/stream-processor.js.map +1 -1
  53. package/lib/streams.js +158 -110
  54. package/lib/streams.js.map +1 -1
  55. package/package.json +8 -8
package/lib/session.js CHANGED
@@ -1,9 +1,41 @@
1
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;
2
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
3
+ var useValue = arguments.length > 2;
4
+ for (var i = 0; i < initializers.length; i++) {
5
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
6
+ }
7
+ return useValue ? value : void 0;
8
+ };
9
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
10
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
11
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
12
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
13
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
14
+ var _, done = false;
15
+ for (var i = decorators.length - 1; i >= 0; i--) {
16
+ var context = {};
17
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
18
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
19
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
20
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
21
+ if (kind === "accessor") {
22
+ if (result === void 0) continue;
23
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
24
+ if (_ = accept(result.get)) descriptor.get = _;
25
+ if (_ = accept(result.set)) descriptor.set = _;
26
+ if (_ = accept(result.init)) initializers.unshift(_);
27
+ }
28
+ else if (_ = accept(result)) {
29
+ if (kind === "field") initializers.unshift(_);
30
+ else descriptor[key] = _;
31
+ }
32
+ }
33
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
34
+ done = true;
35
+ };
36
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
37
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
38
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
7
39
  };
8
40
  var __importDefault = (this && this.__importDefault) || function (mod) {
9
41
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -14,78 +46,93 @@ const enums_1 = require("./enums");
14
46
  const database_1 = __importDefault(require("./database"));
15
47
  const errors_1 = require("@mongosh/errors");
16
48
  const helpers_1 = require("./helpers");
17
- let Session = class Session extends decorators_1.ShellApiWithMongoClass {
18
- constructor(mongo, options, session) {
19
- super();
20
- this._session = session;
21
- this._options = options;
22
- this._mongo = mongo;
23
- this._databases = {};
24
- this.id = session.id;
25
- }
26
- [enums_1.asPrintable]() {
27
- return this._session.id;
28
- }
29
- getDatabase(name) {
30
- (0, helpers_1.assertArgsDefinedType)([name], ['string'], 'Session.getDatabase');
31
- if (!(0, helpers_1.isValidDatabaseName)(name)) {
32
- throw new errors_1.MongoshInvalidInputError(`Invalid database name: ${name}`, errors_1.CommonErrors.InvalidArgument);
49
+ let Session = (() => {
50
+ let _classDecorators = [decorators_1.shellApiClassDefault, (0, decorators_1.classPlatforms)(['CLI'])];
51
+ let _classDescriptor;
52
+ let _classExtraInitializers = [];
53
+ let _classThis;
54
+ let _classSuper = decorators_1.ShellApiWithMongoClass;
55
+ let _instanceExtraInitializers = [];
56
+ let _endSession_decorators;
57
+ let _commitTransaction_decorators;
58
+ let _abortTransaction_decorators;
59
+ let _withTransaction_decorators;
60
+ var Session = _classThis = class extends _classSuper {
61
+ constructor(mongo, options, session) {
62
+ super();
63
+ this.id = (__runInitializers(this, _instanceExtraInitializers), void 0);
64
+ this._session = session;
65
+ this._options = options;
66
+ this._mongo = mongo;
67
+ this._databases = {};
68
+ this.id = session.id;
33
69
  }
34
- if (!(name in this._databases)) {
35
- this._databases[name] = new database_1.default(this._mongo, name, this);
70
+ [enums_1.asPrintable]() {
71
+ return this._session.id;
36
72
  }
37
- return this._databases[name];
38
- }
39
- advanceOperationTime(ts) {
40
- this._session.advanceOperationTime(ts);
41
- }
42
- advanceClusterTime(clusterTime) {
43
- this._session.advanceClusterTime(clusterTime);
44
- }
45
- async endSession() {
46
- return await this._session.endSession();
47
- }
48
- hasEnded() {
49
- return this._session.hasEnded;
50
- }
51
- getClusterTime() {
52
- return this._session.clusterTime;
53
- }
54
- getOperationTime() {
55
- return this._session.operationTime;
56
- }
57
- getOptions() {
58
- return this._options;
59
- }
60
- startTransaction(options = {}) {
61
- return this._session.startTransaction(options);
62
- }
63
- async commitTransaction() {
64
- await this._session.commitTransaction();
65
- }
66
- async abortTransaction() {
67
- await this._session.abortTransaction();
68
- }
69
- async withTransaction(fn, options = {}) {
70
- (0, helpers_1.assertArgsDefinedType)([fn, options], ['function', [undefined, 'object']]);
71
- return await this._session.withTransaction(async () => await fn(), options);
72
- }
73
- };
74
- __decorate([
75
- decorators_1.returnsPromise
76
- ], Session.prototype, "endSession", null);
77
- __decorate([
78
- decorators_1.returnsPromise
79
- ], Session.prototype, "commitTransaction", null);
80
- __decorate([
81
- decorators_1.returnsPromise
82
- ], Session.prototype, "abortTransaction", null);
83
- __decorate([
84
- decorators_1.returnsPromise
85
- ], Session.prototype, "withTransaction", null);
86
- Session = __decorate([
87
- decorators_1.shellApiClassDefault,
88
- (0, decorators_1.classPlatforms)(['CLI'])
89
- ], Session);
73
+ getDatabase(name) {
74
+ (0, helpers_1.assertArgsDefinedType)([name], ['string'], 'Session.getDatabase');
75
+ if (!(0, helpers_1.isValidDatabaseName)(name)) {
76
+ throw new errors_1.MongoshInvalidInputError(`Invalid database name: ${name}`, errors_1.CommonErrors.InvalidArgument);
77
+ }
78
+ if (!(name in this._databases)) {
79
+ this._databases[name] = new database_1.default(this._mongo, name, this);
80
+ }
81
+ return this._databases[name];
82
+ }
83
+ advanceOperationTime(ts) {
84
+ this._session.advanceOperationTime(ts);
85
+ }
86
+ advanceClusterTime(clusterTime) {
87
+ this._session.advanceClusterTime(clusterTime);
88
+ }
89
+ async endSession() {
90
+ return await this._session.endSession();
91
+ }
92
+ hasEnded() {
93
+ return this._session.hasEnded;
94
+ }
95
+ getClusterTime() {
96
+ return this._session.clusterTime;
97
+ }
98
+ getOperationTime() {
99
+ return this._session.operationTime;
100
+ }
101
+ getOptions() {
102
+ return this._options;
103
+ }
104
+ startTransaction(options = {}) {
105
+ return this._session.startTransaction(options);
106
+ }
107
+ async commitTransaction() {
108
+ await this._session.commitTransaction();
109
+ }
110
+ async abortTransaction() {
111
+ await this._session.abortTransaction();
112
+ }
113
+ async withTransaction(fn, options = {}) {
114
+ (0, helpers_1.assertArgsDefinedType)([fn, options], ['function', [undefined, 'object']]);
115
+ return await this._session.withTransaction(async () => await fn(), options);
116
+ }
117
+ };
118
+ __setFunctionName(_classThis, "Session");
119
+ (() => {
120
+ var _a;
121
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;
122
+ _endSession_decorators = [decorators_1.returnsPromise];
123
+ _commitTransaction_decorators = [decorators_1.returnsPromise];
124
+ _abortTransaction_decorators = [decorators_1.returnsPromise];
125
+ _withTransaction_decorators = [decorators_1.returnsPromise];
126
+ __esDecorate(_classThis, null, _endSession_decorators, { kind: "method", name: "endSession", static: false, private: false, access: { has: obj => "endSession" in obj, get: obj => obj.endSession }, metadata: _metadata }, null, _instanceExtraInitializers);
127
+ __esDecorate(_classThis, null, _commitTransaction_decorators, { kind: "method", name: "commitTransaction", static: false, private: false, access: { has: obj => "commitTransaction" in obj, get: obj => obj.commitTransaction }, metadata: _metadata }, null, _instanceExtraInitializers);
128
+ __esDecorate(_classThis, null, _abortTransaction_decorators, { kind: "method", name: "abortTransaction", static: false, private: false, access: { has: obj => "abortTransaction" in obj, get: obj => obj.abortTransaction }, metadata: _metadata }, null, _instanceExtraInitializers);
129
+ __esDecorate(_classThis, null, _withTransaction_decorators, { kind: "method", name: "withTransaction", static: false, private: false, access: { has: obj => "withTransaction" in obj, get: obj => obj.withTransaction }, metadata: _metadata }, null, _instanceExtraInitializers);
130
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
131
+ Session = _classThis = _classDescriptor.value;
132
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
133
+ __runInitializers(_classThis, _classExtraInitializers);
134
+ })();
135
+ return Session = _classThis;
136
+ })();
90
137
  exports.default = Session;
91
138
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}