@mongodb-js/compass-editor 0.7.0 → 0.9.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 (61) hide show
  1. package/dist/autocompleter.d.ts +12 -0
  2. package/dist/autocompleter.d.ts.map +1 -1
  3. package/dist/index.d.ts +2 -13
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +10 -38
  6. package/dist/index.js.map +1 -1
  7. package/dist/json-editor.d.ts +52 -2
  8. package/dist/json-editor.d.ts.map +1 -1
  9. package/dist/json-editor.js +99 -58
  10. package/dist/json-editor.js.map +1 -1
  11. package/dist/types.d.ts +3 -36
  12. package/dist/types.d.ts.map +1 -1
  13. package/package.json +8 -10
  14. package/dist/ace/aggregation-autocompleter.d.ts +0 -15
  15. package/dist/ace/aggregation-autocompleter.d.ts.map +0 -1
  16. package/dist/ace/aggregation-autocompleter.js +0 -109
  17. package/dist/ace/aggregation-autocompleter.js.map +0 -1
  18. package/dist/ace/index.d.ts +0 -2
  19. package/dist/ace/index.d.ts.map +0 -1
  20. package/dist/ace/index.js +0 -37
  21. package/dist/ace/index.js.map +0 -1
  22. package/dist/ace/mode.d.ts +0 -2
  23. package/dist/ace/mode.d.ts.map +0 -1
  24. package/dist/ace/mode.js +0 -67
  25. package/dist/ace/mode.js.map +0 -1
  26. package/dist/ace/query-autocompleter.d.ts +0 -12
  27. package/dist/ace/query-autocompleter.d.ts.map +0 -1
  28. package/dist/ace/query-autocompleter.js +0 -38
  29. package/dist/ace/query-autocompleter.js.map +0 -1
  30. package/dist/ace/stage-autocompleter.d.ts +0 -16
  31. package/dist/ace/stage-autocompleter.d.ts.map +0 -1
  32. package/dist/ace/stage-autocompleter.js +0 -70
  33. package/dist/ace/stage-autocompleter.js.map +0 -1
  34. package/dist/ace/theme.d.ts +0 -4
  35. package/dist/ace/theme.d.ts.map +0 -1
  36. package/dist/ace/theme.js +0 -297
  37. package/dist/ace/theme.js.map +0 -1
  38. package/dist/ace/util.d.ts +0 -3
  39. package/dist/ace/util.d.ts.map +0 -1
  40. package/dist/ace/util.js +0 -12
  41. package/dist/ace/util.js.map +0 -1
  42. package/dist/ace/validation-autocompleter.d.ts +0 -12
  43. package/dist/ace/validation-autocompleter.d.ts.map +0 -1
  44. package/dist/ace/validation-autocompleter.js +0 -36
  45. package/dist/ace/validation-autocompleter.js.map +0 -1
  46. package/dist/base-editor.d.ts +0 -36
  47. package/dist/base-editor.d.ts.map +0 -1
  48. package/dist/base-editor.js +0 -156
  49. package/dist/base-editor.js.map +0 -1
  50. package/dist/inline-editor.d.ts +0 -8
  51. package/dist/inline-editor.d.ts.map +0 -1
  52. package/dist/inline-editor.js +0 -21
  53. package/dist/inline-editor.js.map +0 -1
  54. package/dist/multiline-editor.d.ts +0 -18
  55. package/dist/multiline-editor.d.ts.map +0 -1
  56. package/dist/multiline-editor.js +0 -83
  57. package/dist/multiline-editor.js.map +0 -1
  58. package/dist/syntax-highlight.d.ts +0 -10
  59. package/dist/syntax-highlight.d.ts.map +0 -1
  60. package/dist/syntax-highlight.js +0 -26
  61. package/dist/syntax-highlight.js.map +0 -1
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StageAutoCompleter = void 0;
4
- const query_autocompleter_1 = require("./query-autocompleter");
5
- const autocompleter_1 = require("../autocompleter");
6
- const util_1 = require("./util");
7
- const PROJECT = '$project';
8
- const GROUP = '$group';
9
- const MATCH = '$match';
10
- const DOLLAR = '$';
11
- class StageAutoCompleter {
12
- constructor(version, textCompleter, fields, stageOperator = null) {
13
- this.version = version;
14
- this.textCompleter = textCompleter;
15
- this.fields = fields;
16
- this.stageOperator = stageOperator;
17
- this.getCompletions = (editor, session, position, prefix, done) => {
18
- var _a;
19
- if (prefix === '') {
20
- return done(null, []);
21
- }
22
- const currentToken = session.getTokenAt(position.row, position.column);
23
- if (!currentToken) {
24
- return done(null, []);
25
- }
26
- if (currentToken.type === 'string') {
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
- }));
32
- }
33
- return this.textCompleter.getCompletions(editor, session, position, prefix, done);
34
- }
35
- if (currentToken === null || currentToken === void 0 ? void 0 : currentToken.type.includes('comment')) {
36
- return done(null, []);
37
- }
38
- if (this.stageOperator && this.stageOperator === MATCH) {
39
- this.queryAutoCompleter.getCompletions(editor, session, position, prefix, done);
40
- }
41
- else {
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
- }));
55
- }
56
- };
57
- this.queryAutoCompleter = new query_autocompleter_1.QueryAutoCompleter(version, textCompleter, fields);
58
- }
59
- update(fields, stageOperator, severVersion) {
60
- this.fields = fields;
61
- this.queryAutoCompleter.update(fields);
62
- this.stageOperator = stageOperator;
63
- this.version = severVersion !== null && severVersion !== void 0 ? severVersion : this.version;
64
- }
65
- updateStageOperator(stageOperator) {
66
- this.stageOperator = stageOperator;
67
- }
68
- }
69
- exports.StageAutoCompleter = StageAutoCompleter;
70
- //# sourceMappingURL=stage-autocompleter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stage-autocompleter.js","sourceRoot":"","sources":["../../src/ace/stage-autocompleter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- declare const mongodbAceThemeCssClass = "ace-mongodb";
2
- declare const mongodbAceThemeCssText: string;
3
- export { mongodbAceThemeCssClass, mongodbAceThemeCssText };
4
- //# sourceMappingURL=theme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ace/theme.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,uBAAuB,gBAAgB,CAAC;AAW9C,QAAA,MAAM,sBAAsB,QA6Q3B,CAAC;AAgCF,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC"}
package/dist/ace/theme.js DELETED
@@ -1,297 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mongodbAceThemeCssText = exports.mongodbAceThemeCssClass = void 0;
4
- const compass_components_1 = require("@mongodb-js/compass-components");
5
- const mongodbAceThemeCssClass = 'ace-mongodb';
6
- exports.mongodbAceThemeCssClass = mongodbAceThemeCssClass;
7
- const errorColor = encodeURIComponent(compass_components_1.palette.red.base);
8
- const errorColorDarkMode = encodeURIComponent(compass_components_1.palette.red.light1);
9
- const foldColor = encodeURIComponent(compass_components_1.palette.black);
10
- const foldColorDarkMode = encodeURIComponent(compass_components_1.palette.white);
11
- const css = String.raw;
12
- const mongodbAceThemeCssText = css `
13
- .ace-mongodb {
14
- --editor-color: ${compass_components_1.palette.black};
15
- --editor-background: ${compass_components_1.palette.gray.light3};
16
-
17
- --gutter-color: ${compass_components_1.palette.gray.base};
18
- --gutter-background: ${compass_components_1.palette.gray.light3};
19
- --gutter-active-line-background: ${compass_components_1.palette.gray.light2};
20
-
21
- --cursor-color: ${compass_components_1.palette.gray.base};
22
-
23
- --print-margin-background: ${compass_components_1.palette.gray.light2};
24
-
25
- --indent-guide-from: transparent;
26
- --indent-guide-to: ${compass_components_1.palette.gray.light1};
27
-
28
- --marker-active-line-background: ${compass_components_1.palette.gray.light2};
29
- --marker-focus-active-line-background: ${compass_components_1.palette.gray.light2};
30
- --marker-selection-background: ${compass_components_1.palette.blue.light2};
31
- --marker-step-background: ${compass_components_1.palette.yellow.light2};
32
- --marker-stack-background: ${compass_components_1.palette.green.base};
33
- --marker-bracket-border-color: ${compass_components_1.palette.gray.light1};
34
- --marker-selected-word-background: transparent;
35
-
36
- --keyword-color: ${compass_components_1.palette.gray.base};
37
- --string-color: ${compass_components_1.palette.blue.base};
38
- --string-regexp-color: ${compass_components_1.palette.blue.base};
39
- --boolean-color: ${compass_components_1.palette.blue.base};
40
- --constant-numeric-color: ${compass_components_1.palette.blue.base};
41
- --constant-builtin-color: ${compass_components_1.palette.blue.light1};
42
- --variable-class-color: ${compass_components_1.palette.green.dark2};
43
- --variable-instance-color: ${compass_components_1.palette.green.dark2};
44
- --variable-language-color: ${compass_components_1.palette.blue.light1};
45
- --support-function-color: ${compass_components_1.palette.blue.light1};
46
- --comment-color: ${compass_components_1.palette.gray.base};
47
- --invisible-color: ${compass_components_1.palette.gray.light1};
48
-
49
- --autocomplete-color: ${compass_components_1.palette.black};
50
- --autocomplete-background: ${compass_components_1.palette.gray.light3};
51
- --autocomplete-border-color: ${compass_components_1.palette.gray.light2};
52
- --autocompletion-highlight-color: ${compass_components_1.palette.green.dark1};
53
- --autocompletion-marker-active-line-background: ${compass_components_1.palette.gray.light2};
54
- }
55
-
56
- .ace_dark.ace-mongodb {
57
- --editor-color: ${compass_components_1.palette.gray.light3};
58
- --editor-background: ${compass_components_1.palette.gray.dark4};
59
-
60
- --gutter-color: ${compass_components_1.palette.gray.light3};
61
- --gutter-background: ${compass_components_1.palette.gray.dark4};
62
- --gutter-active-line-background: ${compass_components_1.palette.gray.dark2};
63
-
64
- --cursor-color: ${compass_components_1.palette.green.base};
65
-
66
- --print-margin-background: ${compass_components_1.palette.gray.light2};
67
-
68
- --indent-guide-from: transparent;
69
- --indent-guide-to: ${compass_components_1.palette.gray.light1};
70
-
71
- --marker-active-line-background: ${compass_components_1.palette.gray.dark2};
72
- --marker-focus-active-line-background: ${compass_components_1.palette.gray.dark2};
73
- --marker-selection-background: ${compass_components_1.palette.gray.dark1};
74
- --marker-step-background: ${compass_components_1.palette.yellow.light2};
75
- --marker-stack-background: ${compass_components_1.palette.green.base};
76
- --marker-bracket-border-color: ${compass_components_1.palette.gray.light1};
77
- --marker-selected-word-background: transparent;
78
-
79
- --keyword-color: #ff7dc3;
80
- --string-color: #35de7b;
81
- --string-regexp-color: #35de7b;
82
- --boolean-color: #2dc4ff;
83
- --constant-numeric-color: #ff6f44;
84
- --constant-builtin-color: ${compass_components_1.palette.blue.light1};
85
- --variable-class-color: #a5e3ff;
86
- --variable-instance-color: #a5e3ff;
87
- --variable-language-color: ${compass_components_1.palette.blue.light1};
88
- --support-function-color: ${compass_components_1.palette.blue.light1};
89
- --comment-color: ${compass_components_1.palette.gray.base};
90
- --invisible-color: ${compass_components_1.palette.gray.dark2};
91
-
92
- --autocomplete-color: ${compass_components_1.palette.gray.light1};
93
- --autocomplete-background: ${compass_components_1.palette.gray.dark4};
94
- --autocomplete-border-color: ${compass_components_1.palette.gray.dark1};
95
- --autocompletion-highlight-color: ${compass_components_1.palette.gray.light3};
96
- --autocompletion-marker-active-line-background: ${compass_components_1.palette.gray.dark2};
97
- }
98
-
99
- .ace-mongodb.ace_editor {
100
- color: var(--editor-color);
101
- background: var(--editor-background);
102
- line-height: inherit;
103
- min-height: inherit;
104
- }
105
- .inline-editor.ace-mongodb.ace_editor {
106
- background: transparent;
107
- }
108
- .ace-mongodb .ace_placeholder {
109
- margin: 0;
110
- font-family: inherit;
111
- font-size: inherit;
112
- font-style: inherit !important;
113
- transform: none;
114
- opacity: 1;
115
- /* To match ace editor text padding */
116
- padding: 0 4px !important;
117
- }
118
- .ace-mongodb .ace_gutter {
119
- color: var(--gutter-color);
120
- background: var(--gutter-background);
121
- }
122
- .inline-editor.ace-mongodb .ace_gutter {
123
- background: inherit;
124
- }
125
- .ace-mongodb .ace_gutter-cell {
126
- /* gutter left padding has to account for error annotation icon size */
127
- padding-left: ${compass_components_1.spacing[3]}px;
128
- }
129
- .ace-mongodb .ace_gutter-cell.ace_error {
130
- /* leafygreen XWithCircle */
131
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${errorColor}' fill-rule='evenodd' d='M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm1.414-9.828a1 1 0 1 1 1.414 1.414L9.414 8l1.414 1.414a1 1 0 1 1-1.414 1.414L8 9.414l-1.414 1.414a1 1 0 1 1-1.414-1.414L6.586 8 5.172 6.586a1 1 0 0 1 1.414-1.414L8 6.586l1.414-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E%0A");
132
- background-size: 12px;
133
- background-repeat: no-repeat;
134
- background-position: ${compass_components_1.spacing[1] / 2}px center;
135
- }
136
- /* To change svg foll color, we have to completely replace the background url, this can't be done with css custom properties */
137
- .ace_dark.ace-mongodb .ace_gutter-cell.ace_error {
138
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${errorColorDarkMode}' fill-rule='evenodd' d='M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm1.414-9.828a1 1 0 1 1 1.414 1.414L9.414 8l1.414 1.414a1 1 0 1 1-1.414 1.414L8 9.414l-1.414 1.414a1 1 0 1 1-1.414-1.414L6.586 8 5.172 6.586a1 1 0 0 1 1.414-1.414L8 6.586l1.414-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E%0A");
139
- }
140
- .ace-mongodb .ace_fold-widget {
141
- /* leafygreen CaretDown */
142
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${foldColor}' d='M8.679 10.796a.554.554 0 0 1-.858 0L4.64 6.976C4.32 6.594 4.582 6 5.069 6h6.362c.487 0 .748.594.43.976l-3.182 3.82z'/%3E%3C/svg%3E%0A");
143
- background-size: 12px;
144
- background-repeat: no-repeat;
145
- background-position: center;
146
- }
147
- .ace_dark.ace-mongodb .ace_fold-widget {
148
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${foldColorDarkMode}' d='M8.679 10.796a.554.554 0 0 1-.858 0L4.64 6.976C4.32 6.594 4.582 6 5.069 6h6.362c.487 0 .748.594.43.976l-3.182 3.82z'/%3E%3C/svg%3E%0A");
149
- }
150
- .ace-mongodb .ace_fold-widget.ace_closed {
151
- /* leafygreen CaretRight */
152
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${foldColor}' d='M10.796 7.321a.554.554 0 0 1 0 .858l-3.82 3.181c-.382.319-.976.058-.976-.429V4.57c0-.487.594-.748.976-.43l3.82 3.182z'/%3E%3C/svg%3E%0A");
153
- }
154
- .ace_dark.ace-mongodb .ace_fold-widget.ace_closed {
155
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${foldColorDarkMode}' d='M10.796 7.321a.554.554 0 0 1 0 .858l-3.82 3.181c-.382.319-.976.058-.976-.429V4.57c0-.487.594-.748.976-.43l3.82 3.182z'/%3E%3C/svg%3E%0A");
156
- }
157
- .ace-mongodb .ace_keyword {
158
- color: var(--keyword-color);
159
- font-weight: normal;
160
- }
161
- .ace-mongodb .ace_string {
162
- color: var(--string-color);
163
- }
164
- .ace-mongodb .ace_boolean {
165
- color: var(--boolean-color);
166
- font-weight: normal;
167
- }
168
- .ace-mongodb .ace_constant.ace_numeric {
169
- color: var(--constant-numeric-color);
170
- }
171
- .ace-mongodb .ace_string.ace_regexp {
172
- color: var(--string-regexp-color);
173
- }
174
- .ace-mongodb .ace_variable.ace_class {
175
- color: var(--variable-class-color);
176
- }
177
- .ace-mongodb .ace_constant.ace_buildin {
178
- color: var(--constant-builtin-color);
179
- }
180
- .ace-mongodb .ace_support.ace_function {
181
- color: var(--support-function-color);
182
- }
183
- .ace-mongodb .ace_comment {
184
- color: var(--comment-color);
185
- font-style: italic;
186
- }
187
- .ace-mongodb .ace_variable.ace_language {
188
- color: var(--variable-language-color);
189
- }
190
- .ace-mongodb .ace_paren {
191
- font-weight: normal;
192
- }
193
- .ace-mongodb .ace_variable.ace_instance {
194
- color: var(--variable-instance-color);
195
- }
196
- .ace-mongodb .ace_constant.ace_language {
197
- font-weight: bold;
198
- }
199
- .ace-mongodb .ace_cursor {
200
- background: transparent;
201
- color: var(--cursor-color);
202
- border-color: var(--cursor-color);
203
- }
204
- .ace-mongodb .ace_marker-layer .ace_active-line {
205
- background: var(--marker-active-line-background);
206
- }
207
- .ace-mongodb.ace_focus .ace_marker-layer .ace_active-line {
208
- background: var(--marker-focus-active-line-background);
209
- }
210
- .ace-mongodb .ace_marker-layer .ace_selection {
211
- background: var(--marker-selection-background);
212
- }
213
- .ace-mongodb.ace_nobold .ace_line > span {
214
- font-weight: normal !important;
215
- }
216
- .ace-mongodb .ace_marker-layer .ace_step {
217
- background: var(--marker-step-background);
218
- }
219
- .ace-mongodb .ace_marker-layer .ace_stack {
220
- background: var(--marker-stack-background);
221
- }
222
- .ace-mongodb .ace_marker-layer .ace_bracket {
223
- margin: 0px;
224
- border: 1px solid var(--marker-bracket-border-color);
225
- }
226
- .ace-mongodb .ace_gutter-active-line {
227
- background: var(--gutter-active-line-background);
228
- }
229
- .ace-mongodb .ace_marker-layer .ace_selected-word {
230
- background: var(--marker-selected-word-background);
231
- border: none;
232
- }
233
- .ace-mongodb .ace_invisible {
234
- color: var(--invisible-color);
235
- }
236
- .ace-mongodb .ace_print-margin {
237
- width: 1px;
238
- background: var(--print-margin-background);
239
- }
240
- .ace-mongodb .ace_hidden-cursors {
241
- opacity: 0;
242
- }
243
- .ace-mongodb .ace_indent-guide {
244
- background: linear-gradient(
245
- to top,
246
- var(--indent-guide-from) 0%,
247
- var(--indent-guide-from) 50%,
248
- var(--indent-guide-to) 50%,
249
- var(--indent-guide-to) 100%
250
- )
251
- right repeat-y;
252
- background-size: 1px 2px;
253
- }
254
- .ace-mongodb .ace_scroller.ace_scroll-left {
255
- /* Hide ace's default left box shadow when scrolled. */
256
- box-shadow: none;
257
- }
258
-
259
- /* Autocomplete colors */
260
-
261
- /* duplicating class names to override default ace styles */
262
- .ace-mongodb.ace-mongodb.ace_editor.ace_autocomplete {
263
- box-sizing: border-box;
264
- border: 1px solid var(--autocomplete-border-color);
265
- background-color: var(--autocomplete-background);
266
- box-shadow: 0 5px 8px 0 rgba(0, 0, 0, 0.5);
267
- color: var(--autocomplete-color);
268
- /* line-height: 24px; */
269
- }
270
- .ace-mongodb.ace-mongodb.ace_editor.ace_autocomplete
271
- .ace_completion-highlight {
272
- color: var(--autocompletion-highlight-color);
273
- text-shadow: none;
274
- font-weight: bold;
275
- }
276
- .ace-mongodb.ace-mongodb.ace_editor.ace_autocomplete
277
- .ace_marker-layer
278
- .ace_active-line {
279
- background-color: var(--autocompletion-marker-active-line-background);
280
- }
281
- `;
282
- exports.mongodbAceThemeCssText = mongodbAceThemeCssText;
283
- ace.define('ace/theme/mongodb', ['require', 'exports', 'module', 'ace/lib/dom'], function (acequire, exports) {
284
- exports.isDark = false;
285
- exports.cssClass = mongodbAceThemeCssClass;
286
- exports.cssText = mongodbAceThemeCssText;
287
- const dom = acequire('../lib/dom');
288
- dom.importCssString(exports.cssText, exports.cssClass);
289
- });
290
- ace.define('ace/theme/mongodb-dark', ['require', 'exports', 'module', 'ace/lib/dom'], function (acequire, exports) {
291
- exports.isDark = true;
292
- exports.cssClass = mongodbAceThemeCssClass;
293
- exports.cssText = mongodbAceThemeCssText;
294
- const dom = acequire('../lib/dom');
295
- dom.importCssString(exports.cssText, exports.cssClass);
296
- });
297
- //# sourceMappingURL=theme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ace/theme.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { CompletionWithServerInfo } from '../types';
2
- export declare function getNames(completions: CompletionWithServerInfo[]): string[];
3
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/ace/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEzD,wBAAgB,QAAQ,CAAC,WAAW,EAAE,wBAAwB,EAAE,GAAG,MAAM,EAAE,CAU1E"}
package/dist/ace/util.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNames = void 0;
4
- function getNames(completions) {
5
- return completions
6
- .filter((completion) => {
7
- return !!completion.name;
8
- })
9
- .map((completion) => completion.name);
10
- }
11
- exports.getNames = getNames;
12
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/ace/util.ts"],"names":[],"mappings":";;;AAEA,SAAgB,QAAQ,CAAC,WAAuC;IAC9D,OAAO,WAAW;SACf,MAAM,CACL,CACE,UAAU,EACiD,EAAE;QAC7D,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;IAC3B,CAAC,CACF;SACA,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAVD,4BAUC"}
@@ -1,12 +0,0 @@
1
- import type { Ace } from 'ace-builds';
2
- import type { CompletionWithServerInfo } from '../types';
3
- declare class ValidationAutoCompleter implements Ace.Completer {
4
- version: string;
5
- textCompleter: Ace.Completer;
6
- fields: CompletionWithServerInfo[];
7
- constructor(version: string, textCompleter: Ace.Completer, fields: CompletionWithServerInfo[]);
8
- update(fields: CompletionWithServerInfo[]): void;
9
- getCompletions: Ace.Completer['getCompletions'];
10
- }
11
- export { ValidationAutoCompleter };
12
- //# sourceMappingURL=validation-autocompleter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation-autocompleter.d.ts","sourceRoot":"","sources":["../../src/ace/validation-autocompleter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,cAAM,uBAAwB,YAAW,GAAG,CAAC,SAAS;IAE3C,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;IAO3C,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE;IAIzC,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CA+B7C;CACH;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ValidationAutoCompleter = void 0;
4
- const autocompleter_1 = require("../autocompleter");
5
- const util_1 = require("./util");
6
- class ValidationAutoCompleter {
7
- constructor(version, textCompleter, fields) {
8
- this.version = version;
9
- this.textCompleter = textCompleter;
10
- this.fields = fields;
11
- this.getCompletions = (_editor, session, position, prefix, done) => {
12
- if (prefix === '')
13
- return done(null, []);
14
- const currentToken = session.getTokenAt(position.row, position.column);
15
- if ((currentToken === null || currentToken === void 0 ? void 0 : currentToken.type) === 'string') {
16
- return done(null, (0, autocompleter_1.completer)(prefix, {
17
- serverVersion: this.version,
18
- fields: (0, util_1.getNames)(this.fields),
19
- meta: ['bson-type-aliases', 'field:identifier'],
20
- }));
21
- }
22
- return done(null, (0, autocompleter_1.completer)(prefix, {
23
- serverVersion: this.version,
24
- meta: ['query', 'bson', 'json-schema'],
25
- }));
26
- };
27
- this.version = version;
28
- this.textCompleter = textCompleter;
29
- this.fields = fields;
30
- }
31
- update(fields) {
32
- this.fields = fields;
33
- }
34
- }
35
- exports.ValidationAutoCompleter = ValidationAutoCompleter;
36
- //# sourceMappingURL=validation-autocompleter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation-autocompleter.js","sourceRoot":"","sources":["../../src/ace/validation-autocompleter.ts"],"names":[],"mappings":";;;AACA,oDAA6C;AAE7C,iCAAkC;AAKlC,MAAM,uBAAuB;IAC3B,YACS,OAAe,EACf,aAA4B,EAC5B,MAAkC;QAFlC,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAA4B;QAW3C,mBAAc,GAAoC,CAChD,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,EAAE;YAEF,IAAI,MAAM,KAAK,EAAE;gBAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAGzC,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,CACT,IAAI,EACJ,IAAA,yBAAS,EAAC,MAAM,EAAE;oBAChB,aAAa,EAAE,IAAI,CAAC,OAAO;oBAC3B,MAAM,EAAE,IAAA,eAAQ,EAAC,IAAI,CAAC,MAAM,CAAC;oBAC7B,IAAI,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;iBAChD,CAAC,CACH,CAAC;aACH;YAGD,OAAO,IAAI,CACT,IAAI,EACJ,IAAA,yBAAS,EAAC,MAAM,EAAE;gBAChB,aAAa,EAAE,IAAI,CAAC,OAAO;gBAC3B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC;aACvC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC;QAxCA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,MAAkC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CAkCF;AAEQ,0DAAuB"}
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import 'ace-builds';
3
- import type { IAceEditorProps, IAceOptions } from 'react-ace';
4
- import 'ace-builds/src-noconflict/ext-language_tools';
5
- import 'ace-builds/src-noconflict/mode-javascript';
6
- import 'ace-builds/src-noconflict/mode-json';
7
- import 'ace-builds/src-noconflict/mode-csharp';
8
- import 'ace-builds/src-noconflict/mode-python';
9
- import 'ace-builds/src-noconflict/mode-java';
10
- import 'ace-builds/src-noconflict/mode-ruby';
11
- import 'ace-builds/src-noconflict/mode-rust';
12
- import 'ace-builds/src-noconflict/mode-golang';
13
- import 'ace-builds/src-noconflict/mode-php';
14
- import './ace';
15
- declare const EditorVariant: {
16
- readonly Shell: "Shell";
17
- readonly EJSON: "EJSON";
18
- readonly Generic: "Generic";
19
- };
20
- export type EditorProps = {
21
- variant: keyof typeof EditorVariant;
22
- text?: string;
23
- id?: string;
24
- options?: Omit<IAceOptions, 'readOnly' | 'fontFamily' | 'fontSize' | 'enableLiveAutocompletion'>;
25
- readOnly?: boolean;
26
- completer?: unknown;
27
- 'data-testid'?: string;
28
- onChangeText?: (text: string, event?: any) => void;
29
- darkMode?: boolean;
30
- editorClassName?: string;
31
- } & Omit<IAceEditorProps, 'onChange' | 'value' | 'theme'>;
32
- declare function BaseEditor({ text, variant, options, readOnly, id, name, commands: _commands, onChangeText, completer, 'data-testid': dataTestId, onFocus, darkMode: _darkMode, className, editorClassName, ...aceProps }: EditorProps): React.ReactElement;
33
- declare function setEditorValue(element: HTMLElement, value: string): void;
34
- declare const EditorTextCompleter: any;
35
- export { BaseEditor, EditorVariant, EditorTextCompleter, setEditorValue };
36
- //# sourceMappingURL=base-editor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-editor.d.ts","sourceRoot":"","sources":["../src/base-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAShE,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAY,MAAM,WAAW,CAAC;AAIxE,OAAO,8CAA8C,CAAC;AACtD,OAAO,2CAA2C,CAAC;AACnD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,oCAAoC,CAAC;AAE5C,OAAO,OAAO,CAAC;AAwBf,QAAA,MAAM,aAAa;;;;CAIT,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,OAAO,aAAa,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,IAAI,CACZ,WAAW,EACX,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,0BAA0B,CACpE,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC;AAmD1D,iBAAS,UAAU,CAAC,EAClB,IAAI,EACJ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,QAAQ,EAAE,SAAS,EACnB,YAAY,EACZ,SAAS,EACT,aAAa,EAAE,UAAU,EACzB,OAAO,EACP,QAAQ,EAAE,SAAS,EACnB,SAAS,EACT,eAAe,EACf,GAAG,QAAQ,EACZ,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAoElC;AAUD,iBAAS,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQjE;AAED,QAAA,MAAM,mBAAmB,KAAsB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC"}