or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

authorization.mdcharts.mdcompiler.mdconditional-formatting.mddashboards.mddbt.mdee-features.mdexplore-fields.mdfilters.mdformatting.mdindex.mdmetric-queries.mdparameters.mdpivot.mdprojects-spaces.mdsql-runner.mdtemplating.mdtypes.mdutilities.mdvisualizations.mdwarehouse.md
tile.json

compiler.mddocs/

Compiler System

Compiles DBT models into Lightdash explores and generates SQL queries.

ExploreCompiler

class ExploreCompiler {
  constructor(warehouseClient: WarehouseSqlBuilder);
  compileExplore(uncompiledExplore: UncompiledExplore): Explore;
}

WarehouseSqlBuilder

interface WarehouseSqlBuilder {
  getSqlForMetricQuery(
    explore: Explore,
    metricQuery: CompiledMetricQuery,
    warehouseClient?: WarehouseClient
  ): string;
  getFieldQuoteChar(): string;
  getStringQuoteChar(): string;
  getEscapeStringQuoteChar(): string;
  getFloatingType(): string;
  concatString(...args: string[]): string;
  escapeString(value: string): string;
  getAdapterType(): SupportedDbtAdapter;
  getStartOfWeek(): WeekDay | null | undefined;
}

Usage

import { ExploreCompiler } from '@lightdash/common';

const compiler = new ExploreCompiler(warehouseClient);
const compiledExplore = compiler.compileExplore(uncompiledExplore);