@malloydata/malloy 0.0.43 → 0.0.44-dev230623185845
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.d.ts +2 -1
- package/dist/index.js +3 -1
- package/dist/lang/ast/elements/define-query.d.ts +7 -1
- package/dist/lang/ast/elements/define-query.js +10 -1
- package/dist/lang/ast/elements/define-source.d.ts +7 -1
- package/dist/lang/ast/elements/define-source.js +16 -9
- package/dist/lang/ast/elements/pipeline-desc.d.ts +2 -1
- package/dist/lang/ast/elements/pipeline-desc.js +6 -2
- package/dist/lang/ast/elements/refined-source.d.ts +5 -4
- package/dist/lang/ast/elements/refined-source.js +5 -0
- package/dist/lang/ast/expressions/expr-id-reference.js +4 -4
- package/dist/lang/ast/field-space/column-space-field.d.ts +1 -1
- package/dist/lang/ast/field-space/column-space-field.js +3 -3
- package/dist/lang/ast/field-space/field-definition-value.d.ts +1 -1
- package/dist/lang/ast/field-space/field-definition-value.js +16 -10
- package/dist/lang/ast/field-space/query-field-struct.js +1 -0
- package/dist/lang/ast/field-space/query-spaces.js +4 -1
- package/dist/lang/ast/field-space/reference-field.d.ts +8 -2
- package/dist/lang/ast/field-space/reference-field.js +51 -9
- package/dist/lang/ast/index.d.ts +2 -2
- package/dist/lang/ast/index.js +2 -2
- package/dist/lang/ast/query-elements/anonymous-query.d.ts +6 -1
- package/dist/lang/ast/query-elements/anonymous-query.js +8 -0
- package/dist/lang/ast/query-elements/existing-query.js +3 -0
- package/dist/lang/ast/query-elements/full-query.js +7 -4
- package/dist/lang/ast/query-elements/run-query.d.ts +6 -1
- package/dist/lang/ast/query-elements/run-query.js +11 -1
- package/dist/lang/ast/query-items/field-declaration.d.ts +6 -2
- package/dist/lang/ast/query-items/field-declaration.js +6 -0
- package/dist/lang/ast/query-items/field-references.d.ts +13 -5
- package/dist/lang/ast/query-items/field-references.js +10 -4
- package/dist/lang/ast/query-properties/aggregate.d.ts +3 -3
- package/dist/lang/ast/query-properties/aggregate.js +5 -4
- package/dist/lang/ast/query-properties/calculate.d.ts +3 -3
- package/dist/lang/ast/query-properties/calculate.js +5 -4
- package/dist/lang/ast/query-properties/declare-fields.d.ts +4 -3
- package/dist/lang/ast/query-properties/declare-fields.js +5 -4
- package/dist/lang/ast/query-properties/dimensions.d.ts +4 -0
- package/dist/lang/ast/query-properties/{dimmensions.js → dimensions.js} +4 -3
- package/dist/lang/ast/query-properties/extend.d.ts +1 -1
- package/dist/lang/ast/query-properties/extend.js +3 -2
- package/dist/lang/ast/query-properties/filters.d.ts +0 -1
- package/dist/lang/ast/query-properties/filters.js +2 -2
- package/dist/lang/ast/query-properties/group-by.d.ts +3 -3
- package/dist/lang/ast/query-properties/group-by.js +5 -4
- package/dist/lang/ast/query-properties/joins.d.ts +10 -4
- package/dist/lang/ast/query-properties/joins.js +16 -2
- package/dist/lang/ast/query-properties/measures.d.ts +1 -2
- package/dist/lang/ast/query-properties/measures.js +3 -2
- package/dist/lang/ast/query-properties/nest.d.ts +5 -1
- package/dist/lang/ast/query-properties/nest.js +11 -1
- package/dist/lang/ast/query-properties/nests.d.ts +3 -2
- package/dist/lang/ast/query-properties/nests.js +4 -3
- package/dist/lang/ast/query-properties/ordering.d.ts +1 -0
- package/dist/lang/ast/query-properties/ordering.js +2 -1
- package/dist/lang/ast/query-properties/project-statement.d.ts +3 -3
- package/dist/lang/ast/query-properties/project-statement.js +5 -4
- package/dist/lang/ast/query-properties/qop-desc.d.ts +1 -1
- package/dist/lang/ast/query-properties/qop-desc.js +3 -2
- package/dist/lang/ast/source-properties/renames.d.ts +1 -1
- package/dist/lang/ast/source-properties/renames.js +3 -2
- package/dist/lang/ast/source-properties/turtles.d.ts +3 -3
- package/dist/lang/ast/source-properties/turtles.js +5 -4
- package/dist/lang/ast/types/definition-list.d.ts +10 -0
- package/dist/lang/ast/types/definition-list.js +52 -0
- package/dist/lang/ast/types/malloy-element.d.ts +21 -6
- package/dist/lang/ast/types/malloy-element.js +45 -13
- package/dist/lang/ast/types/noteable.d.ts +12 -0
- package/dist/lang/ast/types/noteable.js +42 -0
- package/dist/lang/ast/types/query-extend-property.d.ts +1 -1
- package/dist/lang/ast/types/query-extend-property.js +2 -2
- package/dist/lang/ast/types/query-property.d.ts +3 -2
- package/dist/lang/ast/types/query-property.js +2 -0
- package/dist/lang/ast/types/source-desc.d.ts +5 -0
- package/dist/lang/ast/types/{explore-desc.js → source-desc.js} +7 -6
- package/dist/lang/ast/types/source-property.d.ts +2 -2
- package/dist/lang/ast/types/source-property.js +2 -0
- package/dist/lang/ast/types/space-field.d.ts +1 -0
- package/dist/lang/lib/Malloy/MalloyLexer.d.ts +56 -54
- package/dist/lang/lib/Malloy/MalloyLexer.js +1051 -1042
- package/dist/lang/lib/Malloy/MalloyParser.d.ts +326 -182
- package/dist/lang/lib/Malloy/MalloyParser.js +2894 -1718
- package/dist/lang/lib/Malloy/MalloyParserListener.d.ts +133 -19
- package/dist/lang/lib/Malloy/MalloyParserVisitor.d.ts +83 -11
- package/dist/lang/malloy-to-ast.d.ts +23 -10
- package/dist/lang/malloy-to-ast.js +144 -122
- package/dist/lang/parse-tree-walkers/document-symbol-walker.js +2 -1
- package/dist/lang/test/annotation.spec.d.ts +1 -0
- package/dist/lang/test/annotation.spec.js +565 -0
- package/dist/lang/test/parse.spec.js +20 -19
- package/dist/lang/test/test-translator.d.ts +2 -2
- package/dist/lang/test/test-translator.js +27 -15
- package/dist/malloy.d.ts +11 -5
- package/dist/malloy.js +16 -0
- package/dist/model/malloy_query.js +10 -0
- package/dist/model/malloy_types.d.ts +19 -2
- package/dist/model/malloy_types.js +1 -1
- package/dist/tags.d.ts +21 -0
- package/dist/tags.js +155 -0
- package/package.json +1 -1
- package/dist/lang/ast/query-properties/dimmensions.d.ts +0 -5
- package/dist/lang/ast/types/explore-desc.d.ts +0 -5
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { Dialect } from '../../../dialect/dialect';
|
|
2
|
-
import { FieldTypeDef, StructDef } from '../../../model/malloy_types';
|
|
2
|
+
import { Annotation, FieldTypeDef, StructDef } from '../../../model/malloy_types';
|
|
3
3
|
import { ExprValue } from '../types/expr-value';
|
|
4
4
|
import { ExpressionDef } from '../types/expression-def';
|
|
5
5
|
import { FieldName, FieldSpace, QueryFieldSpace } from '../types/field-space';
|
|
6
6
|
import { LookupResult } from '../types/lookup-result';
|
|
7
7
|
import { MalloyElement } from '../types/malloy-element';
|
|
8
8
|
import { SpaceEntry } from '../types/space-entry';
|
|
9
|
+
import { extendNoteMethod, Noteable } from '../types/noteable';
|
|
9
10
|
export declare type FieldDeclarationConstructor = new (expr: ExpressionDef, defineName: string, exprSrc?: string) => FieldDeclaration;
|
|
10
|
-
export declare abstract class FieldDeclaration extends MalloyElement {
|
|
11
|
+
export declare abstract class FieldDeclaration extends MalloyElement implements Noteable {
|
|
11
12
|
readonly expr: ExpressionDef;
|
|
12
13
|
readonly defineName: string;
|
|
13
14
|
readonly exprSrc?: string | undefined;
|
|
15
|
+
readonly isNoteableObj = true;
|
|
16
|
+
extendNote: typeof extendNoteMethod;
|
|
17
|
+
note?: Annotation;
|
|
14
18
|
constructor(expr: ExpressionDef, defineName: string, exprSrc?: string | undefined);
|
|
15
19
|
fieldDef(fs: FieldSpace, exprName: string): FieldTypeDef;
|
|
16
20
|
abstract typecheckExprValue(expr: ExprValue): void;
|
|
@@ -29,12 +29,15 @@ const fragtype_utils_1 = require("../fragtype-utils");
|
|
|
29
29
|
const granular_result_1 = require("../types/granular-result");
|
|
30
30
|
const malloy_element_1 = require("../types/malloy-element");
|
|
31
31
|
const typecheck_utils_1 = require("./typecheck_utils");
|
|
32
|
+
const noteable_1 = require("../types/noteable");
|
|
32
33
|
class FieldDeclaration extends malloy_element_1.MalloyElement {
|
|
33
34
|
constructor(expr, defineName, exprSrc) {
|
|
34
35
|
super({ expr: expr });
|
|
35
36
|
this.expr = expr;
|
|
36
37
|
this.defineName = defineName;
|
|
37
38
|
this.exprSrc = exprSrc;
|
|
39
|
+
this.isNoteableObj = true;
|
|
40
|
+
this.extendNote = noteable_1.extendNoteMethod;
|
|
38
41
|
}
|
|
39
42
|
fieldDef(fs, exprName) {
|
|
40
43
|
/*
|
|
@@ -92,6 +95,9 @@ class FieldDeclaration extends malloy_element_1.MalloyElement {
|
|
|
92
95
|
if ((0, granular_result_1.isGranularResult)(exprValue) && template.type === 'timestamp') {
|
|
93
96
|
template.timeframe = exprValue.timeframe;
|
|
94
97
|
}
|
|
98
|
+
if (this.note) {
|
|
99
|
+
template.annotation = this.note;
|
|
100
|
+
}
|
|
95
101
|
return template;
|
|
96
102
|
}
|
|
97
103
|
const circularDef = exprFS instanceof DefSpace && exprFS.foundCircle;
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { FieldDef, TypeDesc } from '../../../model/malloy_types';
|
|
1
|
+
import { Annotation, FieldDef, TypeDesc } from '../../../model/malloy_types';
|
|
2
|
+
import { DefinitionList } from '../types/definition-list';
|
|
2
3
|
import { FieldName, FieldSpace } from '../types/field-space';
|
|
3
4
|
import { LookupResult } from '../types/lookup-result';
|
|
4
5
|
import { ListOf, MalloyElement } from '../types/malloy-element';
|
|
6
|
+
import { Noteable, extendNoteMethod } from '../types/noteable';
|
|
5
7
|
export declare type FieldReferenceConstructor = new (names: FieldName[]) => FieldReference;
|
|
6
|
-
export declare abstract class FieldReference extends ListOf<FieldName> {
|
|
7
|
-
|
|
8
|
+
export declare abstract class FieldReference extends ListOf<FieldName> implements Noteable {
|
|
9
|
+
readonly isNoteableObj = true;
|
|
10
|
+
note?: Annotation;
|
|
11
|
+
extendNote: typeof extendNoteMethod;
|
|
8
12
|
constructor(names: FieldName[]);
|
|
9
13
|
get refString(): string;
|
|
10
14
|
get outputName(): string;
|
|
@@ -53,15 +57,19 @@ export declare class DimensionFieldReference extends FieldReference {
|
|
|
53
57
|
elementType: string;
|
|
54
58
|
typecheck(type: TypeDesc): void;
|
|
55
59
|
}
|
|
56
|
-
export declare class WildcardFieldReference extends MalloyElement {
|
|
60
|
+
export declare class WildcardFieldReference extends MalloyElement implements Noteable {
|
|
57
61
|
readonly joinPath: FieldReference | undefined;
|
|
58
62
|
readonly star: '*' | '**';
|
|
59
63
|
elementType: string;
|
|
64
|
+
note?: Annotation;
|
|
65
|
+
readonly isNoteableObj = true;
|
|
66
|
+
extendNote: typeof extendNoteMethod;
|
|
60
67
|
constructor(joinPath: FieldReference | undefined, star: '*' | '**');
|
|
61
68
|
getFieldDef(): FieldDef;
|
|
62
69
|
get refString(): string;
|
|
63
70
|
}
|
|
64
71
|
export declare type FieldReferenceElement = FieldReference | WildcardFieldReference;
|
|
65
|
-
export declare class FieldReferences extends
|
|
72
|
+
export declare class FieldReferences extends DefinitionList<FieldReferenceElement> {
|
|
73
|
+
elementType: string;
|
|
66
74
|
constructor(members: FieldReferenceElement[]);
|
|
67
75
|
}
|
|
@@ -23,12 +23,15 @@
|
|
|
23
23
|
*/
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.FieldReferences = exports.WildcardFieldReference = exports.DimensionFieldReference = exports.MeasureFieldReference = exports.DeclareFieldReference = exports.ProjectFieldReference = exports.GroupByFieldReference = exports.AggregateFieldReference = exports.IndexFieldReference = exports.CalculateFieldReference = exports.ExpressionFieldReference = exports.AcceptExceptFieldReference = exports.FieldReference = void 0;
|
|
26
|
+
const definition_list_1 = require("../types/definition-list");
|
|
26
27
|
const malloy_element_1 = require("../types/malloy-element");
|
|
28
|
+
const noteable_1 = require("../types/noteable");
|
|
27
29
|
const typecheck_utils_1 = require("./typecheck_utils");
|
|
28
30
|
class FieldReference extends malloy_element_1.ListOf {
|
|
29
31
|
constructor(names) {
|
|
30
|
-
super(
|
|
31
|
-
this.
|
|
32
|
+
super(names);
|
|
33
|
+
this.isNoteableObj = true;
|
|
34
|
+
this.extendNote = noteable_1.extendNoteMethod;
|
|
32
35
|
}
|
|
33
36
|
get refString() {
|
|
34
37
|
return this.list.map(n => n.refString).join('.');
|
|
@@ -167,6 +170,8 @@ class WildcardFieldReference extends malloy_element_1.MalloyElement {
|
|
|
167
170
|
this.joinPath = joinPath;
|
|
168
171
|
this.star = star;
|
|
169
172
|
this.elementType = 'wildcardFieldReference';
|
|
173
|
+
this.isNoteableObj = true;
|
|
174
|
+
this.extendNote = noteable_1.extendNoteMethod;
|
|
170
175
|
this.has({ joinPath: joinPath });
|
|
171
176
|
}
|
|
172
177
|
getFieldDef() {
|
|
@@ -179,9 +184,10 @@ class WildcardFieldReference extends malloy_element_1.MalloyElement {
|
|
|
179
184
|
}
|
|
180
185
|
}
|
|
181
186
|
exports.WildcardFieldReference = WildcardFieldReference;
|
|
182
|
-
class FieldReferences extends
|
|
187
|
+
class FieldReferences extends definition_list_1.DefinitionList {
|
|
183
188
|
constructor(members) {
|
|
184
|
-
super(
|
|
189
|
+
super(members);
|
|
190
|
+
this.elementType = 'fieldReferenceList';
|
|
185
191
|
}
|
|
186
192
|
}
|
|
187
193
|
exports.FieldReferences = FieldReferences;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DefinitionList } from '../types/definition-list';
|
|
2
2
|
import { QueryItem } from '../types/query-item';
|
|
3
|
-
export declare class Aggregate extends
|
|
4
|
-
|
|
3
|
+
export declare class Aggregate extends DefinitionList<QueryItem> {
|
|
4
|
+
elementType: string;
|
|
5
5
|
}
|
|
@@ -23,10 +23,11 @@
|
|
|
23
23
|
*/
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.Aggregate = void 0;
|
|
26
|
-
const
|
|
27
|
-
class Aggregate extends
|
|
28
|
-
constructor(
|
|
29
|
-
super(
|
|
26
|
+
const definition_list_1 = require("../types/definition-list");
|
|
27
|
+
class Aggregate extends definition_list_1.DefinitionList {
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.elementType = 'aggregateList';
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.Aggregate = Aggregate;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DefinitionList } from '../types/definition-list';
|
|
2
2
|
import { QueryItem } from '../types/query-item';
|
|
3
|
-
export declare class Calculate extends
|
|
4
|
-
|
|
3
|
+
export declare class Calculate extends DefinitionList<QueryItem> {
|
|
4
|
+
elementType: string;
|
|
5
5
|
}
|
|
@@ -23,10 +23,11 @@
|
|
|
23
23
|
*/
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.Calculate = void 0;
|
|
26
|
-
const
|
|
27
|
-
class Calculate extends
|
|
28
|
-
constructor(
|
|
29
|
-
super(
|
|
26
|
+
const definition_list_1 = require("../types/definition-list");
|
|
27
|
+
class Calculate extends definition_list_1.DefinitionList {
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.elementType = 'calculate';
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.Calculate = Calculate;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FieldDeclaration } from '../query-items/field-declaration';
|
|
2
|
-
import {
|
|
3
|
-
export declare class DeclareFields extends
|
|
4
|
-
|
|
2
|
+
import { DefinitionList } from '../types/definition-list';
|
|
3
|
+
export declare class DeclareFields extends DefinitionList<FieldDeclaration> {
|
|
4
|
+
elementType: string;
|
|
5
|
+
constructor(fields: FieldDeclaration[]);
|
|
5
6
|
}
|
|
@@ -23,10 +23,11 @@
|
|
|
23
23
|
*/
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.DeclareFields = void 0;
|
|
26
|
-
const
|
|
27
|
-
class DeclareFields extends
|
|
28
|
-
constructor(fields
|
|
29
|
-
super(
|
|
26
|
+
const definition_list_1 = require("../types/definition-list");
|
|
27
|
+
class DeclareFields extends definition_list_1.DefinitionList {
|
|
28
|
+
constructor(fields) {
|
|
29
|
+
super(fields);
|
|
30
|
+
this.elementType = 'declareFields';
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.DeclareFields = DeclareFields;
|
|
@@ -25,9 +25,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
25
25
|
exports.Dimensions = void 0;
|
|
26
26
|
const declare_fields_1 = require("./declare-fields");
|
|
27
27
|
class Dimensions extends declare_fields_1.DeclareFields {
|
|
28
|
-
constructor(
|
|
29
|
-
super(
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.elementType = 'dimensionList';
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.Dimensions = Dimensions;
|
|
33
|
-
//# sourceMappingURL=
|
|
34
|
+
//# sourceMappingURL=dimensions.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ListOf } from '../types/malloy-element';
|
|
2
2
|
import { QueryExtendProperty } from '../types/query-extend-property';
|
|
3
3
|
export declare class ExtendBlock extends ListOf<QueryExtendProperty> {
|
|
4
|
-
|
|
4
|
+
elementType: string;
|
|
5
5
|
}
|
|
@@ -25,8 +25,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
25
25
|
exports.ExtendBlock = void 0;
|
|
26
26
|
const malloy_element_1 = require("../types/malloy-element");
|
|
27
27
|
class ExtendBlock extends malloy_element_1.ListOf {
|
|
28
|
-
constructor(
|
|
29
|
-
super(
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.elementType = 'extendBlock';
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.ExtendBlock = ExtendBlock;
|
|
@@ -12,7 +12,6 @@ export declare class FilterElement extends MalloyElement {
|
|
|
12
12
|
export declare class Filter extends ListOf<FilterElement> {
|
|
13
13
|
elementType: string;
|
|
14
14
|
private readonly havingClause?;
|
|
15
|
-
constructor(elements?: FilterElement[]);
|
|
16
15
|
set having(isHaving: boolean);
|
|
17
16
|
getFilterList(fs: FieldSpace): FilterExpression[];
|
|
18
17
|
}
|
|
@@ -53,8 +53,8 @@ class FilterElement extends malloy_element_1.MalloyElement {
|
|
|
53
53
|
}
|
|
54
54
|
exports.FilterElement = FilterElement;
|
|
55
55
|
class Filter extends malloy_element_1.ListOf {
|
|
56
|
-
constructor(
|
|
57
|
-
super(
|
|
56
|
+
constructor() {
|
|
57
|
+
super(...arguments);
|
|
58
58
|
this.elementType = 'filter';
|
|
59
59
|
}
|
|
60
60
|
set having(isHaving) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DefinitionList } from '../types/definition-list';
|
|
2
2
|
import { QueryItem } from '../types/query-item';
|
|
3
|
-
export declare class GroupBy extends
|
|
4
|
-
|
|
3
|
+
export declare class GroupBy extends DefinitionList<QueryItem> {
|
|
4
|
+
elementType: string;
|
|
5
5
|
}
|
|
@@ -23,10 +23,11 @@
|
|
|
23
23
|
*/
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.GroupBy = void 0;
|
|
26
|
-
const
|
|
27
|
-
class GroupBy extends
|
|
28
|
-
constructor(
|
|
29
|
-
super(
|
|
26
|
+
const definition_list_1 = require("../types/definition-list");
|
|
27
|
+
class GroupBy extends definition_list_1.DefinitionList {
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.elementType = 'groupBy';
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.GroupBy = GroupBy;
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import { Expr, StructDef } from '../../../model/malloy_types';
|
|
1
|
+
import { Annotation, Expr, StructDef } from '../../../model/malloy_types';
|
|
2
2
|
import { Source } from '../elements/source';
|
|
3
|
+
import { DefinitionList } from '../types/definition-list';
|
|
3
4
|
import { ExpressionDef } from '../types/expression-def';
|
|
4
5
|
import { FieldSpace } from '../types/field-space';
|
|
5
|
-
import {
|
|
6
|
-
|
|
6
|
+
import { MalloyElement, ModelEntryReference } from '../types/malloy-element';
|
|
7
|
+
import { extendNoteMethod, Noteable } from '../types/noteable';
|
|
8
|
+
export declare abstract class Join extends MalloyElement implements Noteable {
|
|
7
9
|
abstract name: ModelEntryReference;
|
|
8
10
|
abstract structDef(): StructDef;
|
|
9
11
|
abstract fixupJoinOn(outer: FieldSpace, inStruct: StructDef): void;
|
|
12
|
+
readonly isNoteableObj = true;
|
|
13
|
+
extendNote: typeof extendNoteMethod;
|
|
14
|
+
note?: Annotation;
|
|
10
15
|
}
|
|
11
16
|
export declare class KeyJoin extends Join {
|
|
12
17
|
readonly name: ModelEntryReference;
|
|
@@ -30,7 +35,8 @@ export declare class ExpressionJoin extends Join {
|
|
|
30
35
|
fixupJoinOn(outer: FieldSpace, inStruct: StructDef): Expr | undefined;
|
|
31
36
|
structDef(): StructDef;
|
|
32
37
|
}
|
|
33
|
-
export declare class Joins extends
|
|
38
|
+
export declare class Joins extends DefinitionList<Join> {
|
|
39
|
+
elementType: string;
|
|
34
40
|
constructor(joins: Join[]);
|
|
35
41
|
}
|
|
36
42
|
export {};
|
|
@@ -25,8 +25,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
25
25
|
exports.Joins = exports.ExpressionJoin = exports.KeyJoin = exports.Join = void 0;
|
|
26
26
|
const malloy_types_1 = require("../../../model/malloy_types");
|
|
27
27
|
const utils_1 = require("../expressions/utils");
|
|
28
|
+
const definition_list_1 = require("../types/definition-list");
|
|
28
29
|
const malloy_element_1 = require("../types/malloy-element");
|
|
30
|
+
const noteable_1 = require("../types/noteable");
|
|
29
31
|
class Join extends malloy_element_1.MalloyElement {
|
|
32
|
+
constructor() {
|
|
33
|
+
super(...arguments);
|
|
34
|
+
this.isNoteableObj = true;
|
|
35
|
+
this.extendNote = noteable_1.extendNoteMethod;
|
|
36
|
+
}
|
|
30
37
|
}
|
|
31
38
|
exports.Join = Join;
|
|
32
39
|
class KeyJoin extends Join {
|
|
@@ -54,6 +61,9 @@ class KeyJoin extends Join {
|
|
|
54
61
|
else {
|
|
55
62
|
joinStruct.as = this.name.refString;
|
|
56
63
|
}
|
|
64
|
+
if (this.note) {
|
|
65
|
+
joinStruct.annotation = this.note;
|
|
66
|
+
}
|
|
57
67
|
return joinStruct;
|
|
58
68
|
}
|
|
59
69
|
fixupJoinOn(outer, inStruct) {
|
|
@@ -133,13 +143,17 @@ class ExpressionJoin extends Join {
|
|
|
133
143
|
else {
|
|
134
144
|
joinStruct.as = this.name.refString;
|
|
135
145
|
}
|
|
146
|
+
if (this.note) {
|
|
147
|
+
joinStruct.annotation = this.note;
|
|
148
|
+
}
|
|
136
149
|
return joinStruct;
|
|
137
150
|
}
|
|
138
151
|
}
|
|
139
152
|
exports.ExpressionJoin = ExpressionJoin;
|
|
140
|
-
class Joins extends
|
|
153
|
+
class Joins extends definition_list_1.DefinitionList {
|
|
141
154
|
constructor(joins) {
|
|
142
|
-
super(
|
|
155
|
+
super(joins);
|
|
156
|
+
this.elementType = 'joinList';
|
|
143
157
|
}
|
|
144
158
|
}
|
|
145
159
|
exports.Joins = Joins;
|
|
@@ -25,8 +25,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
25
25
|
exports.Measures = void 0;
|
|
26
26
|
const declare_fields_1 = require("./declare-fields");
|
|
27
27
|
class Measures extends declare_fields_1.DeclareFields {
|
|
28
|
-
constructor(
|
|
29
|
-
super(
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.elementType = 'measureList';
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.Measures = Measures;
|
|
@@ -2,11 +2,15 @@ import * as model from '../../../model/malloy_types';
|
|
|
2
2
|
import { NestedQuery } from '../types/nested-query';
|
|
3
3
|
import { FieldName, FieldSpace } from '../types/field-space';
|
|
4
4
|
import { MalloyElement } from '../types/malloy-element';
|
|
5
|
+
import { Noteable, extendNoteMethod } from '../types/noteable';
|
|
5
6
|
import { QueryField } from '../field-space/query-space-field';
|
|
6
7
|
import { TurtleHeadedPipe } from '../types/turtle-headed-pipe';
|
|
7
8
|
import { QueryInputSpace } from '../field-space/query-spaces';
|
|
8
|
-
export declare class TurtleDecl extends TurtleHeadedPipe {
|
|
9
|
+
export declare class TurtleDecl extends TurtleHeadedPipe implements Noteable {
|
|
9
10
|
readonly name: string;
|
|
11
|
+
readonly isNoteableObj = true;
|
|
12
|
+
extendNote: typeof extendNoteMethod;
|
|
13
|
+
note?: model.Annotation;
|
|
10
14
|
constructor(name: string);
|
|
11
15
|
getPipeline(fs: FieldSpace): model.Pipeline;
|
|
12
16
|
getFieldDef(fs: FieldSpace, nestParent: QueryInputSpace | undefined): model.TurtleDef;
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.QueryFieldAST = exports.isNestedQuery = exports.NestDefinition = exports.NestRefinement = exports.TurtleDecl = void 0;
|
|
26
|
+
const noteable_1 = require("../types/noteable");
|
|
26
27
|
const nest_reference_1 = require("./nest-reference");
|
|
27
28
|
const query_space_field_1 = require("../field-space/query-space-field");
|
|
28
29
|
const struct_utils_1 = require("../struct-utils");
|
|
@@ -36,6 +37,8 @@ class TurtleDecl extends turtle_headed_pipe_1.TurtleHeadedPipe {
|
|
|
36
37
|
constructor(name) {
|
|
37
38
|
super();
|
|
38
39
|
this.name = name;
|
|
40
|
+
this.isNoteableObj = true;
|
|
41
|
+
this.extendNote = noteable_1.extendNoteMethod;
|
|
39
42
|
}
|
|
40
43
|
getPipeline(fs) {
|
|
41
44
|
const modelPipe = { pipeline: [] };
|
|
@@ -51,6 +54,9 @@ class TurtleDecl extends turtle_headed_pipe_1.TurtleHeadedPipe {
|
|
|
51
54
|
if (isTurtle(headDef)) {
|
|
52
55
|
const newPipe = this.refinePipeline(fs, headDef);
|
|
53
56
|
modelPipe.pipeline = [...newPipe.pipeline];
|
|
57
|
+
if (headDef.annotation) {
|
|
58
|
+
this.extendNote({ inherits: headDef.annotation });
|
|
59
|
+
}
|
|
54
60
|
reportWrongType = false;
|
|
55
61
|
}
|
|
56
62
|
}
|
|
@@ -78,12 +84,16 @@ class TurtleDecl extends turtle_headed_pipe_1.TurtleHeadedPipe {
|
|
|
78
84
|
this.nestedInQuerySpace = nestParent;
|
|
79
85
|
}
|
|
80
86
|
const pipe = this.getPipeline(fs);
|
|
81
|
-
|
|
87
|
+
const turtle = {
|
|
82
88
|
type: 'turtle',
|
|
83
89
|
name: this.name,
|
|
84
90
|
...pipe,
|
|
85
91
|
location: this.location,
|
|
86
92
|
};
|
|
93
|
+
if (this.note) {
|
|
94
|
+
turtle.annotation = this.note;
|
|
95
|
+
}
|
|
96
|
+
return turtle;
|
|
87
97
|
}
|
|
88
98
|
}
|
|
89
99
|
exports.TurtleDecl = TurtleDecl;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DefinitionList } from '../types/definition-list';
|
|
2
2
|
import { NestedQuery } from '../types/nested-query';
|
|
3
|
-
export declare class Nests extends
|
|
3
|
+
export declare class Nests extends DefinitionList<NestedQuery> {
|
|
4
|
+
elementType: string;
|
|
4
5
|
constructor(nests: NestedQuery[]);
|
|
5
6
|
}
|
|
@@ -23,10 +23,11 @@
|
|
|
23
23
|
*/
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.Nests = void 0;
|
|
26
|
-
const
|
|
27
|
-
class Nests extends
|
|
26
|
+
const definition_list_1 = require("../types/definition-list");
|
|
27
|
+
class Nests extends definition_list_1.DefinitionList {
|
|
28
28
|
constructor(nests) {
|
|
29
|
-
super(
|
|
29
|
+
super(nests);
|
|
30
|
+
this.elementType = 'nestedQueries';
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.Nests = Nests;
|
|
@@ -10,6 +10,7 @@ export declare class OrderBy extends MalloyElement {
|
|
|
10
10
|
getOrderBy(fs: FieldSpace): ModelOrderBy;
|
|
11
11
|
}
|
|
12
12
|
export declare class Ordering extends ListOf<OrderBy> {
|
|
13
|
+
elementType: string;
|
|
13
14
|
constructor(list: OrderBy[]);
|
|
14
15
|
getOrderBy(fs: FieldSpace): ModelOrderBy[];
|
|
15
16
|
}
|
|
@@ -66,7 +66,8 @@ class OrderBy extends malloy_element_1.MalloyElement {
|
|
|
66
66
|
exports.OrderBy = OrderBy;
|
|
67
67
|
class Ordering extends malloy_element_1.ListOf {
|
|
68
68
|
constructor(list) {
|
|
69
|
-
super(
|
|
69
|
+
super(list);
|
|
70
|
+
this.elementType = 'ordering';
|
|
70
71
|
}
|
|
71
72
|
getOrderBy(fs) {
|
|
72
73
|
return this.list.map(el => el.getOrderBy(fs));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { DefinitionList } from '../types/definition-list';
|
|
1
2
|
import { FieldCollectionMember } from '../types/field-collection-member';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
constructor(members: FieldCollectionMember[]);
|
|
3
|
+
export declare class ProjectStatement extends DefinitionList<FieldCollectionMember> {
|
|
4
|
+
elementType: string;
|
|
5
5
|
}
|
|
@@ -23,10 +23,11 @@
|
|
|
23
23
|
*/
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.ProjectStatement = void 0;
|
|
26
|
-
const
|
|
27
|
-
class ProjectStatement extends
|
|
28
|
-
constructor(
|
|
29
|
-
super(
|
|
26
|
+
const definition_list_1 = require("../types/definition-list");
|
|
27
|
+
class ProjectStatement extends definition_list_1.DefinitionList {
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.elementType = 'projectStatement';
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.ProjectStatement = ProjectStatement;
|
|
@@ -6,9 +6,9 @@ import { PipelineDesc } from '../elements/pipeline-desc';
|
|
|
6
6
|
import { QueryProperty } from '../types/query-property';
|
|
7
7
|
declare type QOPType = 'grouping' | 'aggregate' | 'project' | 'index';
|
|
8
8
|
export declare class QOPDesc extends ListOf<QueryProperty> {
|
|
9
|
+
elementType: string;
|
|
9
10
|
opType: QOPType;
|
|
10
11
|
private refineThis?;
|
|
11
|
-
constructor(props: QueryProperty[]);
|
|
12
12
|
protected computeType(): QOPType;
|
|
13
13
|
refineFrom(existing: PipeSegment): void;
|
|
14
14
|
private getExecutor;
|
|
@@ -36,8 +36,9 @@ const struct_utils_1 = require("../struct-utils");
|
|
|
36
36
|
const nest_1 = require("./nest");
|
|
37
37
|
const static_space_1 = require("../field-space/static-space");
|
|
38
38
|
class QOPDesc extends malloy_element_1.ListOf {
|
|
39
|
-
constructor(
|
|
40
|
-
super(
|
|
39
|
+
constructor() {
|
|
40
|
+
super(...arguments);
|
|
41
|
+
this.elementType = 'queryOperation';
|
|
41
42
|
this.opType = 'grouping';
|
|
42
43
|
}
|
|
43
44
|
computeType() {
|
|
@@ -35,8 +35,9 @@ class RenameField extends malloy_element_1.MalloyElement {
|
|
|
35
35
|
}
|
|
36
36
|
exports.RenameField = RenameField;
|
|
37
37
|
class Renames extends malloy_element_1.ListOf {
|
|
38
|
-
constructor(
|
|
39
|
-
super(
|
|
38
|
+
constructor() {
|
|
39
|
+
super(...arguments);
|
|
40
|
+
this.elementType = 'renameFields';
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
exports.Renames = Renames;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TurtleDecl } from '../query-properties/nest';
|
|
2
|
-
import {
|
|
3
|
-
export declare class Turtles extends
|
|
4
|
-
|
|
2
|
+
import { DefinitionList } from '../types/definition-list';
|
|
3
|
+
export declare class Turtles extends DefinitionList<TurtleDecl> {
|
|
4
|
+
elementType: string;
|
|
5
5
|
}
|
|
@@ -23,10 +23,11 @@
|
|
|
23
23
|
*/
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.Turtles = void 0;
|
|
26
|
-
const
|
|
27
|
-
class Turtles extends
|
|
28
|
-
constructor(
|
|
29
|
-
super(
|
|
26
|
+
const definition_list_1 = require("../types/definition-list");
|
|
27
|
+
class Turtles extends definition_list_1.DefinitionList {
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.elementType = 'turtleDefList';
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.Turtles = Turtles;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Annotation } from '../../../model';
|
|
2
|
+
import { ListOf, MalloyElement } from './malloy-element';
|
|
3
|
+
import { Noteable } from '../types/noteable';
|
|
4
|
+
export declare abstract class DefinitionList<DT extends MalloyElement> extends ListOf<DT> implements Noteable {
|
|
5
|
+
readonly isNoteableObj = true;
|
|
6
|
+
note?: Annotation;
|
|
7
|
+
extendNote(ext: Partial<Annotation>): void;
|
|
8
|
+
distributeAnnotation(): void;
|
|
9
|
+
protected newContents(): void;
|
|
10
|
+
}
|