@mongodb-js/compass-editor 0.4.2 → 0.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"aggregation-autocompleter.d.ts","sourceRoot":"","sources":["../../src/ace/aggregation-autocompleter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAiD3D,wBAAiB,oBAAoB,CACnC,OAAO,EAAE,GAAG,CAAC,WAAW,EACxB,GAAG,EAAE,GAAG,CAAC,QAAQ,uCA4BlB;AAKD,cAAM,wBAAyB,YAAW,GAAG,CAAC,SAAS;IAG5C,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,GAAG,CAAC,SAAS;IAC5B,MAAM,EAAE,wBAAwB,EAAE;IAJpC,kBAAkB,EAAE,kBAAkB,CAAC;gBAErC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,CAAC,SAAS,EAC5B,MAAM,EAAE,wBAAwB,EAAE;IAS3C,YAAY,CAAC,MAAM,EAAE,wBAAwB,EAAE;IAK/C,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAoD7C;CACH;AAmBD,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"aggregation-autocompleter.d.ts","sourceRoot":"","sources":["../../src/ace/aggregation-autocompleter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAkC3D,wBAAiB,oBAAoB,CACnC,OAAO,EAAE,GAAG,CAAC,WAAW,EACxB,GAAG,EAAE,GAAG,CAAC,QAAQ,uCA4BlB;AAKD,cAAM,wBAAyB,YAAW,GAAG,CAAC,SAAS;IAG5C,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,GAAG,CAAC,SAAS;IAC5B,MAAM,EAAE,wBAAwB,EAAE;IAJpC,kBAAkB,EAAE,kBAAkB,CAAC;gBAErC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,CAAC,SAAS,EAC5B,MAAM,EAAE,wBAAwB,EAAE;IAS3C,YAAY,CAAC,MAAM,EAAE,wBAAwB,EAAE;IAK/C,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CA4D7C;CACH;AAmBD,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -2,24 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AggregationAutoCompleter = exports.getScopeTokensBefore = void 0;
4
4
  const mongodb_constants_1 = require("@mongodb-js/mongodb-constants");
5
+ const autocompleter_1 = require("../autocompleter");
5
6
  const stage_autocompleter_1 = require("./stage-autocompleter");
6
- const util_1 = require("./util");
7
- const STAGE_OPERATORS = mongodb_constants_1.STAGE_OPERATORS.map((op) => {
8
- return {
9
- ...op,
10
- snippet: `\\${op.name}: ${op.snippet}`,
11
- };
12
- });
13
- const STAGE_OPERATORS_WITH_BLOCK_SNIPPETS = STAGE_OPERATORS.map((completion) => {
14
- const padded = completion.snippet
7
+ function padLines(str, pad = ' ') {
8
+ return str
15
9
  .split('\n')
16
- .map((line) => ` ${line}`)
10
+ .map((line) => `${pad}${line}`)
17
11
  .join('\n');
18
- return {
19
- ...completion,
20
- snippet: `{\n${padded}\n}`,
21
- };
22
- });
12
+ }
23
13
  function type(token, type) {
24
14
  return token.type.split('.').includes(type);
25
15
  }
@@ -82,9 +72,18 @@ class AggregationAutoCompleter {
82
72
  return this.stageAutocopmleter.getCompletions(editor, session, position, prefix, callback);
83
73
  }
84
74
  }
85
- callback(null, (0, util_1.filter)(this.version, isInsideBlock(tokens)
86
- ? STAGE_OPERATORS
87
- : STAGE_OPERATORS_WITH_BLOCK_SNIPPETS, prefix));
75
+ const snippetWithBlock = !isInsideBlock(tokens);
76
+ callback(null, (0, autocompleter_1.completer)(prefix, { serverVersion: this.version, meta: ['stage'] }).map((completion) => {
77
+ if (completion.snippet) {
78
+ return {
79
+ ...completion,
80
+ snippet: snippetWithBlock
81
+ ? `{\n${completion.value}: ${padLines(completion.snippet)}\n}`
82
+ : `${completion.value}: ${completion.snippet}`,
83
+ };
84
+ }
85
+ return completion;
86
+ }));
88
87
  };
89
88
  this.stageAutocopmleter = new stage_autocompleter_1.StageAutoCompleter(this.version, this.textCompleter, this.fields);
