UNPKG

kubo-rpc-client-esm-cjs

Version:
134 lines 6.7 kB
/// <reference types="node" /> /// <reference types="node" /> import type { Agent as HttpAgent } from 'http'; import type { Agent as HttpsAgent } from 'https'; import type { Multiaddr } from '@multiformats/multiaddr'; import type { MultihashHasher } from 'multiformats/hashes/interface'; import type { IPFS } from 'ipfs-core-types'; import type { Message } from '@libp2p/interface-pubsub'; import type IpfsUtilsHttp from 'ipfs-utils/src/http.js'; 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 IpfsUtilsHttpClient extends IpfsUtilsHttp { } type OldRpcClientConfigApi = IPFS<HTTPClientExtraOptions>['config']; interface KuboRpcClientConfigApi extends Omit<OldRpcClientConfigApi, 'profiles'> { profiles: Omit<OldRpcClientConfigApi['profiles'], 'list'>; } export interface KuboRpcClientApi extends Omit<IPFS<HTTPClientExtraOptions>, 'files' | 'bitswap' | 'config' | 'bootstrap'> { bitswap: Omit<IPFS<HTTPClientExtraOptions>['bitswap'], 'unwant'>; config: KuboRpcClientConfigApi; files: Omit<IPFS<HTTPClientExtraOptions>['files'], 'chmod' | 'touch'>; bootstrap: Omit<IPFS<HTTPClientExtraOptions>['bootstrap'], 'clear' | 'reset'>; } export interface IPFSHTTPClient extends KuboRpcClientApi { getEndpointConfig: () => EndpointConfig; } export type MapEventResponses = { ID: string; Addrs: string[]; }; export type MapEvent = { Type: number; ID: string; Extra: string; Responses: MapEventResponses[]; }; export type PubsubSubscription = { handler: MessageHandlerFn; controller: AbortController; }; export type ConfigureFn<T> = (client: IpfsUtilsHttpClient, clientOptions: Options) => T; export type ConfigureFactory<T> = (clientOptions: Options) => T; export type { PeerInfo } from '@libp2p/interface-peer-info'; export type { IPFSEntry, AddResult, AddProgressFn as IPFSCoreAddProgressFn } from 'ipfs-core-types/src/root'; export type { GetResult } from 'ipfs-core-types/src/dag'; export type { IPFSPath, AbortOptions } from 'ipfs-core-types/src/utils'; export type { LsResult } from 'ipfs-core-types/src/pin'; export type { IPFS } from 'ipfs-core-types'; export type { Multicodecs } from 'ipfs-core-utils/multicodecs'; export type { QueryEvent } from 'ipfs-core-types/src/dht'; export type { Query, Status, Pin, AddOptions } from 'ipfs-core-types/src/pin/remote'; export type { RmResult } from 'ipfs-core-types/src/block'; export type { HTTPOptions, ProgressFn as IPFSUtilsHttpUploadProgressFn, ExtendedResponse } from 'ipfs-utils/src/types'; export type { CID } from 'multiformats/cid'; export type { RemotePinServiceWithStat, Stat } from 'ipfs-core-types/src/pin/remote/service'; export type { PeerId } from '@libp2p/interface-peer-id'; export type BitswapAPI = import('ipfs-core-types/src/bitswap').API<HTTPClientExtraOptions>; export type BlockAPI = import('ipfs-core-types/src/block').API<HTTPClientExtraOptions>; export type BlockCodec<T1 = any, T2 = any> = import('multiformats/codecs/interface').BlockCodec<T1, T2>; export type BootstrapAPI = import('ipfs-core-types/src/bootstrap').API<HTTPClientExtraOptions>; export type ConfigAPI = import('ipfs-core-types/src/config').API<HTTPClientExtraOptions>; export type ConfigProfilesAPI = import('ipfs-core-types/src/config/profiles').API<HTTPClientExtraOptions>; export type DAGAPI = import('ipfs-core-types/src/dag').API<HTTPClientExtraOptions>; export type DHTAPI = import('ipfs-core-types/src/dht').API<HTTPClientExtraOptions>; export type DiagAPI = import('ipfs-core-types/src/diag').API<HTTPClientExtraOptions>; export type FilesAPI = import('ipfs-core-types/src/files').API<HTTPClientExtraOptions>; export type KeyAPI = import('ipfs-core-types/src/key').API<HTTPClientExtraOptions>; export type LogAPI = import('ipfs-core-types/src/log').API<HTTPClientExtraOptions>; export type MessageHandlerFn<EventType = Message> = import('@libp2p/interfaces/events').EventHandler<EventType>; export type NameAPI = import('ipfs-core-types/src/name').API<HTTPClientExtraOptions>; export type NamePubsubAPI = import('ipfs-core-types/src/name/pubsub').API<HTTPClientExtraOptions>; export type ObjectAPI = import('ipfs-core-types/src/object').API<HTTPClientExtraOptions>; export type ObjectPatchAPI = import('ipfs-core-types/src/object/patch').API<HTTPClientExtraOptions>; export type PinAPI = import('ipfs-core-types/src/pin').API<HTTPClientExtraOptions>; export type PubsubApiErrorHandlerFn = (err: Error, fatal: boolean, msg?: Message) => void; export type PubsubAPI = import('ipfs-core-types/src/pubsub').API<HTTPClientExtraOptions & { onError?: PubsubApiErrorHandlerFn; }>; export type RefsAPI = import('ipfs-core-types/src/refs').API<HTTPClientExtraOptions>; export type RemotePiningAPI = import('ipfs-core-types/src/pin/remote').API<HTTPClientExtraOptions>; export type RemotePiningServiceAPI = import('ipfs-core-types/src/pin/remote/service').API<HTTPClientExtraOptions>; export type RepoAPI = import('ipfs-core-types/src/repo').API<HTTPClientExtraOptions>; export type RootAPI = import('ipfs-core-types/src/root').API<HTTPClientExtraOptions>; export type StatsAPI = import('ipfs-core-types/src/stats').API<HTTPClientExtraOptions>; export type SwarmAPI = import('ipfs-core-types/src/swarm').API<HTTPClientExtraOptions>; export type MultibaseCodec<Prefix extends string = any> = import('multiformats/bases/interface').MultibaseCodec<Prefix>; export type { Message, MultihashHasher, Multiaddr }; export interface SubscribeMessage { from: import('ipfsd-ctl').Controller['peer']; type: string; data: Uint8Array; sequenceNumber: BigInt; topic: string; key: Uint8Array; signature: Uint8Array; } //# sourceMappingURL=types.d.ts.map