@cubejs-backend/schema-compiler 1.6.60 → 1.6.62

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.
@@ -3,28 +3,53 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ViewGroupEvaluator = void 0;
4
4
  class ViewGroupEvaluator {
5
5
  cubeEvaluator;
6
+ cubeValidator;
6
7
  viewGroupDefinitions;
7
8
  resolvedViewGroups;
8
9
  viewToGroups;
9
- constructor(cubeEvaluator) {
10
+ constructor(cubeEvaluator, cubeValidator) {
10
11
  this.cubeEvaluator = cubeEvaluator;
12
+ this.cubeValidator = cubeValidator;
11
13
  this.viewGroupDefinitions = new Map();
12
14
  this.resolvedViewGroups = [];
13
15
  this.viewToGroups = new Map();
14
16
  }
15
17
  compile(viewGroups, errorReporter) {
16
18
  this.viewGroupDefinitions = new Map();
19
+ // Group names must be globally unique across the entire hierarchy — a
20
+ // nested group cannot reuse the name of another nested group (in any tree)
21
+ // or of any top-level group. Seed the set with all top-level names up front
22
+ // and thread it through the recursion so collisions are caught regardless
23
+ // of where in the hierarchy they occur.
24
+ const seenNames = new Set(viewGroups.map(g => g.name));
17
25
  for (const viewGroup of viewGroups) {
26
+ if (errorReporter) {
27
+ this.cubeValidator.validateViewGroup(viewGroup, errorReporter);
28
+ }
18
29
  if (errorReporter && this.viewGroupDefinitions.has(viewGroup.name)) {
19
30
  errorReporter.error(`View group "${viewGroup.name}" already exists!`);
20
31
  }
21
32
  else {
22
- this.viewGroupDefinitions.set(viewGroup.name, this.compileViewGroup(viewGroup));
33
+ this.viewGroupDefinitions.set(viewGroup.name, this.compileViewGroup(viewGroup, seenNames, errorReporter));
23
34
  }
24
35
  }
25
36
  this.resolve(errorReporter);
26
37
  }
27
- compileViewGroup(viewGroup) {
38
+ compileViewGroup(viewGroup, seenNames, errorReporter) {
39
+ // `views` and `includes` are mutually exclusive on a view group definition;
40
+ // this is enforced by the Joi `viewGroupSchema` (oxor). `includes` is the
41
+ // preferred form, so it takes precedence here if both somehow slip through.
42
+ if (viewGroup.includes !== undefined) {
43
+ const { views, includes } = this.compileIncludes(viewGroup.includes, seenNames, errorReporter);
44
+ return {
45
+ name: viewGroup.name,
46
+ title: viewGroup.title,
47
+ description: viewGroup.description,
48
+ views,
49
+ includes,
50
+ };
51
+ }
52
+ // Legacy `views` parameter.
28
53
  let views = [];
29
54
  if (viewGroup.views) {
30
55
  if (typeof viewGroup.views === 'function') {
@@ -40,57 +65,89 @@ class ViewGroupEvaluator {
40
65
  title: viewGroup.title,
41
66
  description: viewGroup.description,
42
67
  views,
68
+ includes: views.slice(),
43
69
  };
44
70
  }
71
+ /**
72
+ * Recursively compiles a view group's `includes` into the group's own direct
73
+ * view references plus a recursive `includes` representation (strings for
74
+ * views, nested CompiledViewGroup objects for nested groups).
75
+ */
76
+ compileIncludes(rawIncludes, seenNames, errorReporter) {
77
+ let items = [];
78
+ if (typeof rawIncludes === 'function') {
79
+ const evaluated = rawIncludes();
80
+ items = Array.isArray(evaluated) ? evaluated : [evaluated];
81
+ }
82
+ else if (Array.isArray(rawIncludes)) {
83
+ items = rawIncludes;
84
+ }
85
+ const views = [];
86
+ const includes = [];
87
+ for (const item of items) {
88
+ if (this.isNestedGroup(item)) {
89
+ if (errorReporter && seenNames.has(item.name)) {
90
+ errorReporter.error(`View group "${item.name}" already exists!`);
91
+ // eslint-disable-next-line no-continue
92
+ continue;
93
+ }
94
+ seenNames.add(item.name);
95
+ const child = this.compileIncludes(item.includes, seenNames, errorReporter);
96
+ includes.push({
97
+ name: item.name,
98
+ title: item.title,
99
+ description: item.description,
100
+ views: child.views,
101
+ includes: child.includes,
102
+ });
103
+ }
104
+ else {
105
+ // A view reference: either a plain string or a transpiled
106
+ // single-reference arrow function.
107
+ for (const name of this.resolveViewReference(item)) {
108
+ views.push(name);
109
+ includes.push(name);
110
+ }
111
+ }
112
+ }
113
+ return { views, includes };
114
+ }
115
+ isNestedGroup(item) {
116
+ return typeof item === 'object' && item !== null && typeof item.name === 'string' && 'includes' in item;
117
+ }
118
+ resolveViewReference(item) {
119
+ if (typeof item === 'function') {
120
+ const evaluated = this.cubeEvaluator.evaluateReferences(null, item, { originalSorting: true });
121
+ return Array.isArray(evaluated) ? evaluated : [evaluated];
122
+ }
123
+ if (typeof item === 'string') {
124
+ return [item];
125
+ }
126
+ return [];
127
+ }
45
128
  resolve(errorReporter) {
46
- const viewGroupMap = new Map();
47
129
  const validViewNames = new Set();
48
130
  for (const cube of this.cubeEvaluator.cubeList) {
49
131
  if (cube.isView) {
50
132
  validViewNames.add(cube.name);
51
133
  }
52
134
  }
135
+ const viewGroupMap = new Map();
53
136
  for (const [name, def] of this.viewGroupDefinitions) {
54
- viewGroupMap.set(name, {
55
- name: def.name,
56
- title: def.title,
57
- description: def.description,
58
- views: def.views.filter(v => validViewNames.has(v)),
59
- });
137
+ viewGroupMap.set(name, this.resolveGroup(def, validViewNames, errorReporter));
60
138
  }
139
+ // Auto-attach views that reference a group via their own `viewGroup` /
140
+ // `viewGroups` properties. Note: `viewGroupMap` holds top-level groups only,
141
+ // so a cube referencing a *nested* group name resolves to "not defined".
142
+ // This is intentional and left unsupported — attaching cubes to groups via
143
+ // these cube-level properties is a discouraged pattern; nested membership
144
+ // should be authored through the group's own `includes`.
61
145
  for (const cube of this.cubeEvaluator.cubeList) {
62
146
  if (!cube.isView) {
63
147
  // eslint-disable-next-line no-continue
64
148
  continue;
65
149
  }
66
- const groupNames = [];
67
- if (cube.viewGroup) {
68
- const resolved = typeof cube.viewGroup === 'function'
69
- ? this.cubeEvaluator.evaluateReferences(null, cube.viewGroup)
70
- : cube.viewGroup;
71
- const names = Array.isArray(resolved) ? resolved : [resolved];
72
- for (const n of names) {
73
- if (!groupNames.includes(n)) {
74
- groupNames.push(n);
75
- }
76
- }
77
- }
78
- if (cube.viewGroups) {
79
- let resolved;
80
- if (typeof cube.viewGroups === 'function') {
81
- const evaluated = this.cubeEvaluator.evaluateReferences(null, cube.viewGroups, { originalSorting: true });
82
- resolved = Array.isArray(evaluated) ? evaluated : [evaluated];
83
- }
84
- else {
85
- resolved = cube.viewGroups;
86
- }
87
- for (const n of resolved) {
88
- if (!groupNames.includes(n)) {
89
- groupNames.push(n);
90
- }
91
- }
92
- }
93
- for (const groupName of groupNames) {
150
+ for (const groupName of this.viewGroupNamesForCube(cube)) {
94
151
  const group = viewGroupMap.get(groupName);
95
152
  if (!group) {
96
153
  if (errorReporter) {
@@ -99,21 +156,96 @@ class ViewGroupEvaluator {
99
156
  }
100
157
  else if (!group.views.includes(cube.name)) {
101
158
  group.views.push(cube.name);
159
+ group.includes.push(cube.name);
102
160
  }
103
161
  }
104
162
  }
105
163
  this.resolvedViewGroups = Array.from(viewGroupMap.values());
164
+ // Map each view to the most-specific group(s) it directly belongs to.
106
165
  this.viewToGroups = new Map();
107
166
  for (const group of this.resolvedViewGroups) {
108
- for (const viewName of group.views) {
109
- let groups = this.viewToGroups.get(viewName);
110
- if (!groups) {
111
- groups = [];
112
- this.viewToGroups.set(viewName, groups);
167
+ this.collectViewToGroups(group);
168
+ }
169
+ }
170
+ /**
171
+ * Validates a compiled group's view references against the set of real view
172
+ * names and returns a filtered copy. References to views that do not exist
173
+ * produce a compile error.
174
+ */
175
+ resolveGroup(group, validViewNames, errorReporter) {
176
+ const views = [];
177
+ const includes = [];
178
+ for (const include of group.includes) {
179
+ if (typeof include !== 'string') {
180
+ includes.push(this.resolveGroup(include, validViewNames, errorReporter));
181
+ }
182
+ else if (validViewNames.has(include)) {
183
+ views.push(include);
184
+ includes.push(include);
185
+ }
186
+ else if (errorReporter) {
187
+ errorReporter.error(`View group "${group.name}" includes "${include}" which is not a defined view.`);
188
+ }
189
+ }
190
+ return {
191
+ name: group.name,
192
+ title: group.title,
193
+ description: group.description,
194
+ views,
195
+ includes,
196
+ };
197
+ }
198
+ viewGroupNamesForCube(cube) {
199
+ const groupNames = [];
200
+ if (cube.viewGroup) {
201
+ const resolved = typeof cube.viewGroup === 'function'
202
+ ? this.cubeEvaluator.evaluateReferences(null, cube.viewGroup)
203
+ : cube.viewGroup;
204
+ const names = Array.isArray(resolved) ? resolved : [resolved];
205
+ for (const n of names) {
206
+ if (!groupNames.includes(n)) {
207
+ groupNames.push(n);
113
208
  }
209
+ }
210
+ }
211
+ if (cube.viewGroups) {
212
+ let resolved;
213
+ if (typeof cube.viewGroups === 'function') {
214
+ const evaluated = this.cubeEvaluator.evaluateReferences(null, cube.viewGroups, { originalSorting: true });
215
+ resolved = Array.isArray(evaluated) ? evaluated : [evaluated];
216
+ }
217
+ else {
218
+ resolved = cube.viewGroups;
219
+ }
220
+ for (const n of resolved) {
221
+ if (!groupNames.includes(n)) {
222
+ groupNames.push(n);
223
+ }
224
+ }
225
+ }
226
+ return groupNames;
227
+ }
228
+ /**
229
+ * Recursively maps each view to the most-specific group it directly belongs
230
+ * to. A view that is a direct member of a nested group maps to that nested
231
+ * group's name, not the ancestor chain.
232
+ */
233
+ collectViewToGroups(group) {
234
+ for (const viewName of group.views) {
235
+ let groups = this.viewToGroups.get(viewName);
236
+ if (!groups) {
237
+ groups = [];
238
+ this.viewToGroups.set(viewName, groups);
239
+ }
240
+ if (!groups.includes(group.name)) {
114
241
  groups.push(group.name);
115
242
  }
116
243
  }
244
+ for (const include of group.includes) {
245
+ if (typeof include !== 'string') {
246
+ this.collectViewToGroups(include);
247
+ }
248
+ }
117
249
  }
118
250
  get viewGroupList() {
119
251
  return Array.from(this.viewGroupDefinitions.keys());
@@ -1 +1 @@
1
- {"version":3,"file":"ViewGroupEvaluator.js","sourceRoot":"","sources":["../../../src/compiler/ViewGroupEvaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewGroupEvaluator.js","sourceRoot":"","sources":["../../../src/compiler/ViewGroupEvaluator.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,14 @@ export declare class YamlCompiler {
17
17
  compileYamlWithJinjaFile(file: FileContent, errorsReport: ErrorReporter, compileContext: CompileContext, pythonContext: PythonCtx): Promise<FileContent | undefined>;
18
18
  transpileYamlFile(file: FileContent, errorsReport: ErrorReporter): FileContent | undefined;
19
19
  private transpileViewGroup;
20
+ /**
21
+ * Builds the AST for a (possibly nested) view group definition body. View
22
+ * references inside `includes` are emitted as plain string literals and
23
+ * nested view groups as object literals, so no reference resolution is needed
24
+ * at evaluation time (YAML uses string view names, not bare identifiers).
25
+ */
26
+ private viewGroupBodyAst;
27
+ private viewGroupIncludeAst;
20
28
  private transpileAndPrepareJsFile;
21
29
  private transformYamlCubeObj;
22
30
  private transpileYaml;
@@ -1 +1 @@
1
- {"version":3,"file":"YamlCompiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/YamlCompiler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAIL,sBAAsB,EAAE,wBAAwB,EACjD,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAStD,qBAAa,YAAY;IAIrB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAN/B,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAQ;gBAG9B,WAAW,EAAE,wBAAwB,EACrC,cAAc,EAAE,sBAAsB,EACtC,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,wBAAwB;IAIlD,IAAI;IAIJ,cAAc,IAAI,WAAW;IAQ7B,qBAAqB,CAAC,GAAG,EAAE,SAAS;IAQ9B,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAUjH,wBAAwB,CACnC,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,aAAa,EAC3B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,SAAS,GACvB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAM5B,iBAAiB,CACtB,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,aAAa,GAC1B,WAAW,GAAG,SAAS;IA8C1B,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,aAAa;IAuFrB,OAAO,CAAC,kBAAkB;IAiD1B,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,2BAA2B;IAenC,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,cAAc;IA6DtB,OAAO,CAAC,0BAA0B;CAQnC"}
1
+ {"version":3,"file":"YamlCompiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/YamlCompiler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAIL,sBAAsB,EAAE,wBAAwB,EACjD,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAStD,qBAAa,YAAY;IAIrB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAN/B,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAQ;gBAG9B,WAAW,EAAE,wBAAwB,EACrC,cAAc,EAAE,sBAAsB,EACtC,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,wBAAwB;IAIlD,IAAI;IAIJ,cAAc,IAAI,WAAW;IAQ7B,qBAAqB,CAAC,GAAG,EAAE,SAAS;IAQ9B,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAUjH,wBAAwB,CACnC,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,aAAa,EAC3B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,SAAS,GACvB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAM5B,iBAAiB,CACtB,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,aAAa,GAC1B,WAAW,GAAG,SAAS;IA8C1B,OAAO,CAAC,kBAAkB;IAS1B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,aAAa;IAuFrB,OAAO,CAAC,kBAAkB;IAiD1B,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,2BAA2B;IAenC,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,cAAc;IA6DtB,OAAO,CAAC,0BAA0B;CAQnC"}
@@ -120,18 +120,45 @@ class YamlCompiler {
120
120
  };
121
121
  }
122
122
  transpileViewGroup(viewGroupObj) {
123
+ const viewGroupCall = t.callExpression(t.identifier('view_group'), [t.stringLiteral(viewGroupObj.name), this.viewGroupBodyAst(viewGroupObj)]);
124
+ return (0, generator_1.default)(viewGroupCall, {}, '').code;
125
+ }
126
+ /**
127
+ * Builds the AST for a (possibly nested) view group definition body. View
128
+ * references inside `includes` are emitted as plain string literals and
129
+ * nested view groups as object literals, so no reference resolution is needed
130
+ * at evaluation time (YAML uses string view names, not bare identifiers).
131
+ */
132
+ viewGroupBodyAst(viewGroupObj, nested = false) {
123
133
  const properties = [];
134
+ if (nested && viewGroupObj.name) {
135
+ properties.push(t.objectProperty(t.stringLiteral('name'), t.stringLiteral(viewGroupObj.name)));
136
+ }
124
137
  if (viewGroupObj.title) {
125
138
  properties.push(t.objectProperty(t.stringLiteral('title'), t.stringLiteral(viewGroupObj.title)));
126
139
  }
127
140
  if (viewGroupObj.description) {
128
141
  properties.push(t.objectProperty(t.stringLiteral('description'), t.stringLiteral(viewGroupObj.description)));
129
142
  }
130
- if (viewGroupObj.views && Array.isArray(viewGroupObj.views)) {
143
+ // Emit `views` and `includes` independently (not else-if) so that a YAML
144
+ // definition that wrongly specifies both still reaches the `viewGroupSchema`
145
+ // mutual-exclusion (oxor) validation instead of being silently coerced.
146
+ if (Array.isArray(viewGroupObj.includes)) {
147
+ properties.push(t.objectProperty(t.stringLiteral('includes'), t.arrayExpression(viewGroupObj.includes.map((item) => this.viewGroupIncludeAst(item)))));
148
+ }
149
+ if (Array.isArray(viewGroupObj.views)) {
150
+ // Legacy `views` parameter, kept for backward compatibility.
131
151
  properties.push(t.objectProperty(t.stringLiteral('views'), t.arrayExpression(viewGroupObj.views.map((v) => t.stringLiteral(v)))));
132
152
  }
133
- const viewGroupCall = t.callExpression(t.identifier('view_group'), [t.stringLiteral(viewGroupObj.name), t.objectExpression(properties)]);
134
- return (0, generator_1.default)(viewGroupCall, {}, '').code;
153
+ return t.objectExpression(properties);
154
+ }
155
+ viewGroupIncludeAst(item) {
156
+ if (item && typeof item === 'object') {
157
+ // A nested view group definition: keep its `name` inside the body so the
158
+ // evaluator can recognise it as a nested group.
159
+ return this.viewGroupBodyAst(item, true);
160
+ }
161
+ return t.stringLiteral(item);
135
162
  }
136
163
  transpileAndPrepareJsFile(methodFn, cubeObj, errorsReport) {
137
164
  const yamlAst = this.transformYamlCubeObj(cubeObj, errorsReport);
@@ -1 +1 @@
1
- {"version":3,"file":"YamlCompiler.js","sourceRoot":"","sources":["../../../src/compiler/YamlCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"YamlCompiler.js","sourceRoot":"","sources":["../../../src/compiler/YamlCompiler.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,14 @@ export declare class CubePropContextTranspiler implements TranspilerInterface {
11
11
  traverseObject(): TraverseObject;
12
12
  protected transformObjectProperty(path: NodePath<t.ObjectProperty>, resolveSymbol: SymbolResolver): void;
13
13
  static replaceValueWithArrowFunction(resolveSymbol: (name: string) => any, value: NodePath<any>): void;
14
+ /**
15
+ * Visitor for the `view_group(...)` definition object. The legacy `views`
16
+ * array is wrapped as a whole (flat references), while `includes` is wrapped
17
+ * per-leaf so that nested view group definitions stay structurally intact and
18
+ * only their view references become resolvable arrow functions. This mirrors
19
+ * how nested folders preserve their structure.
20
+ */
21
+ protected viewGroupReferencesVisitor(): TraverseObject;
14
22
  protected sqlAndReferencesFieldVisitor(cubeName: string | null | undefined): TraverseObject;
15
23
  protected convertJoinsObjectToArray(path: NodePath<t.ObjectProperty>): void;
16
24
  protected static fullPath(path: NodePath): string;
@@ -1 +1 @@
1
- {"version":3,"file":"CubePropContextTranspiler.d.ts","sourceRoot":"","sources":["../../../../src/compiler/transpilers/CubePropContextTranspiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACf,MAAM,wBAAwB,CAAC;AAGhC,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAkClD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAqB,CAAC;AAO/D,qBAAa,yBAA0B,YAAW,mBAAmB;IAEjE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,wBAAwB;IACxD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB;IACzD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,wBAAwB;gBAFtC,WAAW,EAAE,wBAAwB,EACrC,cAAc,EAAE,sBAAsB,EACtC,YAAY,EAAE,wBAAwB;IAIpD,cAAc,IAAI,cAAc;IAwBvC,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,cAAc;WAInF,6BAA6B,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC;IAiCtG,SAAS,CAAC,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc;IA+B3F,SAAS,CAAC,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC;IAiCpE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAwBjD,SAAS,CAAC,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,aAAa,EAAE,cAAc,GAAG,cAAc;IAW9G,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE;IAwB7G,SAAS,CAAC,MAAM,CAAC,2BAA2B,CAAC,IAAI,KAAA,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE;IAWvG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gCAAgC,CAAmD;IAE3G,OAAO,CAAC,MAAM,CAAC,kBAAkB;IASjC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAIxC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAexC,SAAS,CAAC,MAAM,CAAC,qCAAqC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc;IAyBlK,SAAS,CAAC,MAAM,CAAC,2CAA2C,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc;CA2BxJ"}
1
+ {"version":3,"file":"CubePropContextTranspiler.d.ts","sourceRoot":"","sources":["../../../../src/compiler/transpilers/CubePropContextTranspiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACf,MAAM,wBAAwB,CAAC;AAGhC,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAkClD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAqB,CAAC;AAO/D,qBAAa,yBAA0B,YAAW,mBAAmB;IAEjE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,wBAAwB;IACxD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB;IACzD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,wBAAwB;gBAFtC,WAAW,EAAE,wBAAwB,EACrC,cAAc,EAAE,sBAAsB,EACtC,YAAY,EAAE,wBAAwB;IAIpD,cAAc,IAAI,cAAc;IA0BvC,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,cAAc;WAInF,6BAA6B,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC;IAiCtG;;;;;;OAMG;IACH,SAAS,CAAC,0BAA0B,IAAI,cAAc;IAiDtD,SAAS,CAAC,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc;IA+B3F,SAAS,CAAC,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC;IAiCpE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAwBjD,SAAS,CAAC,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,aAAa,EAAE,cAAc,GAAG,cAAc;IAW9G,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE;IAwB7G,SAAS,CAAC,MAAM,CAAC,2BAA2B,CAAC,IAAI,KAAA,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE;IAWvG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gCAAgC,CAAmD;IAE3G,OAAO,CAAC,MAAM,CAAC,kBAAkB;IASjC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAIxC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAexC,SAAS,CAAC,MAAM,CAAC,qCAAqC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc;IAyBlK,SAAS,CAAC,MAAM,CAAC,2CAA2C,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc;CA2BxJ"}
@@ -94,9 +94,12 @@ class CubePropContextTranspiler {
94
94
  args[args.length - 1].traverse(this.knownIdentifiersInjectVisitor('extends', name => this.cubeDictionary.resolveCube(name)));
95
95
  }
96
96
  }
97
- else if (path.node.callee.name === 'context' || path.node.callee.name === 'view_group') {
97
+ else if (path.node.callee.name === 'context') {
98
98
  args[args.length - 1].traverse(this.sqlAndReferencesFieldVisitor(null));
99
99
  }
100
+ else if (path.node.callee.name === 'view_group') {
101
+ args[args.length - 1].traverse(this.viewGroupReferencesVisitor());
102
+ }
100
103
  }
101
104
  }
102
105
  };
@@ -118,6 +121,62 @@ class CubePropContextTranspiler {
118
121
  value.node, false));
119
122
  }
120
123
  }
124
+ /**
125
+ * Visitor for the `view_group(...)` definition object. The legacy `views`
126
+ * array is wrapped as a whole (flat references), while `includes` is wrapped
127
+ * per-leaf so that nested view group definitions stay structurally intact and
128
+ * only their view references become resolvable arrow functions. This mirrors
129
+ * how nested folders preserve their structure.
130
+ */
131
+ viewGroupReferencesVisitor() {
132
+ const resolveSymbol = n => this.viewCompiler.resolveSymbol(null, n) ||
133
+ this.cubeSymbols.resolveSymbol(null, n) ||
134
+ this.cubeSymbols.isCurrentCube(n);
135
+ const keyName = (node) => {
136
+ if (node.key.type === 'Identifier')
137
+ return node.key.name;
138
+ if (node.key.type === 'StringLiteral')
139
+ return node.key.value;
140
+ return undefined;
141
+ };
142
+ const wrapIncludes = (valuePath) => {
143
+ if (!valuePath.isArrayExpression()) {
144
+ return;
145
+ }
146
+ for (const element of valuePath.get('elements')) {
147
+ if (element.isObjectExpression()) {
148
+ // Nested view group: recurse into its own `includes` only.
149
+ for (const prop of element.get('properties')) {
150
+ if (prop.isObjectProperty() && keyName(prop.node) === 'includes') {
151
+ wrapIncludes(prop.get('value'));
152
+ }
153
+ }
154
+ }
155
+ else if (element.isIdentifier() || element.isStringLiteral()) {
156
+ CubePropContextTranspiler.replaceValueWithArrowFunction(resolveSymbol, element);
157
+ }
158
+ }
159
+ };
160
+ return {
161
+ ObjectProperty: (path) => {
162
+ const key = keyName(path.node);
163
+ if (key !== 'includes' && key !== 'views') {
164
+ return;
165
+ }
166
+ // Only handle the top-level definition properties here; nested
167
+ // `includes` arrays are reached via manual recursion above.
168
+ if (CubePropContextTranspiler.fullPath(path) !== key) {
169
+ return;
170
+ }
171
+ if (key === 'views') {
172
+ this.transformObjectProperty(path, resolveSymbol);
173
+ }
174
+ else {
175
+ wrapIncludes(path.get('value'));
176
+ }
177
+ }
178
+ };
179
+ }
121
180
  sqlAndReferencesFieldVisitor(cubeName) {
122
181
  const resolveSymbol = n => this.viewCompiler.resolveSymbol(cubeName, n) ||
123
182
  this.cubeSymbols.resolveSymbol(cubeName, n) ||