@malloydata/malloy-interfaces 0.0.240-dev250311202829 → 0.0.240-dev250311214430
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.
- package/dist/index.js +26 -10
- package/dist/to_malloy.js +27 -5
- package/dist/types.d.ts +10 -2
- package/package.json +1 -1
- package/thrift/malloy.thrift +7 -3
- package/dist/nest_unions.spec.d.ts +0 -1
- package/dist/nest_unions.spec.js +0 -67
package/dist/index.js
CHANGED
|
@@ -210,7 +210,10 @@ exports.thingy1 = {
|
|
|
210
210
|
exports.thingy123r = {
|
|
211
211
|
definition: {
|
|
212
212
|
kind: 'arrow',
|
|
213
|
-
|
|
213
|
+
source: {
|
|
214
|
+
kind: 'source_reference',
|
|
215
|
+
name: 'flights',
|
|
216
|
+
},
|
|
214
217
|
view: {
|
|
215
218
|
kind: 'view_reference',
|
|
216
219
|
name: 'by_carrier',
|
|
@@ -220,7 +223,10 @@ exports.thingy123r = {
|
|
|
220
223
|
exports.thingyssdfg = {
|
|
221
224
|
definition: {
|
|
222
225
|
kind: 'refinement',
|
|
223
|
-
|
|
226
|
+
base: {
|
|
227
|
+
kind: 'query_reference',
|
|
228
|
+
name: 'flights',
|
|
229
|
+
},
|
|
224
230
|
refinement: {
|
|
225
231
|
kind: 'view_reference',
|
|
226
232
|
name: 'by_carrier',
|
|
@@ -230,7 +236,10 @@ exports.thingyssdfg = {
|
|
|
230
236
|
exports.thingy2asdf = {
|
|
231
237
|
definition: {
|
|
232
238
|
kind: 'arrow',
|
|
233
|
-
|
|
239
|
+
source: {
|
|
240
|
+
kind: 'source_reference',
|
|
241
|
+
name: 'flights',
|
|
242
|
+
},
|
|
234
243
|
view: {
|
|
235
244
|
kind: 'refinement',
|
|
236
245
|
base: {
|
|
@@ -256,7 +265,8 @@ exports.thingy2asdf = {
|
|
|
256
265
|
exports.thingy3 = {
|
|
257
266
|
definition: {
|
|
258
267
|
kind: 'arrow',
|
|
259
|
-
|
|
268
|
+
source: {
|
|
269
|
+
kind: 'source_reference',
|
|
260
270
|
name: 'flights',
|
|
261
271
|
},
|
|
262
272
|
view: {
|
|
@@ -294,7 +304,8 @@ exports.thingy3 = {
|
|
|
294
304
|
exports.thingy3dfdf = {
|
|
295
305
|
definition: {
|
|
296
306
|
kind: 'arrow',
|
|
297
|
-
|
|
307
|
+
source: {
|
|
308
|
+
kind: 'source_reference',
|
|
298
309
|
name: 'flights',
|
|
299
310
|
},
|
|
300
311
|
view: {
|
|
@@ -313,7 +324,8 @@ exports.thingy3dfdf = {
|
|
|
313
324
|
exports.thingy4asdfasdf = {
|
|
314
325
|
definition: {
|
|
315
326
|
kind: 'arrow',
|
|
316
|
-
|
|
327
|
+
source: {
|
|
328
|
+
kind: 'source_reference',
|
|
317
329
|
name: 'flights',
|
|
318
330
|
},
|
|
319
331
|
view: {
|
|
@@ -345,7 +357,8 @@ exports.thingy4asdfasdf = {
|
|
|
345
357
|
exports.thingy4asdfas = {
|
|
346
358
|
definition: {
|
|
347
359
|
kind: 'arrow',
|
|
348
|
-
|
|
360
|
+
source: {
|
|
361
|
+
kind: 'source_reference',
|
|
349
362
|
name: 'flights',
|
|
350
363
|
},
|
|
351
364
|
view: {
|
|
@@ -358,7 +371,8 @@ exports.thingy4asdfas = {
|
|
|
358
371
|
exports.thingy4dfdsfs = {
|
|
359
372
|
definition: {
|
|
360
373
|
kind: 'arrow',
|
|
361
|
-
|
|
374
|
+
source: {
|
|
375
|
+
kind: 'source_reference',
|
|
362
376
|
name: 'flights',
|
|
363
377
|
},
|
|
364
378
|
view: {
|
|
@@ -383,7 +397,8 @@ exports.thingy4dfdsfs = {
|
|
|
383
397
|
exports.thingy4sdfsd = {
|
|
384
398
|
definition: {
|
|
385
399
|
kind: 'arrow',
|
|
386
|
-
|
|
400
|
+
source: {
|
|
401
|
+
kind: 'source_reference',
|
|
387
402
|
name: 'flights',
|
|
388
403
|
},
|
|
389
404
|
view: {
|
|
@@ -410,7 +425,8 @@ exports.thingy4sdfsd = {
|
|
|
410
425
|
exports.thingy4sddfdfsd = {
|
|
411
426
|
definition: {
|
|
412
427
|
kind: 'arrow',
|
|
413
|
-
|
|
428
|
+
source: {
|
|
429
|
+
kind: 'source_reference',
|
|
414
430
|
name: 'flights',
|
|
415
431
|
},
|
|
416
432
|
view: {
|
package/dist/to_malloy.js
CHANGED
|
@@ -39,11 +39,14 @@ function codeFromFragments(fragments, { tabWidth } = { tabWidth: 2 }) {
|
|
|
39
39
|
}
|
|
40
40
|
return code;
|
|
41
41
|
}
|
|
42
|
-
function wrap(open, block, close) {
|
|
42
|
+
function wrap(open, block, close, options) {
|
|
43
|
+
var _a;
|
|
43
44
|
if (block.includes(NEWLINE)) {
|
|
44
45
|
return [open, NEWLINE, INDENT, ...block, NEWLINE, OUTDENT, close];
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
+
const spaces = (_a = options === null || options === void 0 ? void 0 : options.spaces) !== null && _a !== void 0 ? _a : true;
|
|
48
|
+
const maybeSpace = spaces ? ' ' : '';
|
|
49
|
+
return [open, maybeSpace, ...block, maybeSpace, close];
|
|
47
50
|
}
|
|
48
51
|
function escapeString(str) {
|
|
49
52
|
return { contents: str, quoteCharacter: '"' }; // TODO
|
|
@@ -153,7 +156,7 @@ function referenceToFragments(reference) {
|
|
|
153
156
|
parameterFragments.push(',', NEWLINE);
|
|
154
157
|
}
|
|
155
158
|
}
|
|
156
|
-
fragments.push(...wrap('(', parameterFragments, ')'));
|
|
159
|
+
fragments.push(...wrap('(', parameterFragments, ')', { spaces: false }));
|
|
157
160
|
}
|
|
158
161
|
return fragments;
|
|
159
162
|
}
|
|
@@ -164,11 +167,24 @@ function queryToFragments(query) {
|
|
|
164
167
|
fragments.push(...queryDefinitionToFragments(query.definition));
|
|
165
168
|
return fragments;
|
|
166
169
|
}
|
|
170
|
+
function queryArrowSourceToFragments(query) {
|
|
171
|
+
const fragments = [];
|
|
172
|
+
switch (query.kind) {
|
|
173
|
+
case 'source_reference': {
|
|
174
|
+
fragments.push(...referenceToFragments(query));
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
case 'refinement':
|
|
178
|
+
fragments.push(...queryDefinitionToFragments(query));
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
return fragments;
|
|
182
|
+
}
|
|
167
183
|
function queryDefinitionToFragments(query) {
|
|
168
184
|
const fragments = [];
|
|
169
185
|
switch (query.kind) {
|
|
170
186
|
case 'arrow': {
|
|
171
|
-
fragments.push(...
|
|
187
|
+
fragments.push(...queryArrowSourceToFragments(query.source));
|
|
172
188
|
fragments.push(' -> ');
|
|
173
189
|
fragments.push(...viewDefinitionToFragments(query.view));
|
|
174
190
|
break;
|
|
@@ -178,7 +194,13 @@ function queryDefinitionToFragments(query) {
|
|
|
178
194
|
break;
|
|
179
195
|
}
|
|
180
196
|
case 'refinement': {
|
|
181
|
-
|
|
197
|
+
const baseFragments = queryDefinitionToFragments(query.base);
|
|
198
|
+
if (query.base.kind === 'arrow') {
|
|
199
|
+
fragments.push(...wrap('(', baseFragments, ')', { spaces: false }));
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
fragments.push(...baseFragments);
|
|
203
|
+
}
|
|
182
204
|
fragments.push(' + ');
|
|
183
205
|
fragments.push(...viewDefinitionToFragments(query.refinement));
|
|
184
206
|
break;
|
package/dist/types.d.ts
CHANGED
|
@@ -312,9 +312,17 @@ export type Query = {
|
|
|
312
312
|
annotations?: Array<Annotation>;
|
|
313
313
|
};
|
|
314
314
|
export type QueryArrow = {
|
|
315
|
-
|
|
315
|
+
source: QueryArrowSource;
|
|
316
316
|
view: ViewDefinition;
|
|
317
317
|
};
|
|
318
|
+
export type QueryArrowSourceType = 'refinement' | 'source_reference';
|
|
319
|
+
export type QueryArrowSource = QueryArrowSourceWithRefinement | QueryArrowSourceWithSourceReference;
|
|
320
|
+
export type QueryArrowSourceWithRefinement = {
|
|
321
|
+
kind: 'refinement';
|
|
322
|
+
} & QueryRefinement;
|
|
323
|
+
export type QueryArrowSourceWithSourceReference = {
|
|
324
|
+
kind: 'source_reference';
|
|
325
|
+
} & Reference;
|
|
318
326
|
export type QueryDefinitionType = 'arrow' | 'query_reference' | 'refinement';
|
|
319
327
|
export type QueryDefinition = QueryDefinitionWithArrow | QueryDefinitionWithQueryReference | QueryDefinitionWithRefinement;
|
|
320
328
|
export type QueryDefinitionWithArrow = {
|
|
@@ -335,7 +343,7 @@ export type QueryInfo = {
|
|
|
335
343
|
location?: Location;
|
|
336
344
|
};
|
|
337
345
|
export type QueryRefinement = {
|
|
338
|
-
|
|
346
|
+
base: QueryDefinition;
|
|
339
347
|
refinement: ViewDefinition;
|
|
340
348
|
};
|
|
341
349
|
export type Range = {
|
package/package.json
CHANGED
package/thrift/malloy.thrift
CHANGED
|
@@ -305,7 +305,6 @@ stages: [
|
|
|
305
305
|
]
|
|
306
306
|
}
|
|
307
307
|
]
|
|
308
|
-
|
|
309
308
|
*/
|
|
310
309
|
|
|
311
310
|
struct Query {
|
|
@@ -319,13 +318,18 @@ union QueryDefinition {
|
|
|
319
318
|
3: QueryRefinement refinement,
|
|
320
319
|
}
|
|
321
320
|
|
|
321
|
+
union QueryArrowSource {
|
|
322
|
+
3: QueryRefinement refinement,
|
|
323
|
+
2: Reference source_reference,
|
|
324
|
+
}
|
|
325
|
+
|
|
322
326
|
struct QueryArrow {
|
|
323
|
-
1: required
|
|
327
|
+
1: required QueryArrowSource source,
|
|
324
328
|
2: required ViewDefinition view,
|
|
325
329
|
}
|
|
326
330
|
|
|
327
331
|
struct QueryRefinement {
|
|
328
|
-
1: required
|
|
332
|
+
1: required QueryDefinition base,
|
|
329
333
|
2: required ViewDefinition refinement,
|
|
330
334
|
}
|
|
331
335
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/nest_unions.spec.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the MIT license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
const nest_unions_1 = require("./nest_unions");
|
|
10
|
-
describe('unnest unions', () => {
|
|
11
|
-
test('works', () => {
|
|
12
|
-
const query = {
|
|
13
|
-
definition: {
|
|
14
|
-
kind: 'arrow',
|
|
15
|
-
source_reference: {
|
|
16
|
-
name: 'flights',
|
|
17
|
-
},
|
|
18
|
-
view: {
|
|
19
|
-
kind: 'segment',
|
|
20
|
-
operations: [
|
|
21
|
-
{
|
|
22
|
-
kind: 'group_by',
|
|
23
|
-
field: {
|
|
24
|
-
expression: {
|
|
25
|
-
kind: 'field_reference',
|
|
26
|
-
name: 'carrier',
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
kind: 'limit',
|
|
32
|
-
limit: 10,
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
expect((0, nest_unions_1.nestUnions)(query)).toMatchObject({
|
|
39
|
-
definition: {
|
|
40
|
-
arrow: {
|
|
41
|
-
source_reference: {
|
|
42
|
-
name: 'flights',
|
|
43
|
-
},
|
|
44
|
-
view: {
|
|
45
|
-
segment: {
|
|
46
|
-
operations: [
|
|
47
|
-
{
|
|
48
|
-
group_by: {
|
|
49
|
-
field: {
|
|
50
|
-
expression: {
|
|
51
|
-
field_reference: { name: 'carrier' },
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
limit: { limit: 10 },
|
|
58
|
-
},
|
|
59
|
-
],
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
//# sourceMappingURL=nest_unions.spec.js.map
|