@bigmi/core
Version:
TypeScript library for Bitcoin apps.
29 lines (28 loc) • 1.79 kB
TypeScript
import { type UrlRequiredErrorType } from '../errors/transport.js';
import type { ErrorType } from '../errors/utils.js';
import type { BtcRpcRequestFn, RpcSchema } from '../types/request.js';
import type { CreateTransportErrorType, Transport, TransportConfig } from '../types/transport.js';
import { type HttpRpcClientOptions } from './getHttpRpcClient.js';
export type HttpTransportConfig<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false> = {
batch?: boolean | {
batchSize?: number | undefined;
wait?: number | undefined;
} | undefined;
fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined;
onFetchRequest?: HttpRpcClientOptions['onRequest'] | undefined;
onFetchResponse?: HttpRpcClientOptions['onResponse'] | undefined;
key?: TransportConfig['key'] | undefined;
methods?: TransportConfig['methods'] | undefined;
name?: TransportConfig['name'] | undefined;
raw?: raw | boolean | undefined;
retryCount?: TransportConfig['retryCount'] | undefined;
retryDelay?: TransportConfig['retryDelay'] | undefined;
rpcSchema?: rpcSchema | RpcSchema | undefined;
timeout?: TransportConfig['timeout'] | undefined;
};
export type HttpTransport<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false> = Transport<'http', {
fetchOptions?: HttpTransportConfig['fetchOptions'] | undefined;
url?: string | undefined;
}, BtcRpcRequestFn<rpcSchema, raw>>;
export type HttpTransportErrorType = CreateTransportErrorType | UrlRequiredErrorType | ErrorType;
export declare function http<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false>(url?: string | undefined, config?: HttpTransportConfig<rpcSchema, raw>): HttpTransport<rpcSchema, raw>;