interface CubeEngine {
    execute(
        model: ModelContext,
        lambda: IR,
        options?: { abortController?: AbortController },
    ): Promise<CubeResult>;
    exportCsv(
        model: ModelContext,
        lambda: IR,
        options?: { abortController?: AbortController },
    ): Promise<string>;
    loadModel(model: ModelContext): Promise<CubeModelOutline>;
    parseExpression(
        code: string,
        sourceId: string,
    ): Promise<CubeParsedExpression>;
    planLambda(model: ModelContext, lambda: IR): Promise<void>;
    renderPure(lambda: IR): Promise<string>;
    resolveSchemas(
        model: ModelContext,
        accessors: ReadonlyMap<string, AccessorPath>,
    ): Promise<Map<string, CubeEngineError | Schema>>;
    serializeLambda(lambda: IR): string;
    typeLambdas(
        model: ModelContext,
        lambdas: ReadonlyMap<string, IR>,
    ): Promise<Map<string, CubeEngineError | Schema>>;
}

Methods

  • Runs an execution lambda and gives its rows as CSV text (PLAN §11.10): the engine's own, a header row first, every value as the engine writes it; rejects with a CubeEngineError

    Parameters

    • model: ModelContext
    • lambda: IR
    • Optionaloptions: { abortController?: AbortController }

    Returns Promise<string>