UNPKG

drizzle-cube

Version:

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

37 lines (36 loc) 1.34 kB
import { CubeQueryOptions, CubeResultSet, MultiQueryConfig } from '../types'; export interface UseMultiCubeQueryResult { /** Merged data from all queries (null while loading) */ data: unknown[] | null; /** Individual result sets from each query */ resultSets: CubeResultSet[] | null; /** Whether any query is still loading */ isLoading: boolean; /** First error encountered (null if all succeeded) */ error: Error | null; /** Per-query errors (null for successful queries) */ errors: (Error | null)[]; /** Unique identifier for this query execution */ queryId: string | null; } /** * Hook for executing multiple Cube queries with merged results * * @param config - MultiQueryConfig containing queries and merge settings * @param options - Query options (skip, resetResultSetOnChange) * @returns Query results with merged data and per-query error tracking * * @example * ```typescript * const { data, isLoading, error } = useMultiCubeQuery({ * queries: [ * { measures: ['Sales.revenue'] }, * { measures: ['Costs.total'] } * ], * mergeStrategy: 'merge', * mergeKey: 'Sales.date', * queryLabels: ['Revenue', 'Costs'] * }) * ``` */ export declare function useMultiCubeQuery(config: MultiQueryConfig | null, options?: CubeQueryOptions): UseMultiCubeQueryResult;