multiformats
Version:
Interface for multihash, multicodec, multibase and CID
26 lines • 705 B
TypeScript
/**
* IPLD encoder part of the codec.
*/
export interface BlockEncoder<Code extends number, T> {
name: string;
code: Code;
encode(data: T): ByteView<T>;
}
/**
* IPLD decoder part of the codec.
*/
export interface BlockDecoder<Code extends number, T> {
code: Code;
decode(bytes: ByteView<T>): T;
}
/**
* IPLD codec that is just Encoder + Decoder however it is
* separate those capabilties as sender requires encoder and receiver
* requires decoder.
*/
export interface BlockCodec<Code extends number, T> extends BlockEncoder<Code, T>, BlockDecoder<Code, T> {
}
export declare type ByteView<T> = Uint8Array | Uint8Array & {
data: T;
};
//# sourceMappingURL=interface.d.ts.map