@malloydata/malloy 0.0.218-dev241120211046 → 0.0.218-dev241122201503
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/lang/ast/field-space/ast-view-field.d.ts +1 -0
- package/dist/lang/ast/field-space/ast-view-field.js +5 -1
- package/dist/lang/ast/field-space/view-field.d.ts +87 -3
- package/dist/lang/ast/field-space/view-field.js +7 -1
- package/dist/lang/ast/query-properties/nest.js +28 -0
- package/dist/model/malloy_types.d.ts +1 -0
- package/package.json +1 -1
|
@@ -29,12 +29,16 @@ class ASTViewField extends view_field_1.ViewField {
|
|
|
29
29
|
super(fs);
|
|
30
30
|
this.view = view;
|
|
31
31
|
this.name = name;
|
|
32
|
+
this.turtleDef = undefined;
|
|
32
33
|
}
|
|
33
34
|
getQueryFieldDef(fs) {
|
|
34
35
|
return this.view.getFieldDef(fs);
|
|
35
36
|
}
|
|
36
37
|
fieldDef() {
|
|
37
|
-
|
|
38
|
+
if (this.turtleDef === undefined) {
|
|
39
|
+
this.turtleDef = this.view.getFieldDef(this.inSpace);
|
|
40
|
+
}
|
|
41
|
+
return this.turtleDef;
|
|
38
42
|
}
|
|
39
43
|
}
|
|
40
44
|
exports.ASTViewField = ASTViewField;
|
|
@@ -1,10 +1,94 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QueryFieldDef, TurtleDef } from '../../../model/malloy_types';
|
|
2
2
|
import { FieldSpace } from '../types/field-space';
|
|
3
3
|
import { SpaceField } from '../types/space-field';
|
|
4
4
|
export declare abstract class ViewField extends SpaceField {
|
|
5
5
|
protected inSpace: FieldSpace;
|
|
6
6
|
constructor(inSpace: FieldSpace);
|
|
7
7
|
abstract getQueryFieldDef(fs: FieldSpace): QueryFieldDef | undefined;
|
|
8
|
-
abstract fieldDef():
|
|
9
|
-
typeDesc():
|
|
8
|
+
abstract fieldDef(): TurtleDef;
|
|
9
|
+
typeDesc(): {
|
|
10
|
+
compositeFieldUsage: import("../../../model/malloy_types").CompositeFieldUsage;
|
|
11
|
+
type: "string";
|
|
12
|
+
bucketFilter?: string | undefined;
|
|
13
|
+
bucketOther?: string | undefined;
|
|
14
|
+
expressionType: import("../../../model/malloy_types").ExpressionType;
|
|
15
|
+
evalSpace: import("../../../model/malloy_types").EvalSpace;
|
|
16
|
+
} | {
|
|
17
|
+
compositeFieldUsage: import("../../../model/malloy_types").CompositeFieldUsage;
|
|
18
|
+
type: "date";
|
|
19
|
+
timeframe?: import("../../../model/malloy_types").DateUnit | undefined;
|
|
20
|
+
expressionType: import("../../../model/malloy_types").ExpressionType;
|
|
21
|
+
evalSpace: import("../../../model/malloy_types").EvalSpace;
|
|
22
|
+
} | {
|
|
23
|
+
compositeFieldUsage: import("../../../model/malloy_types").CompositeFieldUsage;
|
|
24
|
+
type: "timestamp";
|
|
25
|
+
timeframe?: import("../../../model/malloy_types").TimestampUnit | undefined;
|
|
26
|
+
expressionType: import("../../../model/malloy_types").ExpressionType;
|
|
27
|
+
evalSpace: import("../../../model/malloy_types").EvalSpace;
|
|
28
|
+
} | {
|
|
29
|
+
compositeFieldUsage: import("../../../model/malloy_types").CompositeFieldUsage;
|
|
30
|
+
type: "number";
|
|
31
|
+
numberType?: "integer" | "float" | undefined;
|
|
32
|
+
expressionType: import("../../../model/malloy_types").ExpressionType;
|
|
33
|
+
evalSpace: import("../../../model/malloy_types").EvalSpace;
|
|
34
|
+
} | {
|
|
35
|
+
compositeFieldUsage: import("../../../model/malloy_types").CompositeFieldUsage;
|
|
36
|
+
type: "boolean";
|
|
37
|
+
expressionType: import("../../../model/malloy_types").ExpressionType;
|
|
38
|
+
evalSpace: import("../../../model/malloy_types").EvalSpace;
|
|
39
|
+
} | {
|
|
40
|
+
compositeFieldUsage: import("../../../model/malloy_types").CompositeFieldUsage;
|
|
41
|
+
type: "json";
|
|
42
|
+
expressionType: import("../../../model/malloy_types").ExpressionType;
|
|
43
|
+
evalSpace: import("../../../model/malloy_types").EvalSpace;
|
|
44
|
+
} | {
|
|
45
|
+
compositeFieldUsage: import("../../../model/malloy_types").CompositeFieldUsage;
|
|
46
|
+
type: "sql native";
|
|
47
|
+
rawType?: string | undefined;
|
|
48
|
+
expressionType: import("../../../model/malloy_types").ExpressionType;
|
|
49
|
+
evalSpace: import("../../../model/malloy_types").EvalSpace;
|
|
50
|
+
} | {
|
|
51
|
+
compositeFieldUsage: import("../../../model/malloy_types").CompositeFieldUsage;
|
|
52
|
+
type: "error";
|
|
53
|
+
expressionType: import("../../../model/malloy_types").ExpressionType;
|
|
54
|
+
evalSpace: import("../../../model/malloy_types").EvalSpace;
|
|
55
|
+
} | {
|
|
56
|
+
compositeFieldUsage: import("../../../model/malloy_types").CompositeFieldUsage;
|
|
57
|
+
type: "array";
|
|
58
|
+
elementTypeDef: import("../../../model/malloy_types").LeafAtomicTypeDef | import("../../../model/malloy_types").ArrayTypeDef | import("../../../model/malloy_types").RecordElementTypeDef;
|
|
59
|
+
join: "many";
|
|
60
|
+
matrixOperation?: import("../../../model/malloy_types").MatrixOperation | undefined;
|
|
61
|
+
onExpression?: import("../../../model/malloy_types").Expr | undefined;
|
|
62
|
+
onCompositeFieldUsage?: import("../../../model/malloy_types").CompositeFieldUsage | undefined;
|
|
63
|
+
annotation?: import("../../../model/malloy_types").Annotation | undefined;
|
|
64
|
+
modelAnnotation?: import("../../../model/malloy_types").ModelAnnotation | undefined;
|
|
65
|
+
fields: ((import("../../../model/malloy_types").StringTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").DateTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").TimestampTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").NumberTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").BooleanTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").JSONTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").NativeUnsupportedTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").ErrorTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").ArrayTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").RecordTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").JoinBase & import("../../../model/malloy_types").TableSourceDef) | (import("../../../model/malloy_types").JoinBase & import("../../../model/malloy_types").SQLSourceDef) | (import("../../../model/malloy_types").JoinBase & import("../../../model/malloy_types").QuerySourceDef) | (import("../../../model/malloy_types").JoinBase & import("../../../model/malloy_types").ArrayTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").JoinBase & import("../../../model/malloy_types").RecordTypeDef & import("../../../model/malloy_types").FieldBase) | TurtleDef)[];
|
|
66
|
+
dialect: string;
|
|
67
|
+
location?: import("../../../model/malloy_types").DocumentLocation | undefined;
|
|
68
|
+
name: string;
|
|
69
|
+
as?: string | undefined;
|
|
70
|
+
expressionType: import("../../../model/malloy_types").ExpressionType;
|
|
71
|
+
evalSpace: import("../../../model/malloy_types").EvalSpace;
|
|
72
|
+
} | {
|
|
73
|
+
compositeFieldUsage: import("../../../model/malloy_types").CompositeFieldUsage;
|
|
74
|
+
type: "record";
|
|
75
|
+
join: "one";
|
|
76
|
+
annotation?: import("../../../model/malloy_types").Annotation | undefined;
|
|
77
|
+
modelAnnotation?: import("../../../model/malloy_types").ModelAnnotation | undefined;
|
|
78
|
+
fields: ((import("../../../model/malloy_types").StringTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").DateTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").TimestampTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").NumberTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").BooleanTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").JSONTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").NativeUnsupportedTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").ErrorTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").ArrayTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").RecordTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").JoinBase & import("../../../model/malloy_types").TableSourceDef) | (import("../../../model/malloy_types").JoinBase & import("../../../model/malloy_types").SQLSourceDef) | (import("../../../model/malloy_types").JoinBase & import("../../../model/malloy_types").QuerySourceDef) | (import("../../../model/malloy_types").JoinBase & import("../../../model/malloy_types").ArrayTypeDef & import("../../../model/malloy_types").FieldBase) | (import("../../../model/malloy_types").JoinBase & import("../../../model/malloy_types").RecordTypeDef & import("../../../model/malloy_types").FieldBase) | TurtleDef)[];
|
|
79
|
+
dialect: string;
|
|
80
|
+
location?: import("../../../model/malloy_types").DocumentLocation | undefined;
|
|
81
|
+
name: string;
|
|
82
|
+
as?: string | undefined;
|
|
83
|
+
matrixOperation?: import("../../../model/malloy_types").MatrixOperation | undefined;
|
|
84
|
+
onExpression?: import("../../../model/malloy_types").Expr | undefined;
|
|
85
|
+
onCompositeFieldUsage?: import("../../../model/malloy_types").CompositeFieldUsage | undefined;
|
|
86
|
+
expressionType: import("../../../model/malloy_types").ExpressionType;
|
|
87
|
+
evalSpace: import("../../../model/malloy_types").EvalSpace;
|
|
88
|
+
} | {
|
|
89
|
+
compositeFieldUsage: import("../../../model/malloy_types").CompositeFieldUsage;
|
|
90
|
+
type: import("../../../model/malloy_types").NonAtomicType;
|
|
91
|
+
expressionType: import("../../../model/malloy_types").ExpressionType;
|
|
92
|
+
evalSpace: import("../../../model/malloy_types").EvalSpace;
|
|
93
|
+
};
|
|
10
94
|
}
|
|
@@ -46,6 +46,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
46
46
|
};
|
|
47
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
48
|
exports.ViewField = void 0;
|
|
49
|
+
const composite_source_utils_1 = require("../../../model/composite_source_utils");
|
|
49
50
|
const TDU = __importStar(require("../typedesc-utils"));
|
|
50
51
|
const space_field_1 = require("../types/space-field");
|
|
51
52
|
class ViewField extends space_field_1.SpaceField {
|
|
@@ -54,7 +55,12 @@ class ViewField extends space_field_1.SpaceField {
|
|
|
54
55
|
this.inSpace = inSpace;
|
|
55
56
|
}
|
|
56
57
|
typeDesc() {
|
|
57
|
-
|
|
58
|
+
var _a;
|
|
59
|
+
const fieldDef = this.fieldDef();
|
|
60
|
+
return {
|
|
61
|
+
...TDU.viewT,
|
|
62
|
+
compositeFieldUsage: (_a = fieldDef.compositeFieldUsage) !== null && _a !== void 0 ? _a : (0, composite_source_utils_1.emptyCompositeFieldUsage)(),
|
|
63
|
+
};
|
|
58
64
|
}
|
|
59
65
|
}
|
|
60
66
|
exports.ViewField = ViewField;
|
|
@@ -21,8 +21,32 @@
|
|
|
21
21
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
22
22
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*/
|
|
24
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
27
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
28
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
29
|
+
}
|
|
30
|
+
Object.defineProperty(o, k2, desc);
|
|
31
|
+
}) : (function(o, m, k, k2) {
|
|
32
|
+
if (k2 === undefined) k2 = k;
|
|
33
|
+
o[k2] = m[k];
|
|
34
|
+
}));
|
|
35
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
36
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
37
|
+
}) : function(o, v) {
|
|
38
|
+
o["default"] = v;
|
|
39
|
+
});
|
|
40
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
41
|
+
if (mod && mod.__esModule) return mod;
|
|
42
|
+
var result = {};
|
|
43
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
44
|
+
__setModuleDefault(result, mod);
|
|
45
|
+
return result;
|
|
46
|
+
};
|
|
24
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
48
|
exports.NestFieldDeclaration = void 0;
|
|
49
|
+
const model = __importStar(require("../../../model/malloy_types"));
|
|
26
50
|
const query_utils_1 = require("../query-utils");
|
|
27
51
|
const view_field_declaration_1 = require("../source-properties/view-field-declaration");
|
|
28
52
|
const query_property_interface_1 = require("../types/query-property-interface");
|
|
@@ -42,6 +66,9 @@ class NestFieldDeclaration extends view_field_declaration_1.ViewFieldDeclaration
|
|
|
42
66
|
return this.turtleDef;
|
|
43
67
|
if (fs.isQueryFieldSpace()) {
|
|
44
68
|
const { pipeline, annotation } = this.view.pipelineComp(fs, fs.outputSpace());
|
|
69
|
+
const compositeFieldUsage = pipeline[0] && model.isQuerySegment(pipeline[0])
|
|
70
|
+
? pipeline[0].compositeFieldUsage
|
|
71
|
+
: undefined;
|
|
45
72
|
const checkedPipeline = (0, query_utils_1.detectAndRemovePartialStages)(pipeline, this);
|
|
46
73
|
this.turtleDef = {
|
|
47
74
|
type: 'turtle',
|
|
@@ -49,6 +76,7 @@ class NestFieldDeclaration extends view_field_declaration_1.ViewFieldDeclaration
|
|
|
49
76
|
pipeline: checkedPipeline,
|
|
50
77
|
annotation: { ...this.note, inherits: annotation },
|
|
51
78
|
location: this.location,
|
|
79
|
+
compositeFieldUsage,
|
|
52
80
|
};
|
|
53
81
|
return this.turtleDef;
|
|
54
82
|
}
|
|
@@ -564,6 +564,7 @@ export interface QuerySegment extends Filtered {
|
|
|
564
564
|
export interface TurtleDef extends NamedObject, Pipeline {
|
|
565
565
|
type: 'turtle';
|
|
566
566
|
annotation?: Annotation;
|
|
567
|
+
compositeFieldUsage?: CompositeFieldUsage;
|
|
567
568
|
}
|
|
568
569
|
interface StructDefBase extends HasLocation, NamedObject {
|
|
569
570
|
type: string;
|