@lightdash/common 0.1914.1 → 0.1916.0

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.
@@ -36,24 +36,24 @@ export declare class ExploreCompiler {
36
36
  private readonly warehouseClient;
37
37
  constructor(warehouseClient: WarehouseSqlBuilder);
38
38
  compileExplore({ name, label, tags, baseTable, joinedTables, tables, targetDatabase, groupLabel, warehouse, ymlPath, sqlPath, spotlightConfig, meta, databricksCompute, aiHint, projectParameters, }: UncompiledExplore): Explore;
39
- compileTable(table: Table, tables: Record<string, Table>): CompiledTable;
40
- compileMetric(metric: Metric, tables: Record<string, Table>): CompiledMetric;
41
- compileMetricSql(metric: Metric, tables: Record<string, Table>): {
39
+ compileTable(table: Table, tables: Record<string, Table>, availableParameters: string[]): CompiledTable;
40
+ compileMetric(metric: Metric, tables: Record<string, Table>, availableParameters: string[]): CompiledMetric;
41
+ compileMetricSql(metric: Metric, tables: Record<string, Table>, availableParameters: string[]): {
42
42
  sql: string;
43
43
  tablesReferences: Set<string>;
44
44
  };
45
- compileDimension(dimension: Dimension, tables: Record<string, Table>): CompiledDimension;
45
+ compileDimension(dimension: Dimension, tables: Record<string, Table>, availableParameters: string[]): CompiledDimension;
46
46
  compileDimensionSql(dimension: Dimension, tables: Record<string, Table>): {
47
47
  sql: string;
48
48
  tablesReferences: Set<string>;
49
49
  };
50
- compileCustomDimensionSql(dimension: CustomSqlDimension, tables: Record<string, Table>): Pick<CompiledCustomSqlDimension, 'compiledSql' | 'tablesReferences' | 'parameterReferences'>;
51
- compileCustomDimension(customDimension: CustomDimension, tables: Record<string, Table>): CompiledCustomDimension;
50
+ compileCustomDimensionSql(dimension: CustomSqlDimension, tables: Record<string, Table>, availableParameters: string[]): Pick<CompiledCustomSqlDimension, 'compiledSql' | 'tablesReferences' | 'parameterReferences'>;
51
+ compileCustomDimension(customDimension: CustomDimension, tables: Record<string, Table>, availableParameters: string[]): CompiledCustomDimension;
52
52
  compileDimensionReference(ref: string, tables: Record<string, Table>, currentTable: string): {
53
53
  sql: string;
54
54
  tablesReferences: Set<string>;
55
55
  };
56
- compileMetricReference(ref: string, tables: Record<string, Table>, currentTable: string): {
56
+ compileMetricReference(ref: string, tables: Record<string, Table>, currentTable: string, availableParameters: string[]): {
57
57
  sql: string;
58
58
  tablesReferences: Set<string>;
59
59
  };
@@ -61,8 +61,8 @@ export declare class ExploreCompiler {
61
61
  sql: string;
62
62
  tablesReferences: Set<string>;
63
63
  };
64
- compileJoin(join: ExploreJoin, tables: Record<string, Table>): CompiledExploreJoin;
64
+ compileJoin(join: ExploreJoin, tables: Record<string, Table>, availableParameters: string[]): CompiledExploreJoin;
65
65
  }
66
- export declare const createDimensionWithGranularity: (dimensionName: string, baseTimeDimension: CompiledDimension, explore: Explore, warehouseSqlBuilder: WarehouseSqlBuilder, granularity: DateGranularity) => CompiledDimension;
66
+ export declare const createDimensionWithGranularity: (dimensionName: string, baseTimeDimension: CompiledDimension, explore: Explore, warehouseSqlBuilder: WarehouseSqlBuilder, granularity: DateGranularity, availableParameters: string[]) => CompiledDimension;
67
67
  export {};
68
68
  //# sourceMappingURL=exploreCompiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exploreCompiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/exploreCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exploreCompiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/exploreCompiler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Utility functions for handling SQL parameter references
3
3
  */
4
+ import type { LightdashProjectParameter } from '../types/lightdashProjectConfig';
4
5
  export declare const parameterRegex: RegExp;
5
6
  /**
6
7
  * Extracts parameter references from SQL strings
@@ -8,4 +9,12 @@ export declare const parameterRegex: RegExp;
8
9
  * @returns An array of unique parameter names referenced in the SQL
9
10
  */
10
11
  export declare const getParameterReferences: (sql: string) => string[];
12
+ export declare const validateParameterReferences: (tableName: string, parameterReferences: string[], availableParameters: string[]) => void;
13
+ /**
14
+ * Get all available parameter names for a project and explore
15
+ * @param projectParameters - The project parameters
16
+ * @param exploreParameters - The explore parameters
17
+ * @returns An array of available parameter names
18
+ */
19
+ export declare const getAvailableParameterNames: (projectParameters: Record<string, LightdashProjectParameter> | undefined, exploreParameters: Record<string, LightdashProjectParameter> | undefined) => string[];
11
20
  //# sourceMappingURL=parameters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../../src/compiler/parameters.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,cAAc,QAAmD,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAS,MAAM,KAAG,MAAM,EAc1D,CAAC"}
1
+ {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../../src/compiler/parameters.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,eAAO,MAAM,cAAc,QAAmD,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAS,MAAM,KAAG,MAAM,EAc1D,CAAC;AAEF,eAAO,MAAM,2BAA2B,cACzB,MAAM,uBACI,MAAM,EAAE,uBACR,MAAM,EAAE,SAchC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,sBAChB,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,GAAG,SAAS,qBACrD,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,GAAG,SAAS,KACzE,MAAM,EAGJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lightdash/common",
3
- "version": "0.1914.1",
3
+ "version": "0.1916.0",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "types": "dist/types/index.d.ts",