UNPKG

drizzle-cube

Version:

Drizzle ORM-first semantic layer with Cube.js compatibility. Type-safe analytics and dashboards with SQL injection protection.

33 lines (32 loc) 1.43 kB
import { MultiQueryValidationResult } from '../utils/multiQueryValidation'; import { CubeQuery, MultiQueryConfig, QueryMergeStrategy } from '../types'; import { AnalysisBuilderState } from '../components/AnalysisBuilder/types'; export interface UseAnalysisQueryBuilderResult { /** Current query state (active query) */ queryState: AnalysisBuilderState; /** All query states (for multi-query mode) */ queryStates: AnalysisBuilderState[]; /** Active query index */ activeQueryIndex: number; /** Merge strategy for multi-query */ mergeStrategy: QueryMergeStrategy; /** Whether in multi-query mode */ isMultiQueryMode: boolean; /** Merge keys (computed from Q1 breakdowns) */ mergeKeys: string[] | undefined; /** Current query as CubeQuery */ currentQuery: CubeQuery; /** All queries as CubeQuery[] */ allQueries: CubeQuery[]; /** MultiQueryConfig (if in multi-query mode) */ multiQueryConfig: MultiQueryConfig | null; /** Multi-query validation result */ multiQueryValidation: MultiQueryValidationResult | null; /** Whether current query is valid */ isValidQuery: boolean | undefined; setActiveQueryIndex: (index: number) => void; setMergeStrategy: (strategy: QueryMergeStrategy) => void; addQuery: () => void; removeQuery: (index: number) => void; } export declare function useAnalysisQueryBuilder(): UseAnalysisQueryBuilderResult;