@documentdb-js/operator-registry 0.8.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 (79) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +92 -0
  3. package/dist/accumulators.d.ts +2 -0
  4. package/dist/accumulators.d.ts.map +1 -0
  5. package/dist/accumulators.js +177 -0
  6. package/dist/accumulators.js.map +1 -0
  7. package/dist/bsonConstructors.d.ts +2 -0
  8. package/dist/bsonConstructors.d.ts.map +1 -0
  9. package/dist/bsonConstructors.js +81 -0
  10. package/dist/bsonConstructors.js.map +1 -0
  11. package/dist/docLinks.d.ts +13 -0
  12. package/dist/docLinks.d.ts.map +1 -0
  13. package/dist/docLinks.js +76 -0
  14. package/dist/docLinks.js.map +1 -0
  15. package/dist/docLinks.test.d.ts +2 -0
  16. package/dist/docLinks.test.d.ts.map +1 -0
  17. package/dist/docLinks.test.js +67 -0
  18. package/dist/docLinks.test.js.map +1 -0
  19. package/dist/expressionOperators.d.ts +2 -0
  20. package/dist/expressionOperators.d.ts.map +1 -0
  21. package/dist/expressionOperators.js +1094 -0
  22. package/dist/expressionOperators.js.map +1 -0
  23. package/dist/getFilteredCompletions.d.ts +48 -0
  24. package/dist/getFilteredCompletions.d.ts.map +1 -0
  25. package/dist/getFilteredCompletions.js +90 -0
  26. package/dist/getFilteredCompletions.js.map +1 -0
  27. package/dist/getFilteredCompletions.test.d.ts +2 -0
  28. package/dist/getFilteredCompletions.test.d.ts.map +1 -0
  29. package/dist/getFilteredCompletions.test.js +202 -0
  30. package/dist/getFilteredCompletions.test.js.map +1 -0
  31. package/dist/index.d.ts +22 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +97 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/metaTags.d.ts +62 -0
  36. package/dist/metaTags.d.ts.map +1 -0
  37. package/dist/metaTags.js +116 -0
  38. package/dist/metaTags.js.map +1 -0
  39. package/dist/operatorReference.test.d.ts +2 -0
  40. package/dist/operatorReference.test.d.ts.map +1 -0
  41. package/dist/operatorReference.test.js +209 -0
  42. package/dist/operatorReference.test.js.map +1 -0
  43. package/dist/parseOperatorReference.d.ts +54 -0
  44. package/dist/parseOperatorReference.d.ts.map +1 -0
  45. package/dist/parseOperatorReference.js +103 -0
  46. package/dist/parseOperatorReference.js.map +1 -0
  47. package/dist/parseOperatorReference.test.d.ts +2 -0
  48. package/dist/parseOperatorReference.test.d.ts.map +1 -0
  49. package/dist/parseOperatorReference.test.js +151 -0
  50. package/dist/parseOperatorReference.test.js.map +1 -0
  51. package/dist/queryOperators.d.ts +2 -0
  52. package/dist/queryOperators.d.ts.map +1 -0
  53. package/dist/queryOperators.js +398 -0
  54. package/dist/queryOperators.js.map +1 -0
  55. package/dist/stages.d.ts +2 -0
  56. package/dist/stages.d.ts.map +1 -0
  57. package/dist/stages.js +265 -0
  58. package/dist/stages.js.map +1 -0
  59. package/dist/structuralInvariants.test.d.ts +2 -0
  60. package/dist/structuralInvariants.test.d.ts.map +1 -0
  61. package/dist/structuralInvariants.test.js +219 -0
  62. package/dist/structuralInvariants.test.js.map +1 -0
  63. package/dist/systemVariables.d.ts +2 -0
  64. package/dist/systemVariables.d.ts.map +1 -0
  65. package/dist/systemVariables.js +64 -0
  66. package/dist/systemVariables.js.map +1 -0
  67. package/dist/types.d.ts +139 -0
  68. package/dist/types.d.ts.map +1 -0
  69. package/dist/types.js +7 -0
  70. package/dist/types.js.map +1 -0
  71. package/dist/updateOperators.d.ts +2 -0
  72. package/dist/updateOperators.d.ts.map +1 -0
  73. package/dist/updateOperators.js +188 -0
  74. package/dist/updateOperators.js.map +1 -0
  75. package/dist/windowOperators.d.ts +2 -0
  76. package/dist/windowOperators.d.ts.map +1 -0
  77. package/dist/windowOperators.js +219 -0
  78. package/dist/windowOperators.js.map +1 -0
  79. package/package.json +25 -0
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ /**
8
+ * Unit tests for the parseOperatorReference helper.
9
+ */
10
+ const parseOperatorReference_1 = require("./parseOperatorReference");
11
+ describe('parseOperatorReference', () => {
12
+ test('parses a minimal dump with one category and one operator', () => {
13
+ const content = `# DocumentDB Operator Reference
14
+
15
+ ## Summary
16
+
17
+ | Category | Listed | Total |
18
+ | --- | --- | --- |
19
+ | Test Category | 1 | 1 |
20
+
21
+ ## Test Category
22
+
23
+ ### $testOp
24
+
25
+ - **Description:** A test operator
26
+ - **Doc Link:** https://example.com/test
27
+
28
+ ## Not Listed
29
+
30
+ - **$excluded** (Test Category) — Not supported
31
+ `;
32
+ const result = (0, parseOperatorReference_1.parseOperatorReference)(content);
33
+ expect(result.operators).toHaveLength(1);
34
+ expect(result.operators[0]).toEqual({
35
+ operator: '$testOp',
36
+ category: 'Test Category',
37
+ description: 'A test operator',
38
+ docLink: 'https://example.com/test',
39
+ });
40
+ expect(result.notListed).toHaveLength(1);
41
+ expect(result.notListed[0]).toEqual({
42
+ operator: '$excluded',
43
+ category: 'Test Category',
44
+ reason: 'Not supported',
45
+ });
46
+ });
47
+ test('handles operators with empty description and doc link', () => {
48
+ const content = `## Variables
49
+
50
+ ### $$NOW
51
+
52
+ ### $$ROOT
53
+ `;
54
+ const result = (0, parseOperatorReference_1.parseOperatorReference)(content);
55
+ expect(result.operators).toHaveLength(2);
56
+ expect(result.operators[0]).toEqual({
57
+ operator: '$$NOW',
58
+ category: 'Variables',
59
+ description: '',
60
+ docLink: '',
61
+ });
62
+ expect(result.operators[1]).toEqual({
63
+ operator: '$$ROOT',
64
+ category: 'Variables',
65
+ description: '',
66
+ docLink: '',
67
+ });
68
+ });
69
+ test('handles operators with syntax blocks (ignores syntax)', () => {
70
+ const content = `## Comparison Query Operators
71
+
72
+ ### $eq
73
+
74
+ - **Description:** Matches values equal to a specified value
75
+ - **Syntax:**
76
+
77
+ \`\`\`javascript
78
+ { field: { $eq: value } }
79
+ \`\`\`
80
+
81
+ - **Doc Link:** https://example.com/$eq
82
+
83
+ ### $gt
84
+
85
+ - **Description:** Matches values greater than a specified value
86
+ - **Doc Link:** https://example.com/$gt
87
+ `;
88
+ const result = (0, parseOperatorReference_1.parseOperatorReference)(content);
89
+ expect(result.operators).toHaveLength(2);
90
+ expect(result.operators[0].operator).toBe('$eq');
91
+ expect(result.operators[0].description).toBe('Matches values equal to a specified value');
92
+ expect(result.operators[1].operator).toBe('$gt');
93
+ });
94
+ test('skips operators in the Summary section', () => {
95
+ const content = `## Summary
96
+
97
+ | Category | Listed | Total |
98
+ | --- | --- | --- |
99
+ | Test | 2 | 3 |
100
+
101
+ ## Test Category
102
+
103
+ ### $realOp
104
+
105
+ - **Description:** I am real
106
+ `;
107
+ const result = (0, parseOperatorReference_1.parseOperatorReference)(content);
108
+ expect(result.operators).toHaveLength(1);
109
+ expect(result.operators[0].operator).toBe('$realOp');
110
+ });
111
+ test('multiple not-listed entries are parsed correctly', () => {
112
+ const content = `## Not Listed
113
+
114
+ Operators below are not in scope.
115
+
116
+ - **$where** (Evaluation Query) — Deprecated in Mongo version 8.0
117
+ - **$meta** (Projection) — Not in scope
118
+ - **$accumulator** (Custom Aggregation) — Deprecated in Mongo version 8.0
119
+ `;
120
+ const result = (0, parseOperatorReference_1.parseOperatorReference)(content);
121
+ expect(result.notListed).toHaveLength(3);
122
+ expect(result.notListed[0].operator).toBe('$where');
123
+ expect(result.notListed[0].reason).toBe('Deprecated in Mongo version 8.0');
124
+ expect(result.notListed[1].operator).toBe('$meta');
125
+ expect(result.notListed[2].operator).toBe('$accumulator');
126
+ });
127
+ test('handles multiple categories', () => {
128
+ const content = `## Cat A
129
+
130
+ ### $a1
131
+
132
+ - **Description:** Operator a1
133
+
134
+ ### $a2
135
+
136
+ - **Description:** Operator a2
137
+
138
+ ## Cat B
139
+
140
+ ### $b1
141
+
142
+ - **Description:** Operator b1
143
+ `;
144
+ const result = (0, parseOperatorReference_1.parseOperatorReference)(content);
145
+ expect(result.operators).toHaveLength(3);
146
+ expect(result.operators[0].category).toBe('Cat A');
147
+ expect(result.operators[1].category).toBe('Cat A');
148
+ expect(result.operators[2].category).toBe('Cat B');
149
+ });
150
+ });
151
+ //# sourceMappingURL=parseOperatorReference.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseOperatorReference.test.js","sourceRoot":"","sources":["../src/parseOperatorReference.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function loadQueryOperators(): void;
2
+ //# sourceMappingURL=queryOperators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryOperators.d.ts","sourceRoot":"","sources":["../src/queryOperators.ts"],"names":[],"mappings":"AA6bA,wBAAgB,kBAAkB,IAAI,IAAI,CAYzC"}
@@ -0,0 +1,398 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.loadQueryOperators = loadQueryOperators;
8
+ // AUTO-GENERATED — DO NOT EDIT BY HAND
9
+ //
10
+ // Generated by: npm run generate (scripts/generate-from-reference.ts)
11
+ // Sources: resources/scraped/operator-reference.md
12
+ // resources/overrides/operator-overrides.md
13
+ // resources/overrides/operator-snippets.md
14
+ //
15
+ // To change operator data, edit the overrides/snippets files and re-run the generator.
16
+ const docLinks_1 = require("./docLinks");
17
+ const getFilteredCompletions_1 = require("./getFilteredCompletions");
18
+ const metaTags_1 = require("./metaTags");
19
+ // ---------------------------------------------------------------------------
20
+ // Comparison Query Operators
21
+ // ---------------------------------------------------------------------------
22
+ const comparisonQueryOperators = [
23
+ {
24
+ value: '$eq',
25
+ meta: metaTags_1.META_QUERY_COMPARISON,
26
+ description: 'The $eq query operator compares the value of a field to a specified value',
27
+ snippet: '{ $eq: ${1:value} }',
28
+ link: (0, docLinks_1.getDocLink)('$eq', metaTags_1.META_QUERY_COMPARISON),
29
+ },
30
+ {
31
+ value: '$gt',
32
+ meta: metaTags_1.META_QUERY_COMPARISON,
33
+ description: 'The $gt query operator retrieves documents where the value of a field is greater than a specified value',
34
+ snippet: '{ $gt: ${1:value} }',
35
+ link: (0, docLinks_1.getDocLink)('$gt', metaTags_1.META_QUERY_COMPARISON),
36
+ },
37
+ {
38
+ value: '$gte',
39
+ meta: metaTags_1.META_QUERY_COMPARISON,
40
+ description: 'The $gte operator retrieves documents where the value of a field is greater than or equal to a specified value',
41
+ snippet: '{ $gte: ${1:value} }',
42
+ link: (0, docLinks_1.getDocLink)('$gte', metaTags_1.META_QUERY_COMPARISON),
43
+ },
44
+ {
45
+ value: '$in',
46
+ meta: metaTags_1.META_QUERY_COMPARISON,
47
+ description: 'The $in operator matches value of a field against an array of specified values',
48
+ snippet: '{ $in: [${1:value}] }',
49
+ link: (0, docLinks_1.getDocLink)('$in', metaTags_1.META_QUERY_COMPARISON),
50
+ },
51
+ {
52
+ value: '$lt',
53
+ meta: metaTags_1.META_QUERY_COMPARISON,
54
+ description: 'The $lt operator retrieves documents where the value of field is less than a specified value',
55
+ snippet: '{ $lt: ${1:value} }',
56
+ link: (0, docLinks_1.getDocLink)('$lt', metaTags_1.META_QUERY_COMPARISON),
57
+ },
58
+ {
59
+ value: '$lte',
60
+ meta: metaTags_1.META_QUERY_COMPARISON,
61
+ description: 'The $lte operator retrieves documents where the value of a field is less than or equal to a specified value',
62
+ snippet: '{ $lte: ${1:value} }',
63
+ link: (0, docLinks_1.getDocLink)('$lte', metaTags_1.META_QUERY_COMPARISON),
64
+ },
65
+ {
66
+ value: '$ne',
67
+ meta: metaTags_1.META_QUERY_COMPARISON,
68
+ description: "The $ne operator retrieves documents where the value of a field doesn't equal a specified value",
69
+ snippet: '{ $ne: ${1:value} }',
70
+ link: (0, docLinks_1.getDocLink)('$ne', metaTags_1.META_QUERY_COMPARISON),
71
+ },
72
+ {
73
+ value: '$nin',
74
+ meta: metaTags_1.META_QUERY_COMPARISON,
75
+ description: "The $nin operator retrieves documents where the value of a field doesn't match a list of values",
76
+ snippet: '{ $nin: [${1:value}] }',
77
+ link: (0, docLinks_1.getDocLink)('$nin', metaTags_1.META_QUERY_COMPARISON),
78
+ },
79
+ ];
80
+ // ---------------------------------------------------------------------------
81
+ // Logical Query Operators
82
+ // ---------------------------------------------------------------------------
83
+ const logicalQueryOperators = [
84
+ {
85
+ value: '$and',
86
+ meta: metaTags_1.META_QUERY_LOGICAL,
87
+ description: 'The $and operator joins multiple query clauses and returns documents that match all specified conditions.',
88
+ snippet: '{ $and: [{ ${1:expression} }] }',
89
+ link: (0, docLinks_1.getDocLink)('$and', metaTags_1.META_QUERY_LOGICAL),
90
+ },
91
+ {
92
+ value: '$not',
93
+ meta: metaTags_1.META_QUERY_LOGICAL,
94
+ description: "The $not operator performs a logical NOT operation on a specified expression, selecting documents that don't match the expression.",
95
+ snippet: '{ $not: { ${1:expression} } }',
96
+ link: (0, docLinks_1.getDocLink)('$not', metaTags_1.META_QUERY_LOGICAL),
97
+ },
98
+ {
99
+ value: '$nor',
100
+ meta: metaTags_1.META_QUERY_LOGICAL,
101
+ description: 'The $nor operator performs a logical NOR on an array of expressions and retrieves documents that fail all the conditions.',
102
+ snippet: '{ $nor: [{ ${1:expression} }] }',
103
+ link: (0, docLinks_1.getDocLink)('$nor', metaTags_1.META_QUERY_LOGICAL),
104
+ },
105
+ {
106
+ value: '$or',
107
+ meta: metaTags_1.META_QUERY_LOGICAL,
108
+ description: 'The $or operator joins query clauses with a logical OR and returns documents that match at least one of the specified conditions.',
109
+ snippet: '{ $or: [{ ${1:expression} }] }',
110
+ link: (0, docLinks_1.getDocLink)('$or', metaTags_1.META_QUERY_LOGICAL),
111
+ },
112
+ ];
113
+ // ---------------------------------------------------------------------------
114
+ // Element Query Operators
115
+ // ---------------------------------------------------------------------------
116
+ const elementQueryOperators = [
117
+ {
118
+ value: '$exists',
119
+ meta: metaTags_1.META_QUERY_ELEMENT,
120
+ description: 'The $exists operator retrieves documents that contain the specified field in their document structure.',
121
+ snippet: '{ $exists: ${1:true} }',
122
+ link: (0, docLinks_1.getDocLink)('$exists', metaTags_1.META_QUERY_ELEMENT),
123
+ },
124
+ {
125
+ value: '$type',
126
+ meta: metaTags_1.META_QUERY_ELEMENT,
127
+ description: 'The $type operator retrieves documents if the chosen field is of the specified type.',
128
+ snippet: '{ $type: "${1:type}" }',
129
+ link: (0, docLinks_1.getDocLink)('$type', metaTags_1.META_QUERY_ELEMENT),
130
+ },
131
+ ];
132
+ // ---------------------------------------------------------------------------
133
+ // Evaluation Query Operators
134
+ // ---------------------------------------------------------------------------
135
+ const evaluationQueryOperators = [
136
+ {
137
+ value: '$expr',
138
+ meta: metaTags_1.META_QUERY_EVALUATION,
139
+ description: 'The $expr operator allows the use of aggregation expressions within the query language, enabling complex field comparisons and calculations.',
140
+ snippet: '{ $expr: { ${1:expression} } }',
141
+ link: (0, docLinks_1.getDocLink)('$expr', metaTags_1.META_QUERY_EVALUATION),
142
+ },
143
+ {
144
+ value: '$jsonSchema',
145
+ meta: metaTags_1.META_QUERY_EVALUATION,
146
+ description: 'The $jsonSchema operator validates documents against a JSON Schema definition for data validation and structure enforcement. Discover supported features and limitations.',
147
+ snippet: '{ $jsonSchema: { bsonType: "${1:object}" } }',
148
+ link: (0, docLinks_1.getDocLink)('$jsonSchema', metaTags_1.META_QUERY_EVALUATION),
149
+ },
150
+ {
151
+ value: '$mod',
152
+ meta: metaTags_1.META_QUERY_EVALUATION,
153
+ description: 'The $mod operator performs a modulo operation on the value of a field and selects documents with a specified result.',
154
+ snippet: '{ $mod: [${1:divisor}, ${2:remainder}] }',
155
+ link: (0, docLinks_1.getDocLink)('$mod', metaTags_1.META_QUERY_EVALUATION),
156
+ },
157
+ {
158
+ value: '$regex',
159
+ meta: metaTags_1.META_QUERY_EVALUATION,
160
+ description: 'The $regex operator provides regular expression capabilities for pattern matching in queries, allowing flexible string matching and searching.',
161
+ snippet: '{ $regex: /${1:pattern}/ }',
162
+ link: (0, docLinks_1.getDocLink)('$regex', metaTags_1.META_QUERY_EVALUATION),
163
+ applicableBsonTypes: ['string'],
164
+ },
165
+ {
166
+ value: '$text',
167
+ meta: metaTags_1.META_QUERY_EVALUATION,
168
+ description: 'The $text operator performs text search on the content of indexed string fields, enabling full-text search capabilities.',
169
+ snippet: '{ $text: { \\$search: "${1:text}" } }',
170
+ link: (0, docLinks_1.getDocLink)('$text', metaTags_1.META_QUERY_EVALUATION),
171
+ applicableBsonTypes: ['string'],
172
+ },
173
+ ];
174
+ // ---------------------------------------------------------------------------
175
+ // Geospatial Operators
176
+ // ---------------------------------------------------------------------------
177
+ const geospatialOperators = [
178
+ {
179
+ value: '$geoIntersects',
180
+ meta: metaTags_1.META_QUERY_GEOSPATIAL,
181
+ description: 'The $geoIntersects operator selects documents whose location field intersects with a specified GeoJSON object.',
182
+ snippet: '{ $geoIntersects: { \\$geometry: { type: "${1:GeoJSON type}", coordinates: ${2:coordinates} } } }',
183
+ link: (0, docLinks_1.getDocLink)('$geoIntersects', metaTags_1.META_QUERY_GEOSPATIAL),
184
+ },
185
+ {
186
+ value: '$geoWithin',
187
+ meta: metaTags_1.META_QUERY_GEOSPATIAL,
188
+ description: 'The $geoWithin operator selects documents whose location field is completely within a specified geometry.',
189
+ snippet: '{ $geoWithin: { \\$geometry: { type: "${1:GeoJSON type}", coordinates: ${2:coordinates} } } }',
190
+ link: (0, docLinks_1.getDocLink)('$geoWithin', metaTags_1.META_QUERY_GEOSPATIAL),
191
+ },
192
+ {
193
+ value: '$box',
194
+ meta: metaTags_1.META_QUERY_GEOSPATIAL,
195
+ description: 'The $box operator defines a rectangular area for geospatial queries using coordinate pairs.',
196
+ snippet: '[[${1:bottomLeftX}, ${2:bottomLeftY}], [${3:upperRightX}, ${4:upperRightY}]]',
197
+ link: (0, docLinks_1.getDocLink)('$box', metaTags_1.META_QUERY_GEOSPATIAL),
198
+ standalone: false,
199
+ },
200
+ {
201
+ value: '$center',
202
+ meta: metaTags_1.META_QUERY_GEOSPATIAL,
203
+ description: 'The $center operator specifies a circle using legacy coordinate pairs for $geoWithin queries.',
204
+ snippet: '[[${1:x}, ${2:y}], ${3:radius}]',
205
+ link: (0, docLinks_1.getDocLink)('$center', metaTags_1.META_QUERY_GEOSPATIAL),
206
+ standalone: false,
207
+ },
208
+ {
209
+ value: '$centerSphere',
210
+ meta: metaTags_1.META_QUERY_GEOSPATIAL,
211
+ description: 'The $centerSphere operator specifies a circle using spherical geometry for $geoWithin queries.',
212
+ snippet: '[[${1:x}, ${2:y}], ${3:radiusInRadians}]',
213
+ link: (0, docLinks_1.getDocLink)('$centerSphere', metaTags_1.META_QUERY_GEOSPATIAL),
214
+ standalone: false,
215
+ },
216
+ {
217
+ value: '$geometry',
218
+ meta: metaTags_1.META_QUERY_GEOSPATIAL,
219
+ description: 'The $geometry operator specifies a GeoJSON geometry for geospatial queries.',
220
+ snippet: '{ type: "${1:Point}", coordinates: [${2:coordinates}] }',
221
+ link: (0, docLinks_1.getDocLink)('$geometry', metaTags_1.META_QUERY_GEOSPATIAL),
222
+ standalone: false,
223
+ },
224
+ {
225
+ value: '$maxDistance',
226
+ meta: metaTags_1.META_QUERY_GEOSPATIAL,
227
+ description: 'The $maxDistance operator specifies the maximum distance that can exist between two points in a geospatial query.',
228
+ snippet: '${1:distance}',
229
+ link: (0, docLinks_1.getDocLink)('$maxDistance', metaTags_1.META_QUERY_GEOSPATIAL),
230
+ standalone: false,
231
+ },
232
+ {
233
+ value: '$minDistance',
234
+ meta: metaTags_1.META_QUERY_GEOSPATIAL,
235
+ description: 'The $minDistance operator specifies the minimum distance that must exist between two points in a geospatial query.',
236
+ snippet: '${1:distance}',
237
+ link: (0, docLinks_1.getDocLink)('$minDistance', metaTags_1.META_QUERY_GEOSPATIAL),
238
+ standalone: false,
239
+ },
240
+ {
241
+ value: '$polygon',
242
+ meta: metaTags_1.META_QUERY_GEOSPATIAL,
243
+ description: 'The $polygon operator defines a polygon for geospatial queries, allowing you to find locations within an irregular shape.',
244
+ snippet: '[[${1:x1}, ${2:y1}], [${3:x2}, ${4:y2}], [${5:x3}, ${6:y3}]]',
245
+ link: (0, docLinks_1.getDocLink)('$polygon', metaTags_1.META_QUERY_GEOSPATIAL),
246
+ standalone: false,
247
+ },
248
+ {
249
+ value: '$near',
250
+ meta: metaTags_1.META_QUERY_GEOSPATIAL,
251
+ description: 'The $near operator returns documents with location fields that are near a specified point, sorted by distance.',
252
+ snippet: '{ $near: { \\$geometry: { type: "Point", coordinates: [${1:lng}, ${2:lat}] }, \\$maxDistance: ${3:distance} } }',
253
+ link: (0, docLinks_1.getDocLink)('$near', metaTags_1.META_QUERY_GEOSPATIAL),
254
+ },
255
+ {
256
+ value: '$nearSphere',
257
+ meta: metaTags_1.META_QUERY_GEOSPATIAL,
258
+ description: 'The $nearSphere operator returns documents whose location fields are near a specified point on a sphere, sorted by distance on a spherical surface.',
259
+ snippet: '{ $nearSphere: { \\$geometry: { type: "Point", coordinates: [${1:lng}, ${2:lat}] }, \\$maxDistance: ${3:distance} } }',
260
+ link: (0, docLinks_1.getDocLink)('$nearSphere', metaTags_1.META_QUERY_GEOSPATIAL),
261
+ },
262
+ ];
263
+ // ---------------------------------------------------------------------------
264
+ // Array Query Operators
265
+ // ---------------------------------------------------------------------------
266
+ const arrayQueryOperators = [
267
+ {
268
+ value: '$all',
269
+ meta: metaTags_1.META_QUERY_ARRAY,
270
+ description: 'The $all operator helps finding array documents matching all the elements.',
271
+ snippet: '{ $all: [${1:value}] }',
272
+ link: (0, docLinks_1.getDocLink)('$all', metaTags_1.META_QUERY_ARRAY),
273
+ applicableBsonTypes: ['array'],
274
+ },
275
+ {
276
+ value: '$elemMatch',
277
+ meta: metaTags_1.META_QUERY_ARRAY,
278
+ description: 'The $elemmatch operator returns complete array, qualifying criteria with at least one matching array element.',
279
+ snippet: '{ $elemMatch: { ${1:query} } }',
280
+ link: (0, docLinks_1.getDocLink)('$elemMatch', metaTags_1.META_QUERY_ARRAY),
281
+ applicableBsonTypes: ['array'],
282
+ },
283
+ {
284
+ value: '$size',
285
+ meta: metaTags_1.META_QUERY_ARRAY,
286
+ description: 'The $size operator is used to query documents where an array field has a specified number of elements.',
287
+ snippet: '{ $size: ${1:number} }',
288
+ link: (0, docLinks_1.getDocLink)('$size', metaTags_1.META_QUERY_ARRAY),
289
+ applicableBsonTypes: ['array'],
290
+ },
291
+ ];
292
+ // ---------------------------------------------------------------------------
293
+ // Bitwise Query Operators
294
+ // ---------------------------------------------------------------------------
295
+ const bitwiseQueryOperators = [
296
+ {
297
+ value: '$bitsAllClear',
298
+ meta: metaTags_1.META_QUERY_BITWISE,
299
+ description: 'The $bitsAllClear operator is used to match documents where all the bit positions specified in a bitmask are clear.',
300
+ snippet: '{ $bitsAllClear: ${1:bitmask} }',
301
+ link: (0, docLinks_1.getDocLink)('$bitsAllClear', metaTags_1.META_QUERY_BITWISE),
302
+ applicableBsonTypes: ['int32', 'long'],
303
+ },
304
+ {
305
+ value: '$bitsAllSet',
306
+ meta: metaTags_1.META_QUERY_BITWISE,
307
+ description: 'The bitsAllSet command is used to match documents where all the specified bit positions are set.',
308
+ snippet: '{ $bitsAllSet: ${1:bitmask} }',
309
+ link: (0, docLinks_1.getDocLink)('$bitsAllSet', metaTags_1.META_QUERY_BITWISE),
310
+ applicableBsonTypes: ['int32', 'long'],
311
+ },
312
+ {
313
+ value: '$bitsAnyClear',
314
+ meta: metaTags_1.META_QUERY_BITWISE,
315
+ description: 'The $bitsAnyClear operator matches documents where any of the specified bit positions in a bitmask are clear.',
316
+ snippet: '{ $bitsAnyClear: ${1:bitmask} }',
317
+ link: (0, docLinks_1.getDocLink)('$bitsAnyClear', metaTags_1.META_QUERY_BITWISE),
318
+ applicableBsonTypes: ['int32', 'long'],
319
+ },
320
+ {
321
+ value: '$bitsAnySet',
322
+ meta: metaTags_1.META_QUERY_BITWISE,
323
+ description: 'The $bitsAnySet operator returns documents where any of the specified bit positions are set to 1.',
324
+ snippet: '{ $bitsAnySet: ${1:bitmask} }',
325
+ link: (0, docLinks_1.getDocLink)('$bitsAnySet', metaTags_1.META_QUERY_BITWISE),
326
+ applicableBsonTypes: ['int32', 'long'],
327
+ },
328
+ ];
329
+ // ---------------------------------------------------------------------------
330
+ // Projection Operators
331
+ // ---------------------------------------------------------------------------
332
+ const projectionOperators = [
333
+ {
334
+ value: '$',
335
+ meta: metaTags_1.META_QUERY_PROJECTION,
336
+ description: 'The $ positional operator identifies an element in an array to update without explicitly specifying the position of the element in the array.',
337
+ link: 'https://learn.microsoft.com/en-us/azure/documentdb/operators/array-update/$', // inferred from another category
338
+ standalone: false,
339
+ },
340
+ {
341
+ value: '$elemMatch',
342
+ meta: metaTags_1.META_QUERY_PROJECTION,
343
+ description: 'The $elemmatch operator returns complete array, qualifying criteria with at least one matching array element.',
344
+ snippet: '{ $elemMatch: { ${1:query} } }',
345
+ link: 'https://learn.microsoft.com/en-us/azure/documentdb/operators/array-query/$elemmatch', // inferred from another category
346
+ },
347
+ {
348
+ value: '$slice',
349
+ meta: metaTags_1.META_QUERY_PROJECTION,
350
+ description: 'The $slice operator returns a subset of an array from any element onwards in the array.',
351
+ snippet: '{ $slice: ${1:number} }',
352
+ link: 'https://learn.microsoft.com/en-us/azure/documentdb/operators/array-expression/$slice', // inferred from another category
353
+ },
354
+ ];
355
+ // ---------------------------------------------------------------------------
356
+ // Miscellaneous Query Operators
357
+ // ---------------------------------------------------------------------------
358
+ const miscellaneousQueryOperators = [
359
+ {
360
+ value: '$comment',
361
+ meta: metaTags_1.META_QUERY_MISC,
362
+ description: 'The $comment operator adds a comment to a query to help identify the query in logs and profiler output.',
363
+ snippet: '{ $comment: "${1:comment}" }',
364
+ link: (0, docLinks_1.getDocLink)('$comment', metaTags_1.META_QUERY_MISC),
365
+ },
366
+ {
367
+ value: '$rand',
368
+ meta: metaTags_1.META_QUERY_MISC,
369
+ description: 'The $rand operator generates a random float value between 0 and 1.',
370
+ snippet: '{ $rand: {} }',
371
+ link: (0, docLinks_1.getDocLink)('$rand', metaTags_1.META_QUERY_MISC),
372
+ },
373
+ {
374
+ value: '$natural',
375
+ meta: metaTags_1.META_QUERY_MISC,
376
+ description: 'The $natural operator forces the query to use the natural order of documents in a collection, providing control over document ordering and retrieval.',
377
+ snippet: '{ $natural: ${1:1} }',
378
+ link: (0, docLinks_1.getDocLink)('$natural', metaTags_1.META_QUERY_MISC),
379
+ standalone: false,
380
+ },
381
+ ];
382
+ // ---------------------------------------------------------------------------
383
+ // Registration
384
+ // ---------------------------------------------------------------------------
385
+ function loadQueryOperators() {
386
+ (0, getFilteredCompletions_1.registerOperators)([
387
+ ...comparisonQueryOperators,
388
+ ...logicalQueryOperators,
389
+ ...elementQueryOperators,
390
+ ...evaluationQueryOperators,
391
+ ...geospatialOperators,
392
+ ...arrayQueryOperators,
393
+ ...bitwiseQueryOperators,
394
+ ...projectionOperators,
395
+ ...miscellaneousQueryOperators,
396
+ ]);
397
+ }
398
+ //# sourceMappingURL=queryOperators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryOperators.js","sourceRoot":"","sources":["../src/queryOperators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function loadStages(): void;
2
+ //# sourceMappingURL=stages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../src/stages.ts"],"names":[],"mappings":"AAgSA,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}