@uwdata/mosaic-core
Version:
Scalable and extensible linked data views.
40 lines • 1.45 kB
TypeScript
import type { ExtractionOptions, Table } from '@uwdata/flechette';
import type { ArrowQueryRequest, Connector, ExecQueryRequest, JSONQueryRequest, ConnectorQueryRequest } from './Connector.js';
interface SocketOptions {
uri?: string;
ipc?: ExtractionOptions;
}
/**
* Connect to a DuckDB server over a WebSocket interface.
* @param options Connector options.
* @param options.uri The URI for the DuckDB REST server.
* @param options.ipc Arrow IPC extraction options.
* @returns A connector instance.
*/
export declare function socketConnector(options?: SocketOptions): SocketConnector;
/**
* DuckDB socket connector.
*/
export declare class SocketConnector implements Connector {
private _uri;
private _queue;
private _connected;
private _request;
private _ws;
private _events;
/**
* @param options Connector options.
* @param options.uri The URI for the DuckDB REST server.
* @param options.ipc Arrow IPC extraction options.
*/
constructor({ uri, ipc, }?: SocketOptions);
get connected(): boolean;
init(): void;
enqueue(query: ConnectorQueryRequest, resolve: (value?: unknown) => void, reject: (reason?: unknown) => void): void;
next(): void;
query(query: ArrowQueryRequest): Promise<Table>;
query(query: ExecQueryRequest): Promise<void>;
query(query: JSONQueryRequest): Promise<Record<string, unknown>[]>;
}
export {};
//# sourceMappingURL=socket.d.ts.map