@qp-mongosh/shell-api 0.0.0-dev.8 → 0.0.0-dev.9

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 (88) hide show
  1. package/lib/abstract-cursor.d.ts +33 -0
  2. package/lib/abstract-cursor.js +192 -0
  3. package/lib/abstract-cursor.js.map +1 -0
  4. package/lib/aggregation-cursor.d.ts +6 -0
  5. package/lib/aggregation-cursor.js +20 -0
  6. package/lib/aggregation-cursor.js.map +1 -0
  7. package/lib/bulk.d.ts +43 -0
  8. package/lib/bulk.js +224 -0
  9. package/lib/bulk.js.map +1 -0
  10. package/lib/change-stream-cursor.d.ts +28 -0
  11. package/lib/change-stream-cursor.js +112 -0
  12. package/lib/change-stream-cursor.js.map +1 -0
  13. package/lib/collection.d.ts +95 -0
  14. package/lib/collection.js +965 -0
  15. package/lib/collection.js.map +1 -0
  16. package/lib/cursor.d.ts +32 -0
  17. package/lib/cursor.js +216 -0
  18. package/lib/cursor.js.map +1 -0
  19. package/lib/database.d.ts +116 -0
  20. package/lib/database.js +1224 -0
  21. package/lib/database.js.map +1 -0
  22. package/lib/dbquery.d.ts +8 -0
  23. package/lib/dbquery.js +29 -0
  24. package/lib/dbquery.js.map +1 -0
  25. package/lib/decorators.d.ts +73 -0
  26. package/lib/decorators.js +396 -0
  27. package/lib/decorators.js.map +1 -0
  28. package/lib/enums.d.ts +28 -0
  29. package/lib/enums.js +34 -0
  30. package/lib/enums.js.map +1 -0
  31. package/lib/error-codes.d.ts +12 -0
  32. package/lib/error-codes.js +20 -0
  33. package/lib/error-codes.js.map +1 -0
  34. package/lib/explainable-cursor.d.ts +11 -0
  35. package/lib/explainable-cursor.js +32 -0
  36. package/lib/explainable-cursor.js.map +1 -0
  37. package/lib/explainable.d.ts +32 -0
  38. package/lib/explainable.js +167 -0
  39. package/lib/explainable.js.map +1 -0
  40. package/lib/field-level-encryption.d.ts +50 -0
  41. package/lib/field-level-encryption.js +177 -0
  42. package/lib/field-level-encryption.js.map +1 -0
  43. package/lib/help.d.ts +22 -0
  44. package/lib/help.js +27 -0
  45. package/lib/help.js.map +1 -0
  46. package/lib/helpers.d.ts +71 -0
  47. package/lib/helpers.js +589 -0
  48. package/lib/helpers.js.map +1 -0
  49. package/lib/index.d.ts +16 -0
  50. package/lib/index.js +46 -0
  51. package/lib/index.js.map +1 -0
  52. package/lib/interruptor.d.ts +19 -0
  53. package/lib/interruptor.js +63 -0
  54. package/lib/interruptor.js.map +1 -0
  55. package/lib/mongo-errors.d.ts +5 -0
  56. package/lib/mongo-errors.js +38 -0
  57. package/lib/mongo-errors.js.map +1 -0
  58. package/lib/mongo.d.ts +75 -0
  59. package/lib/mongo.js +477 -0
  60. package/lib/mongo.js.map +1 -0
  61. package/lib/no-db.d.ts +5 -0
  62. package/lib/no-db.js +29 -0
  63. package/lib/no-db.js.map +1 -0
  64. package/lib/plan-cache.d.ts +16 -0
  65. package/lib/plan-cache.js +71 -0
  66. package/lib/plan-cache.js.map +1 -0
  67. package/lib/replica-set.d.ts +45 -0
  68. package/lib/replica-set.js +315 -0
  69. package/lib/replica-set.js.map +1 -0
  70. package/lib/result.d.ts +61 -0
  71. package/lib/result.js +105 -0
  72. package/lib/result.js.map +1 -0
  73. package/lib/session.d.ts +25 -0
  74. package/lib/session.js +89 -0
  75. package/lib/session.js.map +1 -0
  76. package/lib/shard.d.ts +42 -0
  77. package/lib/shard.js +415 -0
  78. package/lib/shard.js.map +1 -0
  79. package/lib/shell-api.d.ts +52 -0
  80. package/lib/shell-api.js +299 -0
  81. package/lib/shell-api.js.map +1 -0
  82. package/lib/shell-bson.d.ts +40 -0
  83. package/lib/shell-bson.js +160 -0
  84. package/lib/shell-bson.js.map +1 -0
  85. package/lib/shell-instance-state.d.ts +77 -0
  86. package/lib/shell-instance-state.js +393 -0
  87. package/lib/shell-instance-state.js.map +1 -0
  88. package/package.json +7 -7
