@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.
Files changed (39) hide show
  1. package/dist/src/scaffolding/ScaffoldingSchema.d.ts +2 -1
  2. package/dist/src/scaffolding/ScaffoldingSchema.d.ts.map +1 -1
  3. package/dist/src/scaffolding/ScaffoldingSchema.js +29 -2
  4. package/dist/src/scaffolding/ScaffoldingSchema.js.map +1 -1
  5. package/dist/src/scaffolding/ScaffoldingTemplate.d.ts +16 -52
  6. package/dist/src/scaffolding/ScaffoldingTemplate.d.ts.map +1 -1
  7. package/dist/src/scaffolding/ScaffoldingTemplate.js +14 -171
  8. package/dist/src/scaffolding/ScaffoldingTemplate.js.map +1 -1
  9. package/dist/src/scaffolding/descriptors/MemberReference.d.ts +5 -0
  10. package/dist/src/scaffolding/descriptors/MemberReference.d.ts.map +1 -0
  11. package/dist/src/scaffolding/descriptors/MemberReference.js +11 -0
  12. package/dist/src/scaffolding/descriptors/MemberReference.js.map +1 -0
  13. package/dist/src/scaffolding/{ValueWithComments.d.ts → descriptors/ValueWithComments.d.ts} +0 -0
  14. package/dist/src/scaffolding/descriptors/ValueWithComments.d.ts.map +1 -0
  15. package/dist/src/scaffolding/{ValueWithComments.js → descriptors/ValueWithComments.js} +0 -0
  16. package/dist/src/scaffolding/descriptors/ValueWithComments.js.map +1 -0
  17. package/dist/src/scaffolding/formatters/BaseSchemaFormatter.d.ts +52 -0
  18. package/dist/src/scaffolding/formatters/BaseSchemaFormatter.d.ts.map +1 -0
  19. package/dist/src/scaffolding/formatters/BaseSchemaFormatter.js +124 -0
  20. package/dist/src/scaffolding/formatters/BaseSchemaFormatter.js.map +1 -0
  21. package/dist/src/scaffolding/formatters/JavaScriptSchemaFormatter.d.ts +9 -0
  22. package/dist/src/scaffolding/formatters/JavaScriptSchemaFormatter.d.ts.map +1 -0
  23. package/dist/src/scaffolding/formatters/JavaScriptSchemaFormatter.js +48 -0
  24. package/dist/src/scaffolding/formatters/JavaScriptSchemaFormatter.js.map +1 -0
  25. package/dist/src/scaffolding/formatters/YamlSchemaFormatter.d.ts +10 -0
  26. package/dist/src/scaffolding/formatters/YamlSchemaFormatter.d.ts.map +1 -0
  27. package/dist/src/scaffolding/formatters/YamlSchemaFormatter.js +84 -0
  28. package/dist/src/scaffolding/formatters/YamlSchemaFormatter.js.map +1 -0
  29. package/dist/src/scaffolding/formatters/index.d.ts +4 -0
  30. package/dist/src/scaffolding/formatters/index.d.ts.map +1 -0
  31. package/dist/src/scaffolding/formatters/index.js +16 -0
  32. package/dist/src/scaffolding/formatters/index.js.map +1 -0
  33. package/dist/src/scaffolding/index.d.ts +1 -0
  34. package/dist/src/scaffolding/index.d.ts.map +1 -1
  35. package/dist/src/scaffolding/index.js +1 -0
  36. package/dist/src/scaffolding/index.js.map +1 -1
  37. package/package.json +5 -5
  38. package/dist/src/scaffolding/ValueWithComments.d.ts.map +0 -1
  39. 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: any[];
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":"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"}
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,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,KAAK,EAAE,IAAI,EAAE,CAAC;CACf,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAC;CACf,CAAC;AAmCF,oBAAY,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AAEjE,aAAK,wBAAwB,GAAG;IAC9B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;AAEF,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,kBAAkB,CAAM;gBAGb,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,wBAA6B;IAGlD,gBAAgB,CAAC,SAAS,EAAE,SAAS;IAgCrC,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE;IAqB1D,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE;IAKhD,SAAS,CAAC,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE;IAuBpD,sBAAsB,CAAC,SAAS,EAAE,SAAS;IAWlD,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,GAAG,WAAW;IAiB/E,SAAS,CAAC,cAAc,CAAC,SAAS,KAAA;IAalC,SAAS,CAAC,UAAU,CAAC,eAAe,KAAA,GAAG,SAAS,EAAE;IAgBlD,SAAS,CAAC,cAAc,CAAC,eAAe,KAAA;IAaxC,SAAS,CAAC,qBAAqB,CAAC,MAAM,KAAA;IAItC,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,GAAG;IAmB/C,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,KAAA;IAuCrD,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE;IAI9C,SAAS,CAAC,0BAA0B,CAAC,SAAS,KAAA;IAI9C,SAAS,CAAC,eAAe,CAAC,MAAM,KAAA,GAAG,MAAM;IAWzC,SAAS,CAAC,UAAU,CAAC,MAAM,KAAA,GAAG,UAAU;CAWzC"}
@@ -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 { CubeDescriptor, DatabaseSchema, TableName, TableSchema } from './ScaffoldingSchema';
2
- import { ValueWithComments } from './ValueWithComments';
3
- declare type SchemaContext = {
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 class MemberReference {
7
- member: any;
8
- constructor(member: any);
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 readonly scaffoldingSchema;
14
- constructor(dbSchema: DatabaseSchema, driver: any);
15
- protected escapeName(name: any): any;
16
- protected eligibleIdentifier(name: string): boolean;
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":"AACA,OAAO,EAAE,cAAc,EAAwB,cAAc,EAAiC,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,aAAK,aAAa,GAAG;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAOF,cAAM,eAAe;IACO,MAAM;gBAAN,MAAM,KAAA;CAGjC;AAED,qBAAa,mBAAmB;IAGX,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAkB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFrF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;gBAElB,QAAQ,EAAE,cAAc,EAAmB,MAAM,KAAA;IAIrF,SAAS,CAAC,UAAU,CAAC,IAAI,KAAA;IAOzB,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAIlC,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,aAAa,GAAE,aAAkB;;;;IAUpF,8BAA8B,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,aAAa,GAAE,aAAkB;;;;IAgC1G,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS;IA8BxC,wBAAwB,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,GAAE,aAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;IAsC3F,SAAS,CAAC,YAAY,CAAC,CAAC,KAAA;IAKxB,SAAS,CAAC,WAAW,CAAC,CAAC,KAAA;IAIvB,SAAS,CAAC,UAAU,CAAC,MAAM,KAAA;IAI3B,SAAS,CAAC,UAAU,CAAC,cAAc,KAAA;IAKnC,SAAS,CAAC,MAAM,CAAC,UAAU,KAAA,EAAE,KAAK,KAAA,EAAE,aAAa,SAAK;CA8BvD"}
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 inflection_1 = __importDefault(require("inflection"));
8
- const ScaffoldingSchema_1 = require("./ScaffoldingSchema");
9
- const compiler_1 = require("../compiler");
10
- const ValueWithComments_1 = require("./ValueWithComments");
11
- class MemberReference {
12
- constructor(member) {
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.scaffoldingSchema = new ScaffoldingSchema_1.ScaffoldingSchema(dbSchema);
22
- }
23
- escapeName(name) {
24
- if (this.eligibleIdentifier(name)) {
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
- const schemaForTables = this.scaffoldingSchema.generateForTables(tableNames.map(n => this.resolveTableName(n)));
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
- const tableNames = cubeDescriptors.map(({ tableName }) => tableName);
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":"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"}
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,5 @@
1
+ export declare class MemberReference {
2
+ member: any;
3
+ constructor(member: any);
4
+ }
5
+ //# sourceMappingURL=MemberReference.d.ts.map
@@ -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"}
@@ -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"}
@@ -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":";;;AAAA,oEAAiE;AACjE,wEAAqE;AAIrE,+DAA4D;AAE5D,SAAS,aAAa,CAAC,KAAK;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;QAC/C,OAAO,KAAK,CAAC;KACd;IACD,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,MAAa,mBAAoB,SAAQ,yCAAmB;IACnD,aAAa;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,aAAa,CAAC,IAAY;QAClC,OAAO,IAAI,IAAI,GAAG,CAAC;IACrB,CAAC;IAES,UAAU,CAAC,cAAuC;QAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,cAAc,CAAC;QAExE,OAAO,qBAAqB,IAAI,GAAG,IAAI,CAAC,MAAM,CAC5C;YACE,GAAG,EAAE,IAAI,qCAAiB,CAAC,GAAG,EAAE;gBAC9B,kBAAkB;gBAClB,sCAAsC;gBACtC,iFAAiF;aAClF,CAAC;YACF,GAAG,UAAU;SACd,EACD,CAAC,CACF,IAAI,CAAC;IACR,CAAC;IAES,MAAM,CACd,KAAuB,EACvB,KAAK,GAAG,CAAC,EACT,MAAyB;QAEzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;aAC5B,IAAI,CAAC,CAAC,CAAC;aACP,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAEpC,IAAI,KAAK,YAAY,iCAAe,EAAE;YACpC,OAAO,KAAK,CAAC,MAAM,CAAC;SACrB;aAAM,IAAI,KAAK,YAAY,qCAAiB,EAAE;YAC7C,MAAM,QAAQ,GAAG,KAAK,KAAK,CAAC,QAAQ;iBACjC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,MAAM,KAAK,OAAO,EAAE,CAAC;iBACzC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAEhB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;SAC1E;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,IACE,KAAK,CAAC,KAAK,CACT,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,YAAY,iCAAe,CAC7D,EACD;gBACA,OAAO,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;aAClD;YAED,OAAO,KAAK,KAAK;iBACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;iBAC5D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;SACjB;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,IAAI,MAAM,EAAE;gBACV,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;qBACjE,GAAG,CACF,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GACjB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,EACvD,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,CAC3C;qBACA,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aACjB;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC9B,OAAO,GAAG,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CACnC,KAAK,CAAC,GAAG,CAAC,EACV,KAAK,GAAG,CAAC,EACT,KAAK,CACN,EAAE,CAAC;iBACL;gBAED,OAAO,GAAG,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClD,IAAI,EAAE,EAAE;oBACR,aAAa;oBACb,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;yBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;yBAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;iBACvD,CAAC,CAAC,EACH,KAAK,GAAG,CAAC,EACT,KAAK,CACN,EAAE,CAAC;YACN,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO,KAAK,OAAO,EAAE,CAAC;SACvB;QAED,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1E,CAAC;IAEO,YAAY,CAAC,KAAgC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACzE,CAAC;CACF;AAtGD,kDAsGC"}
@@ -0,0 +1,4 @@
1
+ export * from './JavaScriptSchemaFormatter';
2
+ export * from './BaseSchemaFormatter';
3
+ export * from './YamlSchemaFormatter';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 +1,4 @@
1
1
  export * from './ScaffoldingSchema';
2
2
  export * from './ScaffoldingTemplate';
3
+ export * from './formatters';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -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.16",
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.15",
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.0",
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.16",
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": "c8838240143ecd52acdcc5d423f08cfb69682b44"
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"}