@cubejs-backend/schema-compiler 0.31.16 → 0.31.19
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/src/scaffolding/ScaffoldingSchema.d.ts +2 -1
- package/dist/src/scaffolding/ScaffoldingSchema.d.ts.map +1 -1
- package/dist/src/scaffolding/ScaffoldingSchema.js +29 -2
- package/dist/src/scaffolding/ScaffoldingSchema.js.map +1 -1
- package/dist/src/scaffolding/ScaffoldingTemplate.d.ts +16 -52
- package/dist/src/scaffolding/ScaffoldingTemplate.d.ts.map +1 -1
- package/dist/src/scaffolding/ScaffoldingTemplate.js +14 -171
- package/dist/src/scaffolding/ScaffoldingTemplate.js.map +1 -1
- package/dist/src/scaffolding/descriptors/MemberReference.d.ts +5 -0
- package/dist/src/scaffolding/descriptors/MemberReference.d.ts.map +1 -0
- package/dist/src/scaffolding/descriptors/MemberReference.js +11 -0
- package/dist/src/scaffolding/descriptors/MemberReference.js.map +1 -0
- package/dist/src/scaffolding/{ValueWithComments.d.ts → descriptors/ValueWithComments.d.ts} +0 -0
- package/dist/src/scaffolding/descriptors/ValueWithComments.d.ts.map +1 -0
- package/dist/src/scaffolding/{ValueWithComments.js → descriptors/ValueWithComments.js} +0 -0
- package/dist/src/scaffolding/descriptors/ValueWithComments.js.map +1 -0
- package/dist/src/scaffolding/formatters/BaseSchemaFormatter.d.ts +52 -0
- package/dist/src/scaffolding/formatters/BaseSchemaFormatter.d.ts.map +1 -0
- package/dist/src/scaffolding/formatters/BaseSchemaFormatter.js +124 -0
- package/dist/src/scaffolding/formatters/BaseSchemaFormatter.js.map +1 -0
- package/dist/src/scaffolding/formatters/JavaScriptSchemaFormatter.d.ts +9 -0
- package/dist/src/scaffolding/formatters/JavaScriptSchemaFormatter.d.ts.map +1 -0
- package/dist/src/scaffolding/formatters/JavaScriptSchemaFormatter.js +48 -0
- package/dist/src/scaffolding/formatters/JavaScriptSchemaFormatter.js.map +1 -0
- package/dist/src/scaffolding/formatters/YamlSchemaFormatter.d.ts +10 -0
- package/dist/src/scaffolding/formatters/YamlSchemaFormatter.d.ts.map +1 -0
- package/dist/src/scaffolding/formatters/YamlSchemaFormatter.js +84 -0
- package/dist/src/scaffolding/formatters/YamlSchemaFormatter.js.map +1 -0
- package/dist/src/scaffolding/formatters/index.d.ts +4 -0
- package/dist/src/scaffolding/formatters/index.d.ts.map +1 -0
- package/dist/src/scaffolding/formatters/index.js +16 -0
- package/dist/src/scaffolding/formatters/index.js.map +1 -0
- package/dist/src/scaffolding/index.d.ts +1 -0
- package/dist/src/scaffolding/index.d.ts.map +1 -1
- package/dist/src/scaffolding/index.js +1 -0
- package/dist/src/scaffolding/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/src/scaffolding/ValueWithComments.d.ts.map +0 -1
- package/dist/src/scaffolding/ValueWithComments.js.map +0 -1
|
@@ -50,7 +50,7 @@ export declare type TableSchema = {
|
|
|
50
50
|
measures: any[];
|
|
51
51
|
dimensions: Dimension[];
|
|
52
52
|
drillMembers?: Dimension[];
|
|
53
|
-
joins:
|
|
53
|
+
joins: Join[];
|
|
54
54
|
};
|
|
55
55
|
export declare type DatabaseSchema = Record<string, Record<string, any>>;
|
|
56
56
|
declare type ScaffoldingSchemaOptions = {
|
|
@@ -61,6 +61,7 @@ export declare class ScaffoldingSchema {
|
|
|
61
61
|
private readonly options;
|
|
62
62
|
private tableNamesToTables;
|
|
63
63
|
constructor(dbSchema: DatabaseSchema, options?: ScaffoldingSchemaOptions);
|
|
64
|
+
resolveTableName(tableName: TableName): TableName;
|
|
64
65
|
cubeDescriptors(tableNames: TableName[]): CubeDescriptor[];
|
|
65
66
|
generateForTables(tableNames: TableName[]): TableSchema[];
|
|
66
67
|
protected prepareTableNamesToTables(tableNames: TableName[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScaffoldingSchema.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/ScaffoldingSchema.ts"],"names":[],"mappings":"AAIA,aAAK,UAAU;IACb,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,oBAAY,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,oBAAY,SAAS,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD,aAAK,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAE3D,oBAAY,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,aAAK,IAAI,GAAG;IACV,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAEF,oBAAY,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ScaffoldingSchema.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/ScaffoldingSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ const MEASURE_DICTIONARY = [
|
|
|
30
30
|
'qty',
|
|
31
31
|
'quantity',
|
|
32
32
|
'duration',
|
|
33
|
-
'value'
|
|
33
|
+
'value',
|
|
34
34
|
];
|
|
35
35
|
const DRILL_MEMBERS_DICTIONARY = [
|
|
36
36
|
'id',
|
|
@@ -46,7 +46,7 @@ const DRILL_MEMBERS_DICTIONARY = [
|
|
|
46
46
|
'timestamp',
|
|
47
47
|
'city',
|
|
48
48
|
'country',
|
|
49
|
-
'date'
|
|
49
|
+
'date',
|
|
50
50
|
];
|
|
51
51
|
const idRegex = '_id$|id$';
|
|
52
52
|
class ScaffoldingSchema {
|
|
@@ -54,6 +54,33 @@ class ScaffoldingSchema {
|
|
|
54
54
|
this.dbSchema = dbSchema;
|
|
55
55
|
this.options = options;
|
|
56
56
|
}
|
|
57
|
+
resolveTableName(tableName) {
|
|
58
|
+
let tableParts;
|
|
59
|
+
if (Array.isArray(tableName)) {
|
|
60
|
+
tableParts = tableName;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
tableParts = tableName.match(/(["`].*?["`]|[^`".]+)+(?=\s*|\s*$)/g);
|
|
64
|
+
}
|
|
65
|
+
if (tableParts.length === 2) {
|
|
66
|
+
this.resolveTableDefinition(tableName);
|
|
67
|
+
return tableName;
|
|
68
|
+
}
|
|
69
|
+
else if (tableParts.length === 1 && typeof tableName === 'string') {
|
|
70
|
+
const schema = Object.keys(this.dbSchema).find((tableSchema) => this.dbSchema[tableSchema][tableName] ||
|
|
71
|
+
this.dbSchema[tableSchema][inflection_1.default.tableize(tableName)]);
|
|
72
|
+
if (!schema) {
|
|
73
|
+
throw new compiler_1.UserError(`Can't find any table with '${tableName}' name`);
|
|
74
|
+
}
|
|
75
|
+
if (this.dbSchema[schema][tableName]) {
|
|
76
|
+
return `${schema}.${tableName}`;
|
|
77
|
+
}
|
|
78
|
+
if (this.dbSchema[schema][inflection_1.default.tableize(tableName)]) {
|
|
79
|
+
return `${schema}.${inflection_1.default.tableize(tableName)}`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
throw new compiler_1.UserError('Table names should be in <table> or <schema>.<table> format');
|
|
83
|
+
}
|
|
57
84
|
cubeDescriptors(tableNames) {
|
|
58
85
|
const cubes = this.generateForTables(tableNames);
|
|
59
86
|
function member(type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScaffoldingSchema.js","sourceRoot":"","sources":["../../../src/scaffolding/ScaffoldingSchema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScaffoldingSchema.js","sourceRoot":"","sources":["../../../src/scaffolding/ScaffoldingSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,59 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ValueWithComments } from './ValueWithComments';
|
|
3
|
-
|
|
1
|
+
import { MemberReference } from './descriptors/MemberReference';
|
|
2
|
+
import { ValueWithComments } from './descriptors/ValueWithComments';
|
|
3
|
+
import { CubeDescriptor, CubeDescriptorMember, DatabaseSchema, TableName } from './ScaffoldingSchema';
|
|
4
|
+
export declare type SchemaContext = {
|
|
4
5
|
dataSource?: string;
|
|
5
6
|
};
|
|
6
|
-
declare
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
export declare type CubeMembers = {
|
|
8
|
+
measures: CubeDescriptorMember[];
|
|
9
|
+
dimensions: CubeDescriptorMember[];
|
|
10
|
+
};
|
|
11
|
+
export declare type SchemaDescriptor = SchemaDescriptor[] | string | number | MemberReference | ValueWithComments | object;
|
|
12
|
+
export declare enum SchemaFormat {
|
|
13
|
+
JavaScript = "js",
|
|
14
|
+
Yaml = "yaml"
|
|
9
15
|
}
|
|
10
16
|
export declare class ScaffoldingTemplate {
|
|
11
|
-
private readonly dbSchema;
|
|
12
17
|
private readonly driver;
|
|
13
|
-
private
|
|
14
|
-
constructor(dbSchema: DatabaseSchema, driver: any);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
generateFilesByTableNames(tableNames: TableName[], schemaContext?: SchemaContext): {
|
|
18
|
-
fileName: string;
|
|
19
|
-
content: string;
|
|
20
|
-
}[];
|
|
21
|
-
generateFilesByCubeDescriptors(cubeDescriptors: CubeDescriptor[], schemaContext?: SchemaContext): {
|
|
22
|
-
fileName: string;
|
|
23
|
-
content: string;
|
|
24
|
-
}[];
|
|
25
|
-
protected resolveTableName(tableName: TableName): TableName;
|
|
26
|
-
schemaDescriptorForTable(tableSchema: TableSchema, schemaContext?: SchemaContext): {
|
|
27
|
-
dataSource?: string | undefined;
|
|
28
|
-
cube: string;
|
|
29
|
-
sql: string;
|
|
30
|
-
preAggregations: ValueWithComments;
|
|
31
|
-
joins: {
|
|
32
|
-
[x: number]: {
|
|
33
|
-
sql: string;
|
|
34
|
-
relationship: any;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
measures: {
|
|
38
|
-
count: {
|
|
39
|
-
type: string;
|
|
40
|
-
drillMembers: MemberReference[];
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
dimensions: {
|
|
44
|
-
[x: string]: {
|
|
45
|
-
sql: string;
|
|
46
|
-
type: any;
|
|
47
|
-
title: any;
|
|
48
|
-
primaryKey: boolean | undefined;
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
protected sqlForMember(m: any): string;
|
|
53
|
-
protected memberTitle(m: any): any;
|
|
54
|
-
protected memberName(member: any): string;
|
|
55
|
-
protected renderFile(fileDescriptor: any): string;
|
|
56
|
-
protected render(descriptor: any, level: any, appendComment?: string): any;
|
|
18
|
+
private formatStrategy;
|
|
19
|
+
constructor(dbSchema: DatabaseSchema, driver: any, format?: SchemaFormat);
|
|
20
|
+
generateFilesByTableNames(tableNames: TableName[], schemaContext?: SchemaContext): import("./formatters").SchemaFile[];
|
|
21
|
+
generateFilesByCubeDescriptors(cubeDescriptors: CubeDescriptor[], schemaContext?: SchemaContext): import("./formatters").SchemaFile[];
|
|
57
22
|
}
|
|
58
|
-
export {};
|
|
59
23
|
//# sourceMappingURL=ScaffoldingTemplate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScaffoldingTemplate.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/ScaffoldingTemplate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScaffoldingTemplate.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/ScaffoldingTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,SAAS,EACV,MAAM,qBAAqB,CAAC;AAG7B,oBAAY,aAAa,GAAG;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACpC,CAAC;AAEF,oBAAY,gBAAgB,GACxB,gBAAgB,EAAE,GAClB,MAAM,GACN,MAAM,GACN,eAAe,GACf,iBAAiB,GACjB,MAAM,CAAC;AAEX,oBAAY,YAAY;IACtB,UAAU,OAAO;IACjB,IAAI,SAAS;CACd;AAED,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,cAAc,CAAsB;gBAG1C,QAAQ,EAAE,cAAc,EACP,MAAM,KAAA,EACvB,MAAM,CAAC,EAAE,YAAY;IAQhB,yBAAyB,CAC9B,UAAU,EAAE,SAAS,EAAE,EACvB,aAAa,GAAE,aAAkB;IAQ5B,8BAA8B,CACnC,eAAe,EAAE,cAAc,EAAE,EACjC,aAAa,GAAE,aAAkB;CAOpC"}
|
|
@@ -1,182 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ScaffoldingTemplate = void 0;
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
this.member = member;
|
|
14
|
-
this.member = member;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
3
|
+
exports.ScaffoldingTemplate = exports.SchemaFormat = void 0;
|
|
4
|
+
const formatters_1 = require("./formatters");
|
|
5
|
+
var SchemaFormat;
|
|
6
|
+
(function (SchemaFormat) {
|
|
7
|
+
SchemaFormat["JavaScript"] = "js";
|
|
8
|
+
SchemaFormat["Yaml"] = "yaml";
|
|
9
|
+
})(SchemaFormat = exports.SchemaFormat || (exports.SchemaFormat = {}));
|
|
17
10
|
class ScaffoldingTemplate {
|
|
18
|
-
constructor(dbSchema, driver) {
|
|
19
|
-
this.dbSchema = dbSchema;
|
|
11
|
+
constructor(dbSchema, driver, format) {
|
|
20
12
|
this.driver = driver;
|
|
21
|
-
this.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return name;
|
|
26
|
-
}
|
|
27
|
-
return this.driver.quoteIdentifier(name);
|
|
28
|
-
}
|
|
29
|
-
eligibleIdentifier(name) {
|
|
30
|
-
return !!name.match(/^[a-z0-9_]+$/);
|
|
13
|
+
this.formatStrategy =
|
|
14
|
+
format === SchemaFormat.Yaml
|
|
15
|
+
? new formatters_1.YamlSchemaFormatter(dbSchema, this.driver)
|
|
16
|
+
: new formatters_1.JavaScriptSchemaFormatter(dbSchema, this.driver);
|
|
31
17
|
}
|
|
32
18
|
generateFilesByTableNames(tableNames, schemaContext = {}) {
|
|
33
|
-
|
|
34
|
-
return schemaForTables.map(tableSchema => ({
|
|
35
|
-
// eslint-disable-next-line prefer-template
|
|
36
|
-
fileName: tableSchema.cube + '.js',
|
|
37
|
-
content: this.renderFile(this.schemaDescriptorForTable(tableSchema, schemaContext))
|
|
38
|
-
}));
|
|
19
|
+
return this.formatStrategy.generateFilesByTableNames(tableNames, schemaContext);
|
|
39
20
|
}
|
|
40
21
|
generateFilesByCubeDescriptors(cubeDescriptors, schemaContext = {}) {
|
|
41
|
-
|
|
42
|
-
const generatedSchemaForTables = this.scaffoldingSchema.generateForTables(tableNames.map(n => this.resolveTableName(n)));
|
|
43
|
-
const schemaForTables = cubeDescriptors.map((descriptor) => {
|
|
44
|
-
var _a;
|
|
45
|
-
const generatedDescriptor = generatedSchemaForTables.find(({ cube }) => cube === descriptor.cube);
|
|
46
|
-
const cubeMembers = descriptor.members.reduce((memo, member) => ({
|
|
47
|
-
measures: [...memo.measures].concat(member.memberType === ScaffoldingSchema_1.MemberType.Measure ? [member] : []),
|
|
48
|
-
dimensions: [...memo.dimensions].concat(member.memberType === ScaffoldingSchema_1.MemberType.Dimension ? [member] : []),
|
|
49
|
-
}), {
|
|
50
|
-
measures: [],
|
|
51
|
-
dimensions: []
|
|
52
|
-
});
|
|
53
|
-
const dimensionNames = cubeMembers.dimensions.filter((d) => d.included || d.included == null).map((d) => d.name);
|
|
54
|
-
return {
|
|
55
|
-
...generatedDescriptor,
|
|
56
|
-
...descriptor,
|
|
57
|
-
...cubeMembers,
|
|
58
|
-
drillMembers: (_a = generatedDescriptor === null || generatedDescriptor === void 0 ? void 0 : generatedDescriptor.drillMembers) === null || _a === void 0 ? void 0 : _a.filter((dm) => dimensionNames.includes(dm.name))
|
|
59
|
-
};
|
|
60
|
-
});
|
|
61
|
-
return schemaForTables.map(tableSchema => ({
|
|
62
|
-
fileName: `${tableSchema.cube}.js`,
|
|
63
|
-
content: this.renderFile(this.schemaDescriptorForTable(tableSchema, schemaContext))
|
|
64
|
-
}));
|
|
65
|
-
}
|
|
66
|
-
// eslint-disable-next-line consistent-return
|
|
67
|
-
resolveTableName(tableName) {
|
|
68
|
-
let tableParts;
|
|
69
|
-
if (Array.isArray(tableName)) {
|
|
70
|
-
tableParts = tableName;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
tableParts = tableName.match(/(["`].*?["`]|[^`".]+)+(?=\s*|\s*$)/g);
|
|
74
|
-
}
|
|
75
|
-
if (tableParts.length === 2) {
|
|
76
|
-
this.scaffoldingSchema.resolveTableDefinition(tableName);
|
|
77
|
-
return tableName;
|
|
78
|
-
}
|
|
79
|
-
else if (tableParts.length === 1 && typeof tableName === 'string') {
|
|
80
|
-
const schema = Object.keys(this.dbSchema).find(tableSchema => this.dbSchema[tableSchema][tableName] ||
|
|
81
|
-
this.dbSchema[tableSchema][inflection_1.default.tableize(tableName)]);
|
|
82
|
-
if (!schema) {
|
|
83
|
-
throw new compiler_1.UserError(`Can't find any table with '${tableName}' name`);
|
|
84
|
-
}
|
|
85
|
-
if (this.dbSchema[schema][tableName]) {
|
|
86
|
-
return `${schema}.${tableName}`;
|
|
87
|
-
}
|
|
88
|
-
if (this.dbSchema[schema][inflection_1.default.tableize(tableName)]) {
|
|
89
|
-
return `${schema}.${inflection_1.default.tableize(tableName)}`;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
throw new compiler_1.UserError('Table names should be in <table> or <schema>.<table> format');
|
|
93
|
-
}
|
|
94
|
-
schemaDescriptorForTable(tableSchema, schemaContext = {}) {
|
|
95
|
-
return {
|
|
96
|
-
cube: tableSchema.cube,
|
|
97
|
-
sql: `SELECT * FROM ${tableSchema.schema && tableSchema.schema.length ? `${this.escapeName(tableSchema.schema)}.` : ''}${this.escapeName(tableSchema.table)}`,
|
|
98
|
-
preAggregations: new ValueWithComments_1.ValueWithComments({}, [
|
|
99
|
-
'Pre-Aggregations definitions go here',
|
|
100
|
-
'Learn more here: https://cube.dev/docs/caching/pre-aggregations/getting-started'
|
|
101
|
-
]),
|
|
102
|
-
joins: tableSchema.joins.map(j => ({
|
|
103
|
-
[j.cubeToJoin]: {
|
|
104
|
-
sql: `\${CUBE}.${this.escapeName(j.thisTableColumn)} = \${${j.cubeToJoin}}.${this.escapeName(j.columnToJoin)}`,
|
|
105
|
-
relationship: j.relationship
|
|
106
|
-
}
|
|
107
|
-
})).reduce((a, b) => ({ ...a, ...b }), {}),
|
|
108
|
-
measures: tableSchema.measures.map(m => {
|
|
109
|
-
var _a;
|
|
110
|
-
return ({
|
|
111
|
-
[this.memberName(m)]: {
|
|
112
|
-
sql: this.sqlForMember(m),
|
|
113
|
-
type: (_a = m.type) !== null && _a !== void 0 ? _a : m.types[0],
|
|
114
|
-
title: this.memberTitle(m)
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}).reduce((a, b) => ({ ...a, ...b }), {
|
|
118
|
-
count: {
|
|
119
|
-
type: 'count',
|
|
120
|
-
drillMembers: (tableSchema.drillMembers || []).map(m => new MemberReference(this.memberName(m)))
|
|
121
|
-
}
|
|
122
|
-
}),
|
|
123
|
-
dimensions: tableSchema.dimensions.map(m => {
|
|
124
|
-
var _a;
|
|
125
|
-
return ({
|
|
126
|
-
[this.memberName(m)]: {
|
|
127
|
-
sql: this.sqlForMember(m),
|
|
128
|
-
type: (_a = m.type) !== null && _a !== void 0 ? _a : m.types[0],
|
|
129
|
-
title: this.memberTitle(m),
|
|
130
|
-
primaryKey: m.isPrimaryKey ? true : undefined
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}).reduce((a, b) => ({ ...a, ...b }), {}),
|
|
134
|
-
...schemaContext
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
sqlForMember(m) {
|
|
138
|
-
// eslint-disable-next-line no-template-curly-in-string
|
|
139
|
-
return `${this.escapeName(m.name) !== m.name || !this.eligibleIdentifier(m.name) ? '${CUBE}.' : ''}${this.escapeName(m.name)}`;
|
|
140
|
-
}
|
|
141
|
-
memberTitle(m) {
|
|
142
|
-
return inflection_1.default.titleize(inflection_1.default.underscore(this.memberName(m))) !== m.title ? m.title : undefined;
|
|
143
|
-
}
|
|
144
|
-
memberName(member) {
|
|
145
|
-
return inflection_1.default.camelize(member.title.replace(/[^A-Za-z0-9]+/g, '_').toLowerCase(), true);
|
|
146
|
-
}
|
|
147
|
-
renderFile(fileDescriptor) {
|
|
148
|
-
const { cube, ...descriptor } = fileDescriptor;
|
|
149
|
-
return `cube(\`${cube}\`, ${this.render(descriptor, 0)});\n`;
|
|
150
|
-
}
|
|
151
|
-
render(descriptor, level, appendComment = '') {
|
|
152
|
-
// eslint-disable-next-line prefer-template
|
|
153
|
-
const lineSeparator = ',\n' + (level < 2 ? '\n' : '');
|
|
154
|
-
if (Array.isArray(descriptor)) {
|
|
155
|
-
const items = descriptor.map(desc => this.render(desc, level + 1)).join(', ');
|
|
156
|
-
return `[${items}]`;
|
|
157
|
-
}
|
|
158
|
-
else if (typeof descriptor === 'string') {
|
|
159
|
-
return `\`${descriptor.replace(/`/g, '\\`')}\``;
|
|
160
|
-
}
|
|
161
|
-
else if (descriptor instanceof MemberReference) {
|
|
162
|
-
return descriptor.member;
|
|
163
|
-
}
|
|
164
|
-
else if (descriptor instanceof ValueWithComments_1.ValueWithComments) {
|
|
165
|
-
return this.render(descriptor.value, level, descriptor.comments.map((comment) => ` // ${comment}`).join('\n'));
|
|
166
|
-
}
|
|
167
|
-
else if (typeof descriptor === 'object') {
|
|
168
|
-
const content = Object.keys(descriptor)
|
|
169
|
-
.filter(k => descriptor[k] != null)
|
|
170
|
-
.map(key => `${key}: ${this.render(descriptor[key], level + 1)}`)
|
|
171
|
-
.join(lineSeparator)
|
|
172
|
-
.split('\n')
|
|
173
|
-
.map(l => ` ${l}`)
|
|
174
|
-
.join('\n');
|
|
175
|
-
return `{\n${appendComment}${content}\n}`;
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
return descriptor.toString();
|
|
179
|
-
}
|
|
22
|
+
return this.formatStrategy.generateFilesByCubeDescriptors(cubeDescriptors, schemaContext);
|
|
180
23
|
}
|
|
181
24
|
}
|
|
182
25
|
exports.ScaffoldingTemplate = ScaffoldingTemplate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScaffoldingTemplate.js","sourceRoot":"","sources":["../../../src/scaffolding/ScaffoldingTemplate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScaffoldingTemplate.js","sourceRoot":"","sources":["../../../src/scaffolding/ScaffoldingTemplate.ts"],"names":[],"mappings":";;;AAEA,6CAA8E;AA0B9E,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;AACf,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAED,MAAa,mBAAmB;IAG9B,YACE,QAAwB,EACP,MAAM,EACvB,MAAqB;QADJ,WAAM,GAAN,MAAM,CAAA;QAGvB,IAAI,CAAC,cAAc;YACjB,MAAM,KAAK,YAAY,CAAC,IAAI;gBAC1B,CAAC,CAAC,IAAI,gCAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;gBAChD,CAAC,CAAC,IAAI,sCAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAEM,yBAAyB,CAC9B,UAAuB,EACvB,gBAA+B,EAAE;QAEjC,OAAO,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAClD,UAAU,EACV,aAAa,CACd,CAAC;IACJ,CAAC;IAEM,8BAA8B,CACnC,eAAiC,EACjC,gBAA+B,EAAE;QAEjC,OAAO,IAAI,CAAC,cAAc,CAAC,8BAA8B,CACvD,eAAe,EACf,aAAa,CACd,CAAC;IACJ,CAAC;CACF;AAjCD,kDAiCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemberReference.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/descriptors/MemberReference.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;IACA,MAAM;gBAAN,MAAM,KAAA;CAGjC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemberReference = void 0;
|
|
4
|
+
class MemberReference {
|
|
5
|
+
constructor(member) {
|
|
6
|
+
this.member = member;
|
|
7
|
+
this.member = member;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.MemberReference = MemberReference;
|
|
11
|
+
//# sourceMappingURL=MemberReference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemberReference.js","sourceRoot":"","sources":["../../../../src/scaffolding/descriptors/MemberReference.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;IAC1B,YAA0B,MAAM;QAAN,WAAM,GAAN,MAAM,CAAA;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAJD,0CAIC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValueWithComments.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/descriptors/ValueWithComments.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAiB;aAEV,KAAK,EAAE,GAAG;aACV,QAAQ,EAAE,MAAM,EAAE;gBADlB,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,MAAM,EAAE;CAGrC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValueWithComments.js","sourceRoot":"","sources":["../../../../src/scaffolding/descriptors/ValueWithComments.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAiB;IAC5B,YACkB,KAAU,EACV,QAAkB;QADlB,UAAK,GAAL,KAAK,CAAK;QACV,aAAQ,GAAR,QAAQ,CAAU;IAEpC,CAAC;CACF;AAND,8CAMC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { SchemaContext } from '../ScaffoldingTemplate';
|
|
2
|
+
import { CubeDescriptor, DatabaseSchema, ScaffoldingSchema, TableName, TableSchema } from '../ScaffoldingSchema';
|
|
3
|
+
import { MemberReference } from '../descriptors/MemberReference';
|
|
4
|
+
import { ValueWithComments } from '../descriptors/ValueWithComments';
|
|
5
|
+
export declare type SchemaFile = {
|
|
6
|
+
fileName: string;
|
|
7
|
+
content: string;
|
|
8
|
+
};
|
|
9
|
+
export declare abstract class BaseSchemaFormatter {
|
|
10
|
+
protected readonly dbSchema: DatabaseSchema;
|
|
11
|
+
protected readonly driver: any;
|
|
12
|
+
protected readonly scaffoldingSchema: ScaffoldingSchema;
|
|
13
|
+
constructor(dbSchema: DatabaseSchema, driver: any);
|
|
14
|
+
abstract fileExtension(): string;
|
|
15
|
+
protected abstract cubeReference(cube: string): string;
|
|
16
|
+
protected abstract renderFile(fileDescriptor: Record<string, unknown>): string;
|
|
17
|
+
generateFilesByTableNames(tableNames: TableName[], schemaContext?: SchemaContext): SchemaFile[];
|
|
18
|
+
generateFilesByCubeDescriptors(cubeDescriptors: CubeDescriptor[], schemaContext?: SchemaContext): SchemaFile[];
|
|
19
|
+
protected sqlForMember(m: any): string;
|
|
20
|
+
protected memberTitle(m: any): any;
|
|
21
|
+
protected memberName(member: any): string;
|
|
22
|
+
protected escapeName(name: any): any;
|
|
23
|
+
protected eligibleIdentifier(name: string): boolean;
|
|
24
|
+
schemaDescriptorForTable(tableSchema: TableSchema, schemaContext?: SchemaContext): {
|
|
25
|
+
dataSource?: string | undefined;
|
|
26
|
+
cube: string;
|
|
27
|
+
sql: string;
|
|
28
|
+
preAggregations: ValueWithComments;
|
|
29
|
+
joins: {
|
|
30
|
+
[x: string]: {
|
|
31
|
+
sql: string;
|
|
32
|
+
relationship: "hasOne" | "hasMany" | "belongsTo";
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
measures: {
|
|
36
|
+
count: {
|
|
37
|
+
type: string;
|
|
38
|
+
drillMembers: MemberReference[];
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
dimensions: {
|
|
42
|
+
[x: string]: {
|
|
43
|
+
sql: string;
|
|
44
|
+
type: any;
|
|
45
|
+
title: any;
|
|
46
|
+
primaryKey: boolean | undefined;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
protected schemaForTablesByCubeDescriptors(cubeDescriptors: CubeDescriptor[]): TableSchema[];
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=BaseSchemaFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSchemaFormatter.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/formatters/BaseSchemaFormatter.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAc,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAG,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,oBAAY,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,8BAAsB,mBAAmB;IAIrC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc;IAC3C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG;IAJhC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;gBAGnC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,GAAG;aAKhB,aAAa,IAAI,MAAM;IAEvC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAEtD,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAEvE,yBAAyB,CAC9B,UAAU,EAAE,SAAS,EAAE,EACvB,aAAa,GAAE,aAAkB,GAChC,UAAU,EAAE;IAaR,8BAA8B,CACnC,eAAe,EAAE,cAAc,EAAE,EACjC,aAAa,GAAE,aAAkB,GAChC,UAAU,EAAE;IASf,SAAS,CAAC,YAAY,CAAC,CAAC,KAAA;IASxB,SAAS,CAAC,WAAW,CAAC,CAAC,KAAA;IAOvB,SAAS,CAAC,UAAU,CAAC,MAAM,KAAA;IAO3B,SAAS,CAAC,UAAU,CAAC,IAAI,KAAA;IAOzB,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAIlC,wBAAwB,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,GAAE,aAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;IAsC3F,SAAS,CAAC,gCAAgC,CAAC,eAAe,EAAE,cAAc,EAAE;CAsC7E"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BaseSchemaFormatter = void 0;
|
|
7
|
+
const inflection_1 = __importDefault(require("inflection"));
|
|
8
|
+
const ScaffoldingSchema_1 = require("../ScaffoldingSchema");
|
|
9
|
+
const MemberReference_1 = require("../descriptors/MemberReference");
|
|
10
|
+
const ValueWithComments_1 = require("../descriptors/ValueWithComments");
|
|
11
|
+
class BaseSchemaFormatter {
|
|
12
|
+
constructor(dbSchema, driver) {
|
|
13
|
+
this.dbSchema = dbSchema;
|
|
14
|
+
this.driver = driver;
|
|
15
|
+
this.scaffoldingSchema = new ScaffoldingSchema_1.ScaffoldingSchema(dbSchema, driver);
|
|
16
|
+
}
|
|
17
|
+
generateFilesByTableNames(tableNames, schemaContext = {}) {
|
|
18
|
+
const schemaForTables = this.scaffoldingSchema.generateForTables(tableNames.map((n) => this.scaffoldingSchema.resolveTableName(n)));
|
|
19
|
+
return schemaForTables.map((tableSchema) => ({
|
|
20
|
+
fileName: `${tableSchema.cube}.${this.fileExtension()}`,
|
|
21
|
+
content: this.renderFile(this.schemaDescriptorForTable(tableSchema, schemaContext)),
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
generateFilesByCubeDescriptors(cubeDescriptors, schemaContext = {}) {
|
|
25
|
+
return this.schemaForTablesByCubeDescriptors(cubeDescriptors).map((tableSchema) => ({
|
|
26
|
+
fileName: `${tableSchema.cube}.${this.fileExtension()}`,
|
|
27
|
+
content: this.renderFile(this.schemaDescriptorForTable(tableSchema, schemaContext)),
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
sqlForMember(m) {
|
|
31
|
+
return `${this.escapeName(m.name) !== m.name || !this.eligibleIdentifier(m.name)
|
|
32
|
+
?
|
|
33
|
+
`${this.cubeReference('CUBE')}.`
|
|
34
|
+
: ''}${this.escapeName(m.name)}`;
|
|
35
|
+
}
|
|
36
|
+
memberTitle(m) {
|
|
37
|
+
return inflection_1.default.titleize(inflection_1.default.underscore(this.memberName(m))) !==
|
|
38
|
+
m.title
|
|
39
|
+
? m.title
|
|
40
|
+
: undefined;
|
|
41
|
+
}
|
|
42
|
+
memberName(member) {
|
|
43
|
+
return inflection_1.default.camelize(member.title.replace(/[^A-Za-z0-9]+/g, '_').toLowerCase(), true);
|
|
44
|
+
}
|
|
45
|
+
escapeName(name) {
|
|
46
|
+
if (this.eligibleIdentifier(name)) {
|
|
47
|
+
return name;
|
|
48
|
+
}
|
|
49
|
+
return this.driver.quoteIdentifier(name);
|
|
50
|
+
}
|
|
51
|
+
eligibleIdentifier(name) {
|
|
52
|
+
return !!name.match(/^[a-z0-9_]+$/);
|
|
53
|
+
}
|
|
54
|
+
schemaDescriptorForTable(tableSchema, schemaContext = {}) {
|
|
55
|
+
var _a;
|
|
56
|
+
return {
|
|
57
|
+
cube: tableSchema.cube,
|
|
58
|
+
sql: `SELECT * FROM ${((_a = tableSchema.schema) === null || _a === void 0 ? void 0 : _a.length) ? `${this.escapeName(tableSchema.schema)}.` : ''}${this.escapeName(tableSchema.table)}`,
|
|
59
|
+
preAggregations: new ValueWithComments_1.ValueWithComments(null, [
|
|
60
|
+
'Pre-Aggregations definitions go here',
|
|
61
|
+
'Learn more here: https://cube.dev/docs/caching/pre-aggregations/getting-started'
|
|
62
|
+
]),
|
|
63
|
+
joins: tableSchema.joins.map(j => ({
|
|
64
|
+
[j.cubeToJoin]: {
|
|
65
|
+
sql: `${this.cubeReference('CUBE')}.${this.escapeName(j.thisTableColumn)} = ${this.cubeReference(j.cubeToJoin)}.${this.escapeName(j.columnToJoin)}`,
|
|
66
|
+
relationship: j.relationship
|
|
67
|
+
}
|
|
68
|
+
})).reduce((a, b) => ({ ...a, ...b }), {}),
|
|
69
|
+
measures: tableSchema.measures.map(m => {
|
|
70
|
+
var _a;
|
|
71
|
+
return ({
|
|
72
|
+
[this.memberName(m)]: {
|
|
73
|
+
sql: this.sqlForMember(m),
|
|
74
|
+
type: (_a = m.type) !== null && _a !== void 0 ? _a : m.types[0],
|
|
75
|
+
title: this.memberTitle(m)
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}).reduce((a, b) => ({ ...a, ...b }), {
|
|
79
|
+
count: {
|
|
80
|
+
type: 'count',
|
|
81
|
+
drillMembers: (tableSchema.drillMembers || []).map(m => new MemberReference_1.MemberReference(this.memberName(m)))
|
|
82
|
+
}
|
|
83
|
+
}),
|
|
84
|
+
dimensions: tableSchema.dimensions.map(m => {
|
|
85
|
+
var _a;
|
|
86
|
+
return ({
|
|
87
|
+
[this.memberName(m)]: {
|
|
88
|
+
sql: this.sqlForMember(m),
|
|
89
|
+
type: (_a = m.type) !== null && _a !== void 0 ? _a : m.types[0],
|
|
90
|
+
title: this.memberTitle(m),
|
|
91
|
+
primaryKey: m.isPrimaryKey ? true : undefined
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}).reduce((a, b) => ({ ...a, ...b }), {}),
|
|
95
|
+
...schemaContext
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
schemaForTablesByCubeDescriptors(cubeDescriptors) {
|
|
99
|
+
const tableNames = cubeDescriptors.map(({ tableName }) => tableName);
|
|
100
|
+
const generatedSchemaForTables = this.scaffoldingSchema.generateForTables(tableNames.map((n) => this.scaffoldingSchema.resolveTableName(n)));
|
|
101
|
+
return cubeDescriptors.map((descriptor) => {
|
|
102
|
+
var _a;
|
|
103
|
+
const generatedDescriptor = generatedSchemaForTables.find(({ cube }) => cube === descriptor.cube);
|
|
104
|
+
const cubeMembers = descriptor.members.reduce((memo, member) => ({
|
|
105
|
+
measures: [...memo.measures].concat(member.memberType === ScaffoldingSchema_1.MemberType.Measure ? [member] : []),
|
|
106
|
+
dimensions: [...memo.dimensions].concat(member.memberType === ScaffoldingSchema_1.MemberType.Dimension ? [member] : []),
|
|
107
|
+
}), {
|
|
108
|
+
measures: [],
|
|
109
|
+
dimensions: [],
|
|
110
|
+
});
|
|
111
|
+
const dimensionNames = cubeMembers.dimensions
|
|
112
|
+
.filter((d) => d.included || d.included == null)
|
|
113
|
+
.map((d) => d.name);
|
|
114
|
+
return {
|
|
115
|
+
...generatedDescriptor,
|
|
116
|
+
...descriptor,
|
|
117
|
+
...cubeMembers,
|
|
118
|
+
drillMembers: (_a = generatedDescriptor === null || generatedDescriptor === void 0 ? void 0 : generatedDescriptor.drillMembers) === null || _a === void 0 ? void 0 : _a.filter((dm) => dimensionNames.includes(dm.name)),
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.BaseSchemaFormatter = BaseSchemaFormatter;
|
|
124
|
+
//# sourceMappingURL=BaseSchemaFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSchemaFormatter.js","sourceRoot":"","sources":["../../../../src/scaffolding/formatters/BaseSchemaFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SchemaDescriptor } from '../ScaffoldingTemplate';
|
|
2
|
+
import { BaseSchemaFormatter } from './BaseSchemaFormatter';
|
|
3
|
+
export declare class JavaScriptSchemaFormatter extends BaseSchemaFormatter {
|
|
4
|
+
fileExtension(): string;
|
|
5
|
+
protected cubeReference(cube: string): string;
|
|
6
|
+
protected renderFile(fileDescriptor: Record<string, unknown>): string;
|
|
7
|
+
protected render(descriptor: SchemaDescriptor, level: number, appendComment?: string): string;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=JavaScriptSchemaFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JavaScriptSchemaFormatter.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/formatters/JavaScriptSchemaFormatter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,yBAA0B,SAAQ,mBAAmB;IACzD,aAAa;IAIpB,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI7C,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAKrE,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,SAAK,GAAG,MAAM;CA+B1F"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JavaScriptSchemaFormatter = void 0;
|
|
4
|
+
const MemberReference_1 = require("../descriptors/MemberReference");
|
|
5
|
+
const ValueWithComments_1 = require("../descriptors/ValueWithComments");
|
|
6
|
+
const BaseSchemaFormatter_1 = require("./BaseSchemaFormatter");
|
|
7
|
+
class JavaScriptSchemaFormatter extends BaseSchemaFormatter_1.BaseSchemaFormatter {
|
|
8
|
+
fileExtension() {
|
|
9
|
+
return 'js';
|
|
10
|
+
}
|
|
11
|
+
cubeReference(cube) {
|
|
12
|
+
return `\${${cube}}`;
|
|
13
|
+
}
|
|
14
|
+
renderFile(fileDescriptor) {
|
|
15
|
+
const { cube, ...descriptor } = fileDescriptor;
|
|
16
|
+
return `cube(\`${cube}\`, ${this.render(descriptor, 0)});\n`;
|
|
17
|
+
}
|
|
18
|
+
render(descriptor, level, appendComment = '') {
|
|
19
|
+
// eslint-disable-next-line prefer-template
|
|
20
|
+
const lineSeparator = ',\n' + (level < 2 ? '\n' : '');
|
|
21
|
+
if (Array.isArray(descriptor)) {
|
|
22
|
+
const items = descriptor.map(desc => this.render(desc, level + 1)).join(', ');
|
|
23
|
+
return `[${items}]`;
|
|
24
|
+
}
|
|
25
|
+
else if (typeof descriptor === 'string') {
|
|
26
|
+
return `\`${descriptor.replace(/`/g, '\\`')}\``;
|
|
27
|
+
}
|
|
28
|
+
else if (descriptor instanceof MemberReference_1.MemberReference) {
|
|
29
|
+
return descriptor.member;
|
|
30
|
+
}
|
|
31
|
+
else if (descriptor instanceof ValueWithComments_1.ValueWithComments) {
|
|
32
|
+
return this.render(descriptor.value, level, descriptor.comments.map((comment) => ` // ${comment}`).join('\n'));
|
|
33
|
+
}
|
|
34
|
+
else if (typeof descriptor === 'object') {
|
|
35
|
+
const content = descriptor != null ? Object.keys(descriptor)
|
|
36
|
+
.filter(k => descriptor[k] != null)
|
|
37
|
+
.map(key => `${key}: ${this.render(descriptor[key], level + 1)}`)
|
|
38
|
+
.join(lineSeparator)
|
|
39
|
+
.split('\n')
|
|
40
|
+
.map(l => ` ${l}`)
|
|
41
|
+
.join('\n') : '';
|
|
42
|
+
return `{\n${appendComment}${content}\n}`;
|
|
43
|
+
}
|
|
44
|
+
return descriptor.toString();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.JavaScriptSchemaFormatter = JavaScriptSchemaFormatter;
|
|
48
|
+
//# sourceMappingURL=JavaScriptSchemaFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JavaScriptSchemaFormatter.js","sourceRoot":"","sources":["../../../../src/scaffolding/formatters/JavaScriptSchemaFormatter.ts"],"names":[],"mappings":";;;AAAA,oEAAiE;AACjE,wEAAqE;AAErE,+DAA4D;AAE5D,MAAa,yBAA0B,SAAQ,yCAAmB;IACzD,aAAa;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAES,aAAa,CAAC,IAAY;QAClC,OAAO,MAAM,IAAI,GAAG,CAAC;IACvB,CAAC;IAES,UAAU,CAAC,cAAuC;QAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,GAAG,cAAc,CAAC;QAC/C,OAAO,UAAU,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;IAC/D,CAAC;IAES,MAAM,CAAC,UAA4B,EAAE,KAAa,EAAE,aAAa,GAAG,EAAE;QAC9E,2CAA2C;QAC3C,MAAM,aAAa,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEtD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,OAAO,IAAI,KAAK,GAAG,CAAC;SACrB;aAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YACzC,OAAO,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;SACjD;aAAM,IAAI,UAAU,YAAY,iCAAe,EAAE;YAChD,OAAO,UAAU,CAAC,MAAM,CAAC;SAC1B;aAAM,IAAI,UAAU,YAAY,qCAAiB,EAAE;YAClD,OAAO,IAAI,CAAC,MAAM,CAChB,UAAU,CAAC,KAAK,EAChB,KAAK,EACL,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACnE,CAAC;SACH;aAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YACzC,MAAM,OAAO,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;iBACzD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;iBAClC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;iBAChE,IAAI,CAAC,aAAa,CAAC;iBACnB,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;iBAClB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEnB,OAAO,MAAM,aAAa,GAAG,OAAO,KAAK,CAAC;SAC3C;QAED,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF;AA7CD,8DA6CC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SchemaDescriptor } from '../ScaffoldingTemplate';
|
|
2
|
+
import { BaseSchemaFormatter } from './BaseSchemaFormatter';
|
|
3
|
+
export declare class YamlSchemaFormatter extends BaseSchemaFormatter {
|
|
4
|
+
fileExtension(): string;
|
|
5
|
+
protected cubeReference(cube: string): string;
|
|
6
|
+
protected renderFile(fileDescriptor: Record<string, unknown>): string;
|
|
7
|
+
protected render(value: SchemaDescriptor, level?: number, parent?: SchemaDescriptor): any;
|
|
8
|
+
private escapedValue;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=YamlSchemaFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YamlSchemaFormatter.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/formatters/YamlSchemaFormatter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAS5D,qBAAa,mBAAoB,SAAQ,mBAAmB;IACnD,aAAa,IAAI,MAAM;IAI9B,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI7C,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAgBrE,SAAS,CAAC,MAAM,CACd,KAAK,EAAE,gBAAgB,EACvB,KAAK,SAAI,EACT,MAAM,CAAC,EAAE,gBAAgB;IAmE3B,OAAO,CAAC,YAAY;CAOrB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.YamlSchemaFormatter = void 0;
|
|
4
|
+
const MemberReference_1 = require("../descriptors/MemberReference");
|
|
5
|
+
const ValueWithComments_1 = require("../descriptors/ValueWithComments");
|
|
6
|
+
const BaseSchemaFormatter_1 = require("./BaseSchemaFormatter");
|
|
7
|
+
function isPlainObject(value) {
|
|
8
|
+
if (typeof value !== 'object' || value === null) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
return Object.getPrototypeOf(value) === Object.getPrototypeOf({});
|
|
12
|
+
}
|
|
13
|
+
class YamlSchemaFormatter extends BaseSchemaFormatter_1.BaseSchemaFormatter {
|
|
14
|
+
fileExtension() {
|
|
15
|
+
return 'yaml';
|
|
16
|
+
}
|
|
17
|
+
cubeReference(cube) {
|
|
18
|
+
return `{${cube}}`;
|
|
19
|
+
}
|
|
20
|
+
renderFile(fileDescriptor) {
|
|
21
|
+
const { cube, sql, preAggregations: _, ...descriptor } = fileDescriptor;
|
|
22
|
+
return `cubes:\n - name: ${cube}${this.render({
|
|
23
|
+
sql: new ValueWithComments_1.ValueWithComments(sql, [
|
|
24
|
+
'preAggregations:',
|
|
25
|
+
'Pre-Aggregations definitions go here',
|
|
26
|
+
'Learn more here: https://cube.dev/docs/caching/pre-aggregations/getting-started',
|
|
27
|
+
]),
|
|
28
|
+
...descriptor,
|
|
29
|
+
}, 2)}\n`;
|
|
30
|
+
}
|
|
31
|
+
render(value, level = 0, parent) {
|
|
32
|
+
const indent = Array(level * 2)
|
|
33
|
+
.fill(0)
|
|
34
|
+
.reduce((memo) => `${memo} `, '');
|
|
35
|
+
if (value instanceof MemberReference_1.MemberReference) {
|
|
36
|
+
return value.member;
|
|
37
|
+
}
|
|
38
|
+
else if (value instanceof ValueWithComments_1.ValueWithComments) {
|
|
39
|
+
const comments = `\n${value.comments
|
|
40
|
+
.map((comment) => `${indent}# ${comment}`)
|
|
41
|
+
.join('\n')}`;
|
|
42
|
+
return value.value ? `${this.render(value.value)}${comments}` : comments;
|
|
43
|
+
}
|
|
44
|
+
else if (Array.isArray(value)) {
|
|
45
|
+
if (value.every((v) => typeof v !== 'object' || v instanceof MemberReference_1.MemberReference)) {
|
|
46
|
+
return ` [${value.map(this.render).join(', ')}]`;
|
|
47
|
+
}
|
|
48
|
+
return `\n${value
|
|
49
|
+
.map((v) => `${indent}- ${this.render(v, level + 1, value)}`)
|
|
50
|
+
.join('\n')}`;
|
|
51
|
+
}
|
|
52
|
+
else if (typeof value === 'object') {
|
|
53
|
+
if (parent) {
|
|
54
|
+
return `${!Array.isArray(parent) ? '\n' : ''}${Object.entries(value)
|
|
55
|
+
.map(([k, v], index) => `${Array.isArray(parent) && index === 0 ? '' : `${indent}`}${k}:${this.render(v, level + 1, value)}`)
|
|
56
|
+
.join('\n')}`;
|
|
57
|
+
}
|
|
58
|
+
const content = Object.keys(value)
|
|
59
|
+
.map((key) => {
|
|
60
|
+
if (!isPlainObject(value[key])) {
|
|
61
|
+
return `${indent}${key}:${this.render(value[key], level + 1, value)}`;
|
|
62
|
+
}
|
|
63
|
+
return `${indent}${key}:${this.render(Object.entries(value[key] || {}).map(([ok, ov]) => ({
|
|
64
|
+
name: ok,
|
|
65
|
+
// @ts-ignore
|
|
66
|
+
...Object.entries(ov)
|
|
67
|
+
.filter(([, v]) => v != null)
|
|
68
|
+
.reduce((memo, [k, v]) => ({ ...memo, [k]: v }), {}),
|
|
69
|
+
})), level + 1, value)}`;
|
|
70
|
+
})
|
|
71
|
+
.join('\n');
|
|
72
|
+
return `\n${content}`;
|
|
73
|
+
}
|
|
74
|
+
return `${Array.isArray(parent) ? '' : ' '}${this.escapedValue(value)}`;
|
|
75
|
+
}
|
|
76
|
+
escapedValue(value) {
|
|
77
|
+
if (typeof value !== 'string') {
|
|
78
|
+
return value;
|
|
79
|
+
}
|
|
80
|
+
return value.match(/[{}]/) ? `"${value.replace(/"/g, '\\"')}"` : value;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.YamlSchemaFormatter = YamlSchemaFormatter;
|
|
84
|
+
//# sourceMappingURL=YamlSchemaFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YamlSchemaFormatter.js","sourceRoot":"","sources":["../../../../src/scaffolding/formatters/YamlSchemaFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/formatters/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./JavaScriptSchemaFormatter"), exports);
|
|
14
|
+
__exportStar(require("./BaseSchemaFormatter"), exports);
|
|
15
|
+
__exportStar(require("./YamlSchemaFormatter"), exports);
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/scaffolding/formatters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8DAA4C;AAC5C,wDAAsC;AACtC,wDAAsC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC"}
|
|
@@ -12,4 +12,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./ScaffoldingSchema"), exports);
|
|
14
14
|
__exportStar(require("./ScaffoldingTemplate"), exports);
|
|
15
|
+
__exportStar(require("./formatters"), exports);
|
|
15
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scaffolding/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scaffolding/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,wDAAsC;AACtC,+CAA6B"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@cubejs-backend/schema-compiler",
|
|
3
3
|
"description": "Cube.js schema compiler",
|
|
4
4
|
"author": "Cube Dev, Inc.",
|
|
5
|
-
"version": "0.31.
|
|
5
|
+
"version": "0.31.19",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/cube-js/cube.js.git",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@babel/standalone": "^7.12.10",
|
|
43
43
|
"@babel/traverse": "^7.12.10",
|
|
44
44
|
"@babel/types": "^7.12.12",
|
|
45
|
-
"@cubejs-backend/shared": "^0.31.
|
|
45
|
+
"@cubejs-backend/shared": "^0.31.19",
|
|
46
46
|
"@hapi/joi": "^17.1.1",
|
|
47
47
|
"antlr4ts": "0.5.0-alpha.4",
|
|
48
48
|
"camelcase": "^6.2.0",
|
|
@@ -54,13 +54,13 @@
|
|
|
54
54
|
"moment-range": "^4.0.1",
|
|
55
55
|
"moment-timezone": "^0.5.33",
|
|
56
56
|
"node-dijkstra": "^2.5.0",
|
|
57
|
-
"ramda": "^0.27.
|
|
57
|
+
"ramda": "^0.27.2",
|
|
58
58
|
"syntax-error": "^1.3.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@apla/clickhouse": "^1.5.5",
|
|
62
62
|
"@cubejs-backend/linter": "^0.31.0",
|
|
63
|
-
"@cubejs-backend/query-orchestrator": "^0.31.
|
|
63
|
+
"@cubejs-backend/query-orchestrator": "^0.31.19",
|
|
64
64
|
"@types/babel__code-frame": "^7.0.2",
|
|
65
65
|
"@types/babel__generator": "^7.6.2",
|
|
66
66
|
"@types/babel__parser": "^7.1.1",
|
|
@@ -103,5 +103,5 @@
|
|
|
103
103
|
".*\\.d\\.ts"
|
|
104
104
|
]
|
|
105
105
|
},
|
|
106
|
-
"gitHead": "
|
|
106
|
+
"gitHead": "6c757a29220968a860f11561caff625f21837f03"
|
|
107
107
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ValueWithComments.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/ValueWithComments.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAiB;aAEV,KAAK,EAAE,GAAG;aACV,QAAQ,EAAE,MAAM,EAAE;gBADlB,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,MAAM,EAAE;CAGrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ValueWithComments.js","sourceRoot":"","sources":["../../../src/scaffolding/ValueWithComments.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAiB;IAC5B,YACkB,KAAU,EACV,QAAkB;QADlB,UAAK,GAAL,KAAK,CAAK;QACV,aAAQ,GAAR,QAAQ,CAAU;IAEpC,CAAC;CACF;AAND,8CAMC"}
|