90
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aggregation-autocompleter.js","sourceRoot":"","sources":["../../src/ace/aggregation-autocompleter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregation-autocompleter.js","sourceRoot":"","sources":["../../src/ace/aggregation-autocompleter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"query-autocompleter.d.ts","sourceRoot":"","sources":["../../src/ace/query-autocompleter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,cAAM,kBAAmB,YAAW,GAAG,CAAC,SAAS;IAEtC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,GAAG,CAAC,SAAS;IAC5B,MAAM,EAAE,wBAAwB,EAAE;gBAFlC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,CAAC,SAAS,EAC5B,MAAM,EAAE,wBAAwB,EAAE;IAG3C,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE;IAIzC,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CA2B7C;CACH;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"query-autocompleter.d.ts","sourceRoot":"","sources":["../../src/ace/query-autocompleter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,cAAM,kBAAmB,YAAW,GAAG,CAAC,SAAS;IAEtC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,GAAG,CAAC,SAAS;IAC5B,MAAM,EAAE,wBAAwB,EAAE;gBAFlC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,CAAC,SAAS,EAC5B,MAAM,EAAE,wBAAwB,EAAE;IAG3C,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE;IAIzC,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAuC7C;CACH;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QueryAutoCompleter = void 0;
4
+ const autocompleter_1 = require("../autocompleter");
4
5
  const util_1 = require("./util");
5
6
  class QueryAutoCompleter {
6
7
  constructor(version, textCompleter, fields) {
@@ -14,8 +15,19 @@ class QueryAutoCompleter {
14
15
  if ((currentToken === null || currentToken === void 0 ? void 0 : currentToken.type) === 'string') {
15
16
  return this.textCompleter.getCompletions(editor, session, position, prefix, done);
16
17
  }
17
- const expressions = util_1.MATCH_COMPLETIONS.concat(this.fields);
18
- done(null, (0, util_1.filter)(this.version, expressions, prefix));
18
+ done(null, (0, autocompleter_1.completer)(prefix, {
19
+ serverVersion: this.version,
20
+ fields: (0, util_1.getNames)(this.fields),
21
+ meta: ['query', 'bson', 'field:identifier'],
22
+ }).map((completion) => {
23
+ if (completion.meta === 'field:identifier') {
24
+ return {
25
+ ...completion,
26
+ value: (0, autocompleter_1.wrapField)(completion.value),
27
+ };
28
+ }
29
+ return completion;
30
+ }));
19
31
  };
20
32
  }
21
33
  update(fields) {
@@ -1 +1 @@
1
- {"version":3,"file":"query-autocompleter.js","sourceRoot":"","sources":["../../src/ace/query-autocompleter.ts"],"names":[],"mappings":";;;AAEA,iCAAmD;AAKnD,MAAM,kBAAkB;IACtB,YACS,OAAe,EACf,aAA4B,EAC5B,MAAkC;QAFlC,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAA4B;QAO3C,mBAAc,GAAoC,CAChD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,EAAE;YAEF,IAAI,MAAM,KAAK,EAAE;gBAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAKzC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,MAAK,QAAQ,EAAE;gBACnC,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CACtC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,CACL,CAAC;aACH;YAGD,MAAM,WAAW,GAAG,wBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,IAAA,aAAM,EAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;IAjCC,CAAC;IAEJ,MAAM,CAAC,MAAkC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CA8BF;AAEQ,gDAAkB"}
1
+ {"version":3,"file":"query-autocompleter.js","sourceRoot":"","sources":["../../src/ace/query-autocompleter.ts"],"names":[],"mappings":";;;AACA,oDAAwD;AAExD,iCAAkC;AAKlC,MAAM,kBAAkB;IACtB,YACS,OAAe,EACf,aAA4B,EAC5B,MAAkC;QAFlC,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAA4B;QAO3C,mBAAc,GAAoC,CAChD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,EAAE;YAEF,IAAI,MAAM,KAAK,EAAE;gBAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAKzC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,MAAK,QAAQ,EAAE;gBACnC,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CACtC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,CACL,CAAC;aACH;YACD,IAAI,CACF,IAAI,EACJ,IAAA,yBAAS,EAAC,MAAM,EAAE;gBAChB,aAAa,EAAE,IAAI,CAAC,OAAO;gBAC3B,MAAM,EAAE,IAAA,eAAQ,EAAC,IAAI,CAAC,MAAM,CAAC;gBAC7B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC;aAC5C,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;gBACpB,IAAI,UAAU,CAAC,IAAI,KAAK,kBAAkB,EAAE;oBAC1C,OAAO;wBACL,GAAG,UAAU;wBACb,KAAK,EAAE,IAAA,yBAAS,EAAC,UAAU,CAAC,KAAK,CAAC;qBACnC,CAAC;iBACH;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC;IA7CC,CAAC;IAEJ,MAAM,CAAC,MAAkC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CA0CF;AAEQ,gDAAkB"}
@@ -6,397 +6,10 @@ declare class StageAutoCompleter implements Ace.Completer {
6
6
  textCompleter: Ace.Completer;
7
7
  fields: CompletionWithServerInfo[];
8
8
  stageOperator: string | null;
9
- variableFields: CompletionWithServerInfo[];
10
9
  queryAutoCompleter: QueryAutoCompleter;
11
10
  constructor(version: string, textCompleter: Ace.Completer, fields: CompletionWithServerInfo[], stageOperator?: string | null);
12
- accumulators(): readonly [{
13
- readonly name: "$accumulator";
14
- readonly value: "$accumulator";
15
- readonly score: 1;
16
- readonly meta: "accumulator";
17
- readonly version: "4.4.0";
18
- }, {
19
- readonly name: "$addToSet";
20
- readonly value: "$addToSet";
21
- readonly score: 1;
22
- readonly meta: "accumulator";
23
- readonly version: "2.2.0";
24
- }, {
25
- readonly name: "$avg";
26
- readonly value: "$avg";
27
- readonly score: 1;
28
- readonly meta: "accumulator";
29
- readonly version: "2.2.0";
30
- readonly projectVersion: "3.2.0";
31
- }, {
32
- readonly name: "$bottom";
33
- readonly value: "$bottom";
34
- readonly score: 1;
35
- readonly meta: "accumulator:bottom-n";
36
- readonly version: "5.2.0";
37
- }, {
38
- readonly name: "$bottomN";
39
- readonly value: "$bottomN";
40
- readonly score: 1;
41
- readonly meta: "accumulator:bottom-n";
42
- readonly version: "5.2.0";
43
- }, {
44
- readonly name: "$covariancePop";
45
- readonly value: "$covariancePop";
46
- readonly score: 1;
47
- readonly meta: "accumulator:window";
48
- readonly version: "5.0.0";
49
- }, {
50
- readonly name: "$covarianceSamp";
51
- readonly value: "$covarianceSamp";
52
- readonly score: 1;
53
- readonly meta: "accumulator:window";
54
- readonly version: "5.0.0";
55
- }, {
56
- readonly name: "$count";
57
- readonly value: "$count";
58
- readonly score: 1;
59
- readonly meta: "accumulator";
60
- readonly version: "5.0.0";
61
- }, {
62
- readonly name: "$derivative";
63
- readonly value: "$derivative";
64
- readonly score: 1;
65
- readonly meta: "accumulator:window";
66
- readonly version: "5.0.0";
67
- }, {
68
- readonly name: "$denseRank";
69
- readonly value: "$denseRank";
70
- readonly score: 1;
71
- readonly meta: "accumulator:window";
72
- readonly version: "5.0.0";
73
- }, {
74
- readonly name: "$documentNumber";
75
- readonly value: "$documentNumber";
76
- readonly score: 1;
77
- readonly meta: "accumulator:window";
78
- readonly version: "5.0.0";
79
- }, {
80
- readonly name: "$expMovingAvg";
81
- readonly value: "$expMovingAvg";
82
- readonly score: 1;
83
- readonly meta: "accumulator:window";
84
- readonly version: "5.0.0";
85
- }, {
86
- readonly name: "$first";
87
- readonly value: "$first";
88
- readonly score: 1;
89
- readonly meta: "accumulator";
90
- readonly version: "2.2.0";
91
- }, {
92
- readonly name: "$firstN";
93
- readonly value: "$firstN";
94
- readonly score: 1;
95
- readonly meta: "accumulator";
96
- readonly version: "5.1.0";
97
- }, {
98
- readonly name: "$integral";
99
- readonly value: "$integral";
100
- readonly score: 1;
101
- readonly meta: "accumulator:window";
102
- readonly version: "5.0.0";
103
- }, {
104
- readonly name: "$last";
105
- readonly value: "$last";
106
- readonly score: 1;
107
- readonly meta: "accumulator";
108
- readonly version: "2.2.0";
109
- }, {
110
- readonly name: "$lastN";
111
- readonly value: "$lastN";
112
- readonly score: 1;
113
- readonly meta: "accumulator";
114
- readonly version: "5.2.0";
115
- }, {
116
- readonly name: "$max";
117
- readonly value: "$max";
118
- readonly score: 1;
119
- readonly meta: "accumulator";
120
- readonly version: "2.2.0";
121
- readonly projectVersion: "3.2.0";
122
- }, {
123
- readonly name: "$maxN";
124
- readonly value: "$maxN";
125
- readonly score: 1;
126
- readonly meta: "accumulator";
127
- readonly version: "5.2.0";
128
- }, {
129
- readonly name: "$min";
130
- readonly value: "$min";
131
- readonly score: 1;
132
- readonly meta: "accumulator";
133
- readonly version: "2.2.0";
134
- readonly projectVersion: "3.2.0";
135
- }, {
136
- readonly name: "$minN";
137
- readonly value: "$minN";
138
- readonly score: 1;
139
- readonly meta: "accumulator";
140
- readonly version: "5.2.0";
141
- }, {
142
- readonly name: "$push";
143
- readonly value: "$push";
144
- readonly score: 1;
145
- readonly meta: "accumulator";
146
- readonly version: "2.2.0";
147
- }, {
148
- readonly name: "$rank";
149
- readonly value: "$rank";
150
- readonly score: 1;
151
- readonly meta: "accumulator:window";
152
- readonly version: "5.0.0";
153
- }, {
154
- readonly name: "$stdDevPop";
155
- readonly value: "$stdDevPop";
156
- readonly score: 1;
157
- readonly meta: "accumulator";
158
- readonly version: "3.2.0";
159
- readonly projectVersion: "3.2.0";
160
- }, {
161
- readonly name: "$stdDevSamp";
162
- readonly value: "$stdDevSamp";
163
- readonly score: 1;
164
- readonly meta: "accumulator";
165
- readonly version: "3.2.0";
166
- readonly projectVersion: "3.2.0";
167
- }, {
168
- readonly name: "$shift";
169
- readonly value: "$shift";
170
- readonly score: 1;
171
- readonly meta: "accumulator:window";
172
- readonly version: "5.0.0";
173
- }, {
174
- readonly name: "$sum";
175
- readonly value: "$sum";
176
- readonly score: 1;
177
- readonly meta: "accumulator";
178
- readonly version: "2.2.0";
179
- readonly projectVersion: "3.2.0";
180
- }, {
181
- readonly name: "$top";
182
- readonly value: "$top";
183
- readonly score: 1;
184
- readonly meta: "accumulator:top-n";
185
- readonly version: "5.2.0";
186
- }, {
187
- readonly name: "$topN";
188
- readonly value: "$topN";
189
- readonly score: 1;
190
- readonly meta: "accumulator:top-n";
191
- readonly version: "5.2.0";
192
- }, {
193
- readonly name: "$locf";
194
- readonly value: "$locf";
195
- readonly score: 1;
196
- readonly meta: "accumulator:window";
197
- readonly version: "5.3.0";
198
- }, {
199
- readonly name: "$linearFill";
200
- readonly value: "$linearFill";
201
- readonly score: 1;
202
- readonly meta: "accumulator:window";
203
- readonly version: "5.3.0";
204
- }] | ({
205
- readonly name: "$accumulator";
206
- readonly value: "$accumulator";
207
- readonly score: 1;
208
- readonly meta: "accumulator";
209
- readonly version: "4.4.0";
210
- } | {
211
- readonly name: "$addToSet";
212
- readonly value: "$addToSet";
213
- readonly score: 1;
214
- readonly meta: "accumulator";
215
- readonly version: "2.2.0";
216
- } | {
217
- readonly name: "$avg";
218
- readonly value: "$avg";
219
- readonly score: 1;
220
- readonly meta: "accumulator";
221
- readonly version: "2.2.0";
222
- readonly projectVersion: "3.2.0";
223
- } | {
224
- readonly name: "$bottom";
225
- readonly value: "$bottom";
226
- readonly score: 1;
227
- readonly meta: "accumulator:bottom-n";
228
- readonly version: "5.2.0";
229
- } | {
230
- readonly name: "$bottomN";
231
- readonly value: "$bottomN";
232
- readonly score: 1;
233
- readonly meta: "accumulator:bottom-n";
234
- readonly version: "5.2.0";
235
- } | {
236
- readonly name: "$covariancePop";
237
- readonly value: "$covariancePop";
238
- readonly score: 1;
239
- readonly meta: "accumulator:window";
240
- readonly version: "5.0.0";
241
- } | {
242
- readonly name: "$covarianceSamp";
243
- readonly value: "$covarianceSamp";
244
- readonly score: 1;
245
- readonly meta: "accumulator:window";
246
- readonly version: "5.0.0";
247
- } | {
248
- readonly name: "$count";
249
- readonly value: "$count";
250
- readonly score: 1;
251
- readonly meta: "accumulator";
252
- readonly version: "5.0.0";
253
- } | {
254
- readonly name: "$derivative";
255
- readonly value: "$derivative";
256
- readonly score: 1;
257
- readonly meta: "accumulator:window";
258
- readonly version: "5.0.0";
259
- } | {
260
- readonly name: "$denseRank";
261
- readonly value: "$denseRank";
262
- readonly score: 1;
263
- readonly meta: "accumulator:window";
264
- readonly version: "5.0.0";
265
- } | {
266
- readonly name: "$documentNumber";
267
- readonly value: "$documentNumber";
268
- readonly score: 1;
269
- readonly meta: "accumulator:window";
270
- readonly version: "5.0.0";
271
- } | {
272
- readonly name: "$expMovingAvg";
273
- readonly value: "$expMovingAvg";
274
- readonly score: 1;
275
- readonly meta: "accumulator:window";
276
- readonly version: "5.0.0";
277
- } | {
278
- readonly name: "$first";
279
- readonly value: "$first";
280
- readonly score: 1;
281
- readonly meta: "accumulator";
282
- readonly version: "2.2.0";
283
- } | {
284
- readonly name: "$firstN";
285
- readonly value: "$firstN";
286
- readonly score: 1;
287
- readonly meta: "accumulator";
288
- readonly version: "5.1.0";
289
- } | {
290
- readonly name: "$integral";
291
- readonly value: "$integral";
292
- readonly score: 1;
293
- readonly meta: "accumulator:window";
294
- readonly version: "5.0.0";
295
- } | {
296
- readonly name: "$last";
297
- readonly value: "$last";
298
- readonly score: 1;
299
- readonly meta: "accumulator";
300
- readonly version: "2.2.0";
301
- } | {
302
- readonly name: "$lastN";
303
- readonly value: "$lastN";
304
- readonly score: 1;
305
- readonly meta: "accumulator";
306
- readonly version: "5.2.0";
307
- } | {
308
- readonly name: "$max";
309
- readonly value: "$max";
310
- readonly score: 1;
311
- readonly meta: "accumulator";
312
- readonly version: "2.2.0";
313
- readonly projectVersion: "3.2.0";
314
- } | {
315
- readonly name: "$maxN";
316
- readonly value: "$maxN";
317
- readonly score: 1;
318
- readonly meta: "accumulator";
319
- readonly version: "5.2.0";
320
- } | {
321
- readonly name: "$min";
322
- readonly value: "$min";
323
- readonly score: 1;
324
- readonly meta: "accumulator";
325
- readonly version: "2.2.0";
326
- readonly projectVersion: "3.2.0";
327
- } | {
328
- readonly name: "$minN";
329
- readonly value: "$minN";
330
- readonly score: 1;
331
- readonly meta: "accumulator";
332
- readonly version: "5.2.0";
333
- } | {
334
- readonly name: "$push";
335
- readonly value: "$push";
336
- readonly score: 1;
337
- readonly meta: "accumulator";
338
- readonly version: "2.2.0";
339
- } | {
340
- readonly name: "$rank";
341
- readonly value: "$rank";
342
- readonly score: 1;
343
- readonly meta: "accumulator:window";
344
- readonly version: "5.0.0";
345
- } | {
346
- readonly name: "$stdDevPop";
347
- readonly value: "$stdDevPop";
348
- readonly score: 1;
349
- readonly meta: "accumulator";
350
- readonly version: "3.2.0";
351
- readonly projectVersion: "3.2.0";
352
- } | {
353
- readonly name: "$stdDevSamp";
354
- readonly value: "$stdDevSamp";
355
- readonly score: 1;
356
- readonly meta: "accumulator";
357
- readonly version: "3.2.0";
358
- readonly projectVersion: "3.2.0";
359
- } | {
360
- readonly name: "$shift";
361
- readonly value: "$shift";
362
- readonly score: 1;
363
- readonly meta: "accumulator:window";
364
- readonly version: "5.0.0";
365
- } | {
366
- readonly name: "$sum";
367
- readonly value: "$sum";
368
- readonly score: 1;
369
- readonly meta: "accumulator";
370
- readonly version: "2.2.0";
371
- readonly projectVersion: "3.2.0";
372
- } | {
373
- readonly name: "$top";
374
- readonly value: "$top";
375
- readonly score: 1;
376
- readonly meta: "accumulator:top-n";
377
- readonly version: "5.2.0";
378
- } | {
379
- readonly name: "$topN";
380
- readonly value: "$topN";
381
- readonly score: 1;
382
- readonly meta: "accumulator:top-n";
383
- readonly version: "5.2.0";
384
- } | {
385
- readonly name: "$locf";
386
- readonly value: "$locf";
387
- readonly score: 1;
388
- readonly meta: "accumulator:window";
389
- readonly version: "5.3.0";
390
- } | {
391
- readonly name: "$linearFill";
392
- readonly value: "$linearFill";
393
- readonly score: 1;
394
- readonly meta: "accumulator:window";
395
- readonly version: "5.3.0";
396
- })[];
397
11
  update(fields: CompletionWithServerInfo[], stageOperator: string | null, severVersion?: string): void;
398
12
  updateStageOperator(stageOperator: string | null): void;
399
- generateVariableFields(fields: CompletionWithServerInfo[]): CompletionWithServerInfo[];
400
13
  getCompletions: Ace.Completer['getCompletions'];
401
14
  }
402
15
  export { StageAutoCompleter };
@@ -1 +1 @@
1
- {"version":3,"file":"stage-autocompleter.d.ts","sourceRoot":"","sources":["../../src/ace/stage-autocompleter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAmCzD,cAAM,kBAAmB,YAAW,GAAG,CAAC,SAAS;IAItC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,GAAG,CAAC,SAAS;IAC5B,MAAM,EAAE,wBAAwB,EAAE;IAClC,aAAa,EAAE,MAAM,GAAG,IAAI;IANrC,cAAc,EAAE,wBAAwB,EAAE,CAAC;IAC3C,kBAAkB,EAAE,kBAAkB,CAAC;gBAE9B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,CAAC,SAAS,EAC5B,MAAM,EAAE,wBAAwB,EAAE,EAClC,aAAa,GAAE,MAAM,GAAG,IAAW;IAU5C,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgBZ,MAAM,CACJ,MAAM,EAAE,wBAAwB,EAAE,EAClC,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,YAAY,CAAC,EAAE,MAAM;IASvB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAIhD,sBAAsB,CACpB,MAAM,EAAE,wBAAwB,EAAE,GACjC,wBAAwB,EAAE;IAY7B,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAoD7C;CACH;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"stage-autocompleter.d.ts","sourceRoot":"","sources":["../../src/ace/stage-autocompleter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AA4BzD,cAAM,kBAAmB,YAAW,GAAG,CAAC,SAAS;IAGtC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,GAAG,CAAC,SAAS;IAC5B,MAAM,EAAE,wBAAwB,EAAE;IAClC,aAAa,EAAE,MAAM,GAAG,IAAI;IALrC,kBAAkB,EAAE,kBAAkB,CAAC;gBAE9B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,CAAC,SAAS,EAC5B,MAAM,EAAE,wBAAwB,EAAE,EAClC,aAAa,GAAE,MAAM,GAAG,IAAW;IAS5C,MAAM,CACJ,MAAM,EAAE,wBAAwB,EAAE,EAClC,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,YAAY,CAAC,EAAE,MAAM;IAQvB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAIhD,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAqE7C;CACH;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.StageAutoCompleter = void 0;
7
- const semver_1 = __importDefault(require("semver"));
8
- const mongodb_constants_1 = require("@mongodb-js/mongodb-constants");
9
- const util_1 = require("./util");
10
4
  const query_autocompleter_1 = require("./query-autocompleter");
5
+ const autocompleter_1 = require("../autocompleter");
6
+ const util_1 = require("./util");
11
7
  const PROJECT = '$project';
12
8
  const GROUP = '$group';
13
9
  const MATCH = '$match';
14
10
  const DOLLAR = '$';
15
- const BASE_COMPLETIONS = [].concat(mongodb_constants_1.EXPRESSION_OPERATORS, mongodb_constants_1.CONVERSION_OPERATORS, mongodb_constants_1.BSON_TYPES);
16
11
  class StageAutoCompleter {
17
12
  constructor(version, textCompleter, fields, stageOperator = null) {
18
13
  this.version = version;
@@ -20,6 +15,7 @@ class StageAutoCompleter {
20
15
  this.fields = fields;
21
16
  this.stageOperator = stageOperator;
22
17
  this.getCompletions = (editor, session, position, prefix, done) => {
18
+ var _a;
23
19
  if (prefix === '') {
24
20
  return done(null, []);
25
21
  }
@@ -28,8 +24,11 @@ class StageAutoCompleter {
28
24
  return done(null, []);
29
25
  }
30
26
  if (currentToken.type === 'string') {
31
- if (prefix === DOLLAR) {
32
- return done(null, this.variableFields);
27
+ if (prefix.startsWith(DOLLAR)) {
28
+ return done(null, (0, autocompleter_1.completer)(prefix, {
29
+ fields: (0, util_1.getNames)(this.fields),
30
+ meta: ['field:reference'],
31
+ }));
33
32
  }
34
33
  return this.textCompleter.getCompletions(editor, session, position, prefix, done);
35
34
  }
@@ -40,32 +39,25 @@ class StageAutoCompleter {
40
39
  this.queryAutoCompleter.getCompletions(editor, session, position, prefix, done);
41
40
  }
42
41
  else {
43
- const expressions = BASE_COMPLETIONS.concat(this.accumulators()).concat(this.fields);
44
- return done(null, (0, util_1.filter)(this.version, expressions, prefix));
42
+ return done(null, (0, autocompleter_1.completer)(prefix, {
43
+ serverVersion: this.version,
44
+ fields: (0, util_1.getNames)(this.fields),
45
+ meta: [
46
+ 'expr:*',
47
+ 'conv',
48
+ 'bson',
49
+ 'field:identifier',
50
+ ...([PROJECT, GROUP].includes((_a = this.stageOperator) !== null && _a !== void 0 ? _a : '')
51
+ ? ['accumulator', 'accumulator:*']
52
+ : []),
53
+ ],
54
+ }));
45
55
  }
46
56
  };
47
- this.variableFields = this.generateVariableFields(fields);
48
57
  this.queryAutoCompleter = new query_autocompleter_1.QueryAutoCompleter(version, textCompleter, fields);
49
58
  }
50
- accumulators() {
51
- if (this.stageOperator) {
52
- if (this.stageOperator === PROJECT) {
53
- return mongodb_constants_1.ACCUMULATORS.filter((acc) => {
54
- if ('projectVersion' in acc) {
55
- return semver_1.default.gte(this.version, acc.projectVersion);
56
- }
57
- return false;
58
- });
59
- }
60
- else if (this.stageOperator === GROUP) {
61
- return mongodb_constants_1.ACCUMULATORS;
62
- }
63
- }
64
- return [];
65
- }
66
59
  update(fields, stageOperator, severVersion) {
67
60
  this.fields = fields;
68
- this.variableFields = this.generateVariableFields(fields);
69
61
  this.queryAutoCompleter.update(fields);
70
62
  this.stageOperator = stageOperator;
71
63
  this.version = severVersion !== null && severVersion !== void 0 ? severVersion : this.version;
@@ -73,17 +65,6 @@ class StageAutoCompleter {
73
65
  updateStageOperator(stageOperator) {
74
66
  this.stageOperator = stageOperator;
75
67
  }
76
- generateVariableFields(fields) {
77
- return fields.map((field) => {
78
- return {
79
- ...(field.name && { name: `$${field.name.replace(/"/g, '')}` }),
80
- value: `$${field.value.replace(/"/g, '')}`,
81
- meta: field.meta,
82
- version: field.version,
83
- score: 1,
84
- };
85
- });
86
- }
87
68
  }
88
69
  exports.StageAutoCompleter = StageAutoCompleter;
89
70
  //# sourceMappingURL=stage-autocompleter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stage-autocompleter.js","sourceRoot":"","sources":["../../src/ace/stage-autocompleter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage-autocompleter.js","sourceRoot":"","sources":["../../src/ace/stage-autocompleter.ts"],"names":[],"mappings":"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"}