@@ -0,0 +1,33 @@
1
+ import { ShellApiWithMongoClass } from './decorators';
2
+ import type Mongo from './mongo';
3
+ import type { Document, ExplainVerbosityLike, FindCursor as ServiceProviderCursor, AggregationCursor as ServiceProviderAggregationCursor } from '@qp-mongosh/service-provider-core';
4
+ import { asPrintable } from './enums';
5
+ import { CursorIterationResult } from './result';
6
+ export declare abstract class AbstractCursor<CursorType extends ServiceProviderAggregationCursor | ServiceProviderCursor> extends ShellApiWithMongoClass {
7
+ _mongo: Mongo;
8
+ _cursor: CursorType;
9
+ _transform: ((doc: any) => any) | null;
10
+ _currentIterationResult: CursorIterationResult | null;
11
+ constructor(mongo: Mongo, cursor: CursorType);
12
+ [asPrintable](): Promise<CursorIterationResult>;
13
+ _it(): Promise<CursorIterationResult>;
14
+ batchSize(size: number): this;
15
+ close(options: Document): Promise<void>;
16
+ forEach(f: (doc: Document) => void | boolean | Promise<void> | Promise<boolean>): Promise<void>;
17
+ hasNext(): Promise<boolean>;
18
+ tryNext(): Promise<Document | null>;
19
+ [Symbol.asyncIterator](): AsyncGenerator<Document, void, unknown>;
20
+ isClosed(): boolean;
21
+ isExhausted(): boolean;
22
+ itcount(): Promise<number>;
23
+ toArray(): Promise<Document[]>;
24
+ pretty(): this;
25
+ map(f: (doc: Document) => Document): this;
26
+ maxTimeMS(value: number): this;
27
+ next(): Promise<Document | null>;
28
+ projection(spec: Document): this;
29
+ skip(value: number): this;
30
+ sort(spec: Document): this;
31
+ objsLeftInBatch(): number;
32
+ explain(verbosity?: ExplainVerbosityLike): Promise<any>;
33
+ }
@@ -0,0 +1,192 @@
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.AbstractCursor = void 0;
10
+ const decorators_1 = require("./decorators");
11
+ const enums_1 = require("./enums");
12
+ const result_1 = require("./result");
13
+ const helpers_1 = require("./helpers");
14
+ let AbstractCursor = class AbstractCursor extends decorators_1.ShellApiWithMongoClass {
15
+ constructor(mongo, cursor) {
16
+ super();
17
+ this._currentIterationResult = null;
18
+ this._mongo = mongo;
19
+ this._cursor = cursor;
20
+ this._transform = null;
21
+ }
22
+ async [enums_1.asPrintable]() {
23
+ var _a;
24
+ return (await (0, decorators_1.toShellResult)((_a = this._currentIterationResult) !== null && _a !== void 0 ? _a : await this._it())).printable;
25
+ }
26
+ async _it() {
27
+ const results = this._currentIterationResult = new result_1.CursorIterationResult();
28
+ await (0, helpers_1.iterate)(results, this, await this._mongo._displayBatchSize());
29
+ results.cursorHasMore = !this.isExhausted();
30
+ return results;
31
+ }
32
+ batchSize(size) {
33
+ this._cursor.batchSize(size);
34
+ return this;
35
+ }
36
+ async close(options) {
37
+ await this._cursor.close(options);
38
+ }
39
+ async forEach(f) {
40
+ for await (const doc of this) {
41
+ if ((await f(doc)) === false) {
42
+ break;
43
+ }
44
+ }
45
+ }
46
+ async hasNext() {
47
+ return this._cursor.hasNext();
48
+ }
49
+ async tryNext() {
50
+ let result = await this._cursor.tryNext();
51
+ if (result !== null && this._transform !== null) {
52
+ result = await this._transform(result);
53
+ }
54
+ return result;
55
+ }
56
+ async *[Symbol.asyncIterator]() {
57
+ let doc;
58
+ while ((doc = await this.tryNext()) !== null) {
59
+ yield doc;
60
+ }
61
+ }
62
+ isClosed() {
63
+ return this._cursor.closed;
64
+ }
65
+ isExhausted() {
66
+ return this.isClosed() && this.objsLeftInBatch() === 0;
67
+ }
68
+ async itcount() {
69
+ let count = 0;
70
+ while (await this.tryNext()) {
71
+ count++;
72
+ }
73
+ return count;
74
+ }
75
+ async toArray() {
76
+ const result = [];
77
+ for await (const doc of this) {
78
+ result.push(doc);
79
+ }
80
+ return result;
81
+ }
82
+ pretty() {
83
+ return this;
84
+ }
85
+ map(f) {
86
+ if (this._transform === null) {
87
+ this._transform = f;
88
+ }
89
+ else {
90
+ const g = this._transform;
91
+ this._transform = (doc) => f(g(doc));
92
+ }
93
+ return this;
94
+ }
95
+ maxTimeMS(value) {
96
+ this._cursor.maxTimeMS(value);
97
+ return this;
98
+ }
99
+ async next() {
100
+ let result = await this._cursor.next();
101
+ if (result !== null && this._transform !== null) {
102
+ result = await this._transform(result);
103
+ }
104
+ return result;
105
+ }
106
+ projection(spec) {
107
+ this._cursor.project(spec);
108
+ return this;
109
+ }
110
+ skip(value) {
111
+ this._cursor.skip(value);
112
+ return this;
113
+ }
114
+ sort(spec) {
115
+ this._cursor.sort(spec);
116
+ return this;
117
+ }
118
+ objsLeftInBatch() {
119
+ return this._cursor.bufferedCount();
120
+ }
121
+ async explain(verbosity) {
122
+ if (verbosity !== undefined) {
123
+ verbosity = (0, helpers_1.validateExplainableVerbosity)(verbosity);
124
+ }
125
+ const fullExplain = await this._cursor.explain(verbosity);
126
+ const explain = {
127
+ ...fullExplain
128
+ };
129
+ if (verbosity !== 'executionStats' &&
130
+ verbosity !== 'allPlansExecution' &&
131
+ explain.executionStats) {
132
+ delete explain.executionStats;
133
+ }
134
+ if (verbosity === 'executionStats' &&
135
+ explain.executionStats &&
136
+ explain.executionStats.allPlansExecution) {
137
+ delete explain.executionStats.allPlansExecution;
138
+ }
139
+ return (0, helpers_1.markAsExplainOutput)(explain);
140
+ }
141
+ };
142
+ __decorate([
143
+ (0, decorators_1.returnType)('this')
144
+ ], AbstractCursor.prototype, "batchSize", null);
145
+ __decorate([
146
+ decorators_1.returnsPromise
147
+ ], AbstractCursor.prototype, "close", null);
148
+ __decorate([
149
+ decorators_1.returnsPromise
150
+ ], AbstractCursor.prototype, "forEach", null);
151
+ __decorate([
152
+ decorators_1.returnsPromise
153
+ ], AbstractCursor.prototype, "hasNext", null);
154
+ __decorate([
155
+ decorators_1.returnsPromise
156
+ ], AbstractCursor.prototype, "tryNext", null);
157
+ __decorate([
158
+ decorators_1.returnsPromise
159
+ ], AbstractCursor.prototype, "itcount", null);
160
+ __decorate([
161
+ decorators_1.returnsPromise
162
+ ], AbstractCursor.prototype, "toArray", null);
163
+ __decorate([
164
+ (0, decorators_1.returnType)('this')
165
+ ], AbstractCursor.prototype, "pretty", null);
166
+ __decorate([
167
+ (0, decorators_1.returnType)('this')
168
+ ], AbstractCursor.prototype, "map", null);
169
+ __decorate([
170
+ (0, decorators_1.returnType)('this')
171
+ ], AbstractCursor.prototype, "maxTimeMS", null);
172
+ __decorate([
173
+ decorators_1.returnsPromise
174
+ ], AbstractCursor.prototype, "next", null);
175
+ __decorate([
176
+ (0, decorators_1.returnType)('this')
177
+ ], AbstractCursor.prototype, "projection", null);
178
+ __decorate([
179
+ (0, decorators_1.returnType)('this')
180
+ ], AbstractCursor.prototype, "skip", null);
181
+ __decorate([
182
+ (0, decorators_1.returnType)('this')
183
+ ], AbstractCursor.prototype, "sort", null);
184
+ __decorate([
185
+ decorators_1.returnsPromise,
186
+ (0, decorators_1.apiVersions)([1])
187
+ ], AbstractCursor.prototype, "explain", null);
188
+ AbstractCursor = __decorate([
189
+ decorators_1.shellApiClassNoHelp
190
+ ], AbstractCursor);
191
+ exports.AbstractCursor = AbstractCursor;
192
+ //# sourceMappingURL=abstract-cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-cursor.js","sourceRoot":"","sources":["../src/abstract-cursor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type Mongo from './mongo';
2
+ import type { AggregationCursor as ServiceProviderAggregationCursor } from '@qp-mongosh/service-provider-core';
3
+ import { AbstractCursor } from './abstract-cursor';
4
+ export default class AggregationCursor extends AbstractCursor<ServiceProviderAggregationCursor> {
5
+ constructor(mongo: Mongo, cursor: ServiceProviderAggregationCursor);
6
+ }
@@ -0,0 +1,20 @@
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
+ const decorators_1 = require("./decorators");
10
+ const abstract_cursor_1 = require("./abstract-cursor");
11
+ let AggregationCursor = class AggregationCursor extends abstract_cursor_1.AbstractCursor {
12
+ constructor(mongo, cursor) {
13
+ super(mongo, cursor);
14
+ }
15
+ };
16
+ AggregationCursor = __decorate([
17
+ decorators_1.shellApiClassDefault
18
+ ], AggregationCursor);
19
+ exports.default = AggregationCursor;
20
+ //# sourceMappingURL=aggregation-cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregation-cursor.js","sourceRoot":"","sources":["../src/aggregation-cursor.ts"],"names":[],"mappings":";;;;;;;;AACA,6CAEsB;AAItB,uDAAmD;AAGnD,IAAqB,iBAAiB,GAAtC,MAAqB,iBAAkB,SAAQ,gCAAgD;IAC7F,YAAY,KAAY,EAAE,MAAwC;QAChE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;CACF,CAAA;AAJoB,iBAAiB;IADrC,iCAAoB;GACA,iBAAiB,CAIrC;kBAJoB,iBAAiB"}
package/lib/bulk.d.ts ADDED
@@ -0,0 +1,43 @@
1
+ import { ShellApiWithMongoClass } from './decorators';
2
+ import Mongo from './mongo';
3
+ import { Batch, Document, WriteConcern, OrderedBulkOperation, UnorderedBulkOperation, FindOperators, CollationOptions } from '@qp-mongosh/service-provider-core';
4
+ import { asPrintable } from './enums';
5
+ import { BulkWriteResult } from './result';
6
+ import type Collection from './collection';
7
+ export declare class BulkFindOp extends ShellApiWithMongoClass {
8
+ _serviceProviderBulkFindOp: FindOperators;
9
+ _parentBulk: Bulk;
10
+ _hint: Document | undefined;
11
+ _arrayFilters: Document[] | undefined;
12
+ constructor(innerFind: FindOperators, parentBulk: Bulk);
13
+ get _mongo(): Mongo;
14
+ [asPrintable](): string;
15
+ collation(spec: CollationOptions): BulkFindOp;
16
+ arrayFilters(filters: Document[]): BulkFindOp;
17
+ hint(hintDoc: Document): BulkFindOp;
18
+ delete(): Bulk;
19
+ deleteOne(): Bulk;
20
+ remove(): Bulk;
21
+ removeOne(): Bulk;
22
+ replaceOne(replacement: Document): Bulk;
23
+ updateOne(update: Document): Bulk;
24
+ update(update: Document): Bulk;
25
+ upsert(): BulkFindOp;
26
+ }
27
+ export default class Bulk extends ShellApiWithMongoClass {
28
+ _mongo: Mongo;
29
+ _collection: Collection;
30
+ _batchCounts: any;
31
+ _executed: boolean;
32
+ _serviceProviderBulkOp: OrderedBulkOperation | UnorderedBulkOperation;
33
+ _ordered: boolean;
34
+ constructor(collection: Collection, innerBulk: OrderedBulkOperation | UnorderedBulkOperation, ordered?: boolean);
35
+ [asPrintable](): any;
36
+ private _emitBulkApiCall;
37
+ execute(writeConcern?: WriteConcern): Promise<BulkWriteResult>;
38
+ find(query: Document): BulkFindOp;
39
+ insert(document: Document): Bulk;
40
+ toJSON(): Record<'nInsertOps' | 'nUpdateOps' | 'nRemoveOps' | 'nBatches', number>;
41
+ toString(): string;
42
+ getOperations(): Pick<Batch, 'originalZeroIndex' | 'batchType' | 'operations'>[];
43
+ }
package/lib/bulk.js ADDED
@@ -0,0 +1,224 @@
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.BulkFindOp = void 0;
10
+ const decorators_1 = require("./decorators");
11
+ const errors_1 = require("@qp-mongosh/errors");
12
+ const enums_1 = require("./enums");
13
+ const helpers_1 = require("./helpers");
14
+ const result_1 = require("./result");
15
+ let BulkFindOp = class BulkFindOp extends decorators_1.ShellApiWithMongoClass {
16
+ constructor(innerFind, parentBulk) {
17
+ super();
18
+ this._serviceProviderBulkFindOp = innerFind;
19
+ this._parentBulk = parentBulk;
20
+ }
21
+ get _mongo() {
22
+ return this._parentBulk._mongo;
23
+ }
24
+ [enums_1.asPrintable]() {
25
+ return 'BulkFindOp';
26
+ }
27
+ collation(spec) {
28
+ this._serviceProviderBulkFindOp.collation(spec);
29
+ return this;
30
+ }
31
+ arrayFilters(filters) {
32
+ this._serviceProviderBulkFindOp.arrayFilters(filters);
33
+ return this;
34
+ }
35
+ hint(hintDoc) {
36
+ (0, helpers_1.assertArgsDefinedType)([hintDoc], [true], 'BulkFindOp.hint');
37
+ this._hint = hintDoc;
38
+ return this;
39
+ }
40
+ delete() {
41
+ this._parentBulk._batchCounts.nRemoveOps++;
42
+ this._serviceProviderBulkFindOp.delete();
43
+ return this._parentBulk;
44
+ }
45
+ deleteOne() {
46
+ this._parentBulk._batchCounts.nRemoveOps++;
47
+ this._serviceProviderBulkFindOp.deleteOne();
48
+ return this._parentBulk;
49
+ }
50
+ remove() {
51
+ return this.delete();
52
+ }
53
+ removeOne() {
54
+ return this.deleteOne();
55
+ }
56
+ replaceOne(replacement) {
57
+ this._parentBulk._batchCounts.nUpdateOps++;
58
+ (0, helpers_1.assertArgsDefinedType)([replacement], [true], 'BulkFindOp.replacement');
59
+ const op = { ...replacement };
60
+ if (this._hint) {
61
+ op.hint = this._hint;
62
+ }
63
+ this._serviceProviderBulkFindOp.replaceOne(op);
64
+ return this._parentBulk;
65
+ }
66
+ updateOne(update) {
67
+ this._parentBulk._batchCounts.nUpdateOps++;
68
+ (0, helpers_1.assertArgsDefinedType)([update], [true], 'BulkFindOp.update');
69
+ const op = { ...update };
70
+ if (this._hint) {
71
+ op.hint = this._hint;
72
+ }
73
+ if (this._arrayFilters) {
74
+ op.arrayFilters = this._arrayFilters;
75
+ }
76
+ this._serviceProviderBulkFindOp.updateOne(op);
77
+ return this._parentBulk;
78
+ }
79
+ update(update) {
80
+ this._parentBulk._batchCounts.nUpdateOps++;
81
+ (0, helpers_1.assertArgsDefinedType)([update], [true], 'BulkFindOp.update');
82
+ const op = { ...update };
83
+ if (this._hint) {
84
+ op.hint = this._hint;
85
+ }
86
+ if (this._arrayFilters) {
87
+ op.arrayFilters = this._arrayFilters;
88
+ }
89
+ this._serviceProviderBulkFindOp.update(op);
90
+ return this._parentBulk;
91
+ }
92
+ upsert() {
93
+ this._serviceProviderBulkFindOp.upsert();
94
+ return this;
95
+ }
96
+ };
97
+ __decorate([
98
+ (0, decorators_1.returnType)('BulkFindOp'),
99
+ (0, decorators_1.apiVersions)([1])
100
+ ], BulkFindOp.prototype, "collation", null);
101
+ __decorate([
102
+ (0, decorators_1.returnType)('BulkFindOp'),
103
+ (0, decorators_1.apiVersions)([1])
104
+ ], BulkFindOp.prototype, "arrayFilters", null);
105
+ __decorate([
106
+ (0, decorators_1.returnType)('BulkFindOp'),
107
+ (0, decorators_1.apiVersions)([1])
108
+ ], BulkFindOp.prototype, "hint", null);
109
+ __decorate([
110
+ (0, decorators_1.returnType)('Bulk'),
111
+ (0, decorators_1.apiVersions)([1])
112
+ ], BulkFindOp.prototype, "delete", null);
113
+ __decorate([
114
+ (0, decorators_1.returnType)('Bulk'),
115
+ (0, decorators_1.apiVersions)([1])
116
+ ], BulkFindOp.prototype, "deleteOne", null);
117
+ __decorate([
118
+ (0, decorators_1.returnType)('Bulk'),
119
+ (0, decorators_1.apiVersions)([1]),
120
+ decorators_1.deprecated
121
+ ], BulkFindOp.prototype, "remove", null);
122
+ __decorate([
123
+ (0, decorators_1.returnType)('Bulk'),
124
+ (0, decorators_1.apiVersions)([1]),
125
+ decorators_1.deprecated
126
+ ], BulkFindOp.prototype, "removeOne", null);
127
+ __decorate([
128
+ (0, decorators_1.returnType)('Bulk'),
129
+ (0, decorators_1.apiVersions)([1])
130
+ ], BulkFindOp.prototype, "replaceOne", null);
131
+ __decorate([
132
+ (0, decorators_1.returnType)('Bulk'),
133
+ (0, decorators_1.apiVersions)([1])
134
+ ], BulkFindOp.prototype, "updateOne", null);
135
+ __decorate([
136
+ (0, decorators_1.returnType)('Bulk')
137
+ ], BulkFindOp.prototype, "update", null);
138
+ __decorate([
139
+ (0, decorators_1.returnType)('Bulk')
140
+ ], BulkFindOp.prototype, "upsert", null);
141
+ BulkFindOp = __decorate([
142
+ decorators_1.shellApiClassDefault
143
+ ], BulkFindOp);
144
+ exports.BulkFindOp = BulkFindOp;
145
+ let Bulk = class Bulk extends decorators_1.ShellApiWithMongoClass {
146
+ constructor(collection, innerBulk, ordered = false) {
147
+ super();
148
+ this._collection = collection;
149
+ this._mongo = collection._mongo;
150
+ this._serviceProviderBulkOp = innerBulk;
151
+ this._batchCounts = {
152
+ nInsertOps: 0,
153
+ nUpdateOps: 0,
154
+ nRemoveOps: 0
155
+ };
156
+ this._executed = false;
157
+ this._ordered = ordered;
158
+ }
159
+ [enums_1.asPrintable]() {
160
+ return this.toJSON();
161
+ }
162
+ _emitBulkApiCall(methodName, methodArguments = {}) {
163
+ this._mongo._instanceState.emitApiCallWithArgs({
164
+ method: methodName,
165
+ class: 'Bulk',
166
+ db: this._collection._database._name,
167
+ coll: this._collection._name,
168
+ arguments: methodArguments
169
+ });
170
+ }
171
+ async execute(writeConcern) {
172
+ const { result } = await this._serviceProviderBulkOp.execute();
173
+ this._executed = true;
174
+ this._emitBulkApiCall('execute', { writeConcern: writeConcern });
175
+ return new result_1.BulkWriteResult(!!result.ok, result.nInserted, result.insertedIds, result.nMatched, result.nModified, result.nRemoved, result.nUpserted, result.upserted);
176
+ }
177
+ find(query) {
178
+ (0, helpers_1.assertArgsDefinedType)([query], [true], 'Bulk.find');
179
+ return new BulkFindOp(this._serviceProviderBulkOp.find(query), this);
180
+ }
181
+ insert(document) {
182
+ this._batchCounts.nInsertOps++;
183
+ (0, helpers_1.assertArgsDefinedType)([document], [true], 'Bulk.insert');
184
+ this._serviceProviderBulkOp.insert(document);
185
+ return this;
186
+ }
187
+ toJSON() {
188
+ const batches = this._serviceProviderBulkOp.batches.length;
189
+ return {
190
+ ...this._batchCounts,
191
+ nBatches: batches
192
+ };
193
+ }
194
+ toString() {
195
+ return JSON.stringify(this.toJSON());
196
+ }
197
+ getOperations() {
198
+ if (!this._executed) {
199
+ throw new errors_1.MongoshInvalidInputError('Cannot call getOperations on an unexecuted Bulk operation', errors_1.CommonErrors.InvalidOperation);
200
+ }
201
+ return this._serviceProviderBulkOp.batches.map((b) => ({
202
+ originalZeroIndex: b.originalZeroIndex,
203
+ batchType: b.batchType,
204
+ operations: b.operations
205
+ }));
206
+ }
207
+ };
208
+ __decorate([
209
+ decorators_1.returnsPromise,
210
+ (0, decorators_1.apiVersions)([1])
211
+ ], Bulk.prototype, "execute", null);
212
+ __decorate([
213
+ (0, decorators_1.returnType)('BulkFindOp'),
214
+ (0, decorators_1.apiVersions)([1])
215
+ ], Bulk.prototype, "find", null);
216
+ __decorate([
217
+ (0, decorators_1.returnType)('Bulk'),
218
+ (0, decorators_1.apiVersions)([1])
219
+ ], Bulk.prototype, "insert", null);
220
+ Bulk = __decorate([
221
+ decorators_1.shellApiClassDefault
222
+ ], Bulk);
223
+ exports.default = Bulk;
224
+ //# sourceMappingURL=bulk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk.js","sourceRoot":"","sources":["../src/bulk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { ShellApiWithMongoClass } from './decorators';
2
+ import { ChangeStream, Document, ResumeToken } from '@qp-mongosh/service-provider-core';
3
+ import { CursorIterationResult } from './result';
4
+ import { asPrintable } from './enums';
5
+ import Mongo from './mongo';
6
+ export default class ChangeStreamCursor extends ShellApiWithMongoClass {
7
+ _mongo: Mongo;
8
+ _cursor: ChangeStream<Document>;
9
+ _currentIterationResult: CursorIterationResult | null;
10
+ _on: string;
11
+ constructor(cursor: ChangeStream<Document>, on: string, mongo: Mongo);
12
+ _it(): Promise<CursorIterationResult>;
13
+ [asPrintable](): string;
14
+ close(): Promise<void>;
15
+ hasNext(): Promise<boolean>;
16
+ tryNext(): Promise<Document | null>;
17
+ [Symbol.asyncIterator](): AsyncGenerator<Document, void, unknown>;
18
+ isClosed(): boolean;
19
+ isExhausted(): never;
20
+ itcount(): Promise<number>;
21
+ next(): Promise<Document>;
22
+ getResumeToken(): ResumeToken;
23
+ map(): ChangeStreamCursor;
24
+ forEach(): Promise<void>;
25
+ toArray(): Promise<Document[]>;
26
+ objsLeftInBatch(): void;
27
+ pretty(): ChangeStreamCursor;
28
+ }