dune-api-client
Version:
A minimal TypeScript client for interacting with the Dune API.
37 lines (36 loc) • 1.33 kB
TypeScript
import { ExecuteQuery, ExecutionStatus, ExecutionResult, CancelQuery, ExecuteQueryOptions, DataOrError } from './types';
export declare class Dune {
private API_KEY;
private BASE_URL;
constructor(API_KEY: string | undefined);
/**
* Wrapper to handle HTTP requests with clean typing
* @param endpoint API endpoint
* @returns Dune response
*/
private fetchDune;
/**
* Execute a query
* @param query_id Dune query id
* @returns Execution id and state
*/
execute(query_id: number, options?: ExecuteQueryOptions): Promise<DataOrError<ExecuteQuery>>;
/**
* Cancel an execution
* @param execution_id Dune execution id
* @returns Success of cancellation
*/
cancel(execution_id: string): Promise<DataOrError<CancelQuery>>;
/**
* Check the status of an execution
* @param execution_id Dune execution id
* @returns Status of execution
*/
status(execution_id: string): Promise<DataOrError<ExecutionStatus>>;
/**
* Fetch the results of an execution
* @param exec_or_query_id Dune execution id or query id
* @returns Results of execution, including row data if available
*/
results<T>(exec_or_query_id: string | number, options?: ExecuteQueryOptions): Promise<DataOrError<ExecutionResult<T>>>;
}