ipfs-http-client
Version:
A client library for the IPFS HTTP API
51 lines • 1.65 kB
TypeScript
/// <reference types="node" />
import type { Agent as HttpAgent } from 'http';
import type { Agent as HttpsAgent } from 'https';
import type { Multiaddr } from 'multiaddr';
import type { BlockCodec } from 'multiformats/codecs/interface';
import type { MultihashHasher } from 'multiformats/hashes/interface';
import type { MultibaseCodec } from 'multiformats/bases/interface';
import type { IPFS } from 'ipfs-core-types';
export interface Options {
host?: string;
port?: number;
protocol?: string;
headers?: Headers | Record<string, string>;
timeout?: number | string;
apiPath?: string;
url?: URL | string | Multiaddr;
ipld?: Partial<IPLDOptions>;
agent?: HttpAgent | HttpsAgent;
}
export interface LoadBaseFn {
(codeOrName: number | string): Promise<MultibaseCodec<any>>;
}
export interface LoadCodecFn {
(codeOrName: number | string): Promise<BlockCodec<any, any>>;
}
export interface LoadHasherFn {
(codeOrName: number | string): Promise<MultihashHasher>;
}
export interface IPLDOptions {
loadBase: LoadBaseFn;
loadCodec: LoadCodecFn;
loadHasher: LoadHasherFn;
bases: Array<MultibaseCodec<any>>;
codecs: Array<BlockCodec<any, any>>;
hashers: MultihashHasher[];
}
export interface HTTPClientExtraOptions {
headers?: Record<string, string>;
searchParams?: URLSearchParams;
}
export interface EndpointConfig {
host: string;
port: string;
protocol: string;
pathname: string;
'api-path': string;
}
export interface IPFSHTTPClient extends IPFS<HTTPClientExtraOptions> {
getEndpointConfig: () => EndpointConfig;
}
//# sourceMappingURL=types.d.ts.map