@mongodb-js/mql-typescript 0.2.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 (48) hide show
  1. package/LICENSE +201 -0
  2. package/bin/runner.js +3 -0
  3. package/dist/.esm-wrapper.mjs +5 -0
  4. package/dist/cli.d.ts +2 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +50 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/driverSchema/docs-crawler.d.ts +13 -0
  9. package/dist/driverSchema/docs-crawler.d.ts.map +1 -0
  10. package/dist/driverSchema/docs-crawler.js +151 -0
  11. package/dist/driverSchema/docs-crawler.js.map +1 -0
  12. package/dist/driverSchema/driver-schema-generator.d.ts +8 -0
  13. package/dist/driverSchema/driver-schema-generator.d.ts.map +1 -0
  14. package/dist/driverSchema/driver-schema-generator.js +98 -0
  15. package/dist/driverSchema/driver-schema-generator.js.map +1 -0
  16. package/dist/driverSchema/static-schemas.d.ts +9 -0
  17. package/dist/driverSchema/static-schemas.d.ts.map +1 -0
  18. package/dist/driverSchema/static-schemas.js +1633 -0
  19. package/dist/driverSchema/static-schemas.js.map +1 -0
  20. package/dist/generator.d.ts +20 -0
  21. package/dist/generator.d.ts.map +1 -0
  22. package/dist/generator.js +288 -0
  23. package/dist/generator.js.map +1 -0
  24. package/dist/index.d.ts +3 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +8 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/metaschema.d.ts +222 -0
  29. package/dist/metaschema.d.ts.map +1 -0
  30. package/dist/metaschema.js +203 -0
  31. package/dist/metaschema.js.map +1 -0
  32. package/dist/schema-generator.d.ts +15 -0
  33. package/dist/schema-generator.d.ts.map +1 -0
  34. package/dist/schema-generator.js +486 -0
  35. package/dist/schema-generator.js.map +1 -0
  36. package/dist/testGenerator/test-generator.d.ts +11 -0
  37. package/dist/testGenerator/test-generator.d.ts.map +1 -0
  38. package/dist/testGenerator/test-generator.js +211 -0
  39. package/dist/testGenerator/test-generator.js.map +1 -0
  40. package/dist/testGenerator/unsupported-aggregations.d.ts +11 -0
  41. package/dist/testGenerator/unsupported-aggregations.d.ts.map +1 -0
  42. package/dist/testGenerator/unsupported-aggregations.js +254 -0
  43. package/dist/testGenerator/unsupported-aggregations.js.map +1 -0
  44. package/dist/utils.d.ts +9 -0
  45. package/dist/utils.d.ts.map +1 -0
  46. package/dist/utils.js +28 -0
  47. package/dist/utils.js.map +1 -0
  48. package/package.json +89 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metaschema.d.ts","sourceRoot":"","sources":["../src/metaschema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqNV,CAAC"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Operator = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.Operator = zod_1.z
6
+ .object({
7
+ name: zod_1.z.string().regex(new RegExp('^\\$?[a-z][a-zA-Z0-9]*$')),
8
+ link: zod_1.z.string().url().regex(new RegExp('^https://')),
9
+ type: zod_1.z.array(zod_1.z.enum([
10
+ 'accumulator',
11
+ 'stage',
12
+ 'query',
13
+ 'fieldQuery',
14
+ 'filter',
15
+ 'window',
16
+ 'geometry',
17
+ 'switchBranch',
18
+ 'resolvesToAny',
19
+ 'resolvesToNumber',
20
+ 'resolvesToDouble',
21
+ 'resolvesToString',
22
+ 'resolvesToObject',
23
+ 'resolvesToArray',
24
+ 'resolvesToBinData',
25
+ 'resolvesToObjectId',
26
+ 'resolvesToBool',
27
+ 'resolvesToDate',
28
+ 'resolvesToNull',
29
+ 'resolvesToRegex',
30
+ 'resolvesToJavascript',
31
+ 'resolvesToInt',
32
+ 'resolvesToTimestamp',
33
+ 'resolvesToLong',
34
+ 'resolvesToDecimal',
35
+ 'searchOperator',
36
+ ])),
37
+ encode: zod_1.z.enum(['array', 'object', 'single']),
38
+ description: zod_1.z.string(),
39
+ wrapObject: zod_1.z.boolean().default(true),
40
+ arguments: zod_1.z
41
+ .array(zod_1.z
42
+ .object({
43
+ name: zod_1.z.string().regex(new RegExp('^([_$]?[a-z][a-zA-Z0-9]*|N)$')),
44
+ type: zod_1.z.array(zod_1.z.enum([
45
+ 'accumulator',
46
+ 'query',
47
+ 'fieldQuery',
48
+ 'pipeline',
49
+ 'untypedPipeline',
50
+ 'window',
51
+ 'expression',
52
+ 'expressionMap',
53
+ 'geometry',
54
+ 'fieldPath',
55
+ 'unprefixedFieldPath',
56
+ 'timeUnit',
57
+ 'sortSpec',
58
+ 'any',
59
+ 'granularity',
60
+ 'fullDocument',
61
+ 'fullDocumentBeforeChange',
62
+ 'accumulatorPercentile',
63
+ 'whenMatched',
64
+ 'whenNotMatched',
65
+ 'outCollection',
66
+ 'range',
67
+ 'sortBy',
68
+ 'geoPoint',
69
+ 'resolvesToNumber',
70
+ 'numberFieldPath',
71
+ 'number',
72
+ 'resolvesToDouble',
73
+ 'doubleFieldPath',
74
+ 'double',
75
+ 'resolvesToString',
76
+ 'stringFieldPath',
77
+ 'string',
78
+ 'resolvesToObject',
79
+ 'objectFieldPath',
80
+ 'object',
81
+ 'resolvesToArray',
82
+ 'arrayFieldPath',
83
+ 'array',
84
+ 'resolvesToBinData',
85
+ 'binDataFieldPath',
86
+ 'binData',
87
+ 'resolvesToObjectId',
88
+ 'objectIdFieldPath',
89
+ 'objectId',
90
+ 'resolvesToBool',
91
+ 'boolFieldPath',
92
+ 'bool',
93
+ 'resolvesToDate',
94
+ 'dateFieldPath',
95
+ 'date',
96
+ 'resolvesToNull',
97
+ 'nullFieldPath',
98
+ 'null',
99
+ 'resolvesToRegex',
100
+ 'regexFieldPath',
101
+ 'regex',
102
+ 'resolvesToJavascript',
103
+ 'javascriptFieldPath',
104
+ 'javascript',
105
+ 'resolvesToInt',
106
+ 'intFieldPath',
107
+ 'int',
108
+ 'resolvesToTimestamp',
109
+ 'timestampFieldPath',
110
+ 'timestamp',
111
+ 'resolvesToLong',
112
+ 'longFieldPath',
113
+ 'long',
114
+ 'resolvesToDecimal',
115
+ 'decimalFieldPath',
116
+ 'decimal',
117
+ 'searchPath',
118
+ 'searchScore',
119
+ 'searchOperator',
120
+ 'searchHighlight',
121
+ ])),
122
+ description: zod_1.z.string().optional(),
123
+ optional: zod_1.z.boolean().optional(),
124
+ valueMin: zod_1.z.number().optional(),
125
+ valueMax: zod_1.z.number().optional(),
126
+ variadic: zod_1.z.enum(['array', 'object']).optional(),
127
+ variadicMin: zod_1.z.number().int().gte(0).optional(),
128
+ default: zod_1.z
129
+ .union([zod_1.z.array(zod_1.z.any()), zod_1.z.boolean(), zod_1.z.number(), zod_1.z.string()])
130
+ .optional(),
131
+ mergeObject: zod_1.z.boolean().default(false),
132
+ syntheticVariables: zod_1.z
133
+ .array(zod_1.z.object({
134
+ name: zod_1.z.string().regex(new RegExp('^[$]?[a-zA-Z0-9]*$')),
135
+ description: zod_1.z.string().optional(),
136
+ }))
137
+ .optional(),
138
+ })
139
+ .strict())
140
+ .optional(),
141
+ tests: zod_1.z
142
+ .array(zod_1.z
143
+ .object({
144
+ name: zod_1.z.string(),
145
+ link: zod_1.z.string().url().regex(new RegExp('^https://')).optional(),
146
+ pipeline: zod_1.z.array(zod_1.z.record(zod_1.z.any())),
147
+ schema: zod_1.z
148
+ .union([
149
+ zod_1.z.string(),
150
+ zod_1.z.record(zod_1.z.record(zod_1.z
151
+ .object({
152
+ types: zod_1.z.array(zod_1.z.union([
153
+ zod_1.z
154
+ .object({
155
+ bsonType: zod_1.z.enum([
156
+ 'Array',
157
+ 'Binary',
158
+ 'Boolean',
159
+ 'Code',
160
+ 'CodeWScope',
161
+ 'Date',
162
+ 'Decimal128',
163
+ 'Double',
164
+ 'Int32',
165
+ 'Int64',
166
+ 'Long',
167
+ 'MaxKey',
168
+ 'MinKey',
169
+ 'Null',
170
+ 'ObjectId',
171
+ 'BSONRegExp',
172
+ 'String',
173
+ 'BSONSymbol',
174
+ 'Timestamp',
175
+ 'Undefined',
176
+ 'Document',
177
+ 'Number',
178
+ ]),
179
+ })
180
+ .strict(),
181
+ zod_1.z
182
+ .object({
183
+ bsonType: zod_1.z.literal('Array'),
184
+ types: zod_1.z.array(zod_1.z.record(zod_1.z.any())),
185
+ })
186
+ .strict(),
187
+ zod_1.z
188
+ .object({
189
+ bsonType: zod_1.z.literal('Document'),
190
+ fields: zod_1.z.record(zod_1.z.record(zod_1.z.any())),
191
+ })
192
+ .strict(),
193
+ ])),
194
+ })
195
+ .strict())),
196
+ ])
197
+ .optional(),
198
+ })
199
+ .strict())
200
+ .optional(),
201
+ })
202
+ .strict();
203
+ //# sourceMappingURL=metaschema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metaschema.js","sourceRoot":"","sources":["../src/metaschema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { YamlFiles } from './generator';
2
+ import { GeneratorBase } from './generator';
3
+ export declare class SchemaGenerator extends GeneratorBase {
4
+ private schemaOutputFile;
5
+ private toTypeName;
6
+ private toTypeFieldTypeName;
7
+ private trivialTypeMappings;
8
+ private typeMappings;
9
+ private emitHeader;
10
+ private getArgumentTypeName;
11
+ private emitArg;
12
+ private emitArrayWithOptionals;
13
+ protected generateImpl(yamlFiles: YamlFiles): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=schema-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-generator.d.ts","sourceRoot":"","sources":["../src/schema-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAY5C,qBAAa,eAAgB,SAAQ,aAAa;IAChD,OAAO,CAAC,gBAAgB,CAKtB;IAEF,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,mBAAmB,CAWzB;IAEF,OAAO,CAAC,YAAY,CAiNlB;IAEF,OAAO,CAAC,UAAU;IAgClB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,OAAO;IAmCf,OAAO,CAAC,sBAAsB;cAiEL,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAqK3E"}