@ipld/dag-pb
Version:
JS implementation of DAG-PB
34 lines (27 loc) • 753 B
text/typescript
import type { CID } from 'multiformats/cid'
/*
PBNode and PBLink match the DAG-PB logical format, as described at:
https://github.com/ipld/specs/blob/master/block-layer/codecs/dag-pb.md#logical-format
*/
export interface PBLink {
Name?: string
Tsize?: number
Hash: CID
}
export interface PBNode {
Data?: Uint8Array
Links: PBLink[]
}
// Raw versions of PBNode and PBLink used internally to deal with the underlying
// encode/decode byte interface.
// A future iteration could make pb-encode.js and pb-decode.js aware of PBNode
// and PBLink specifics (including CID and optionals).
export interface RawPBLink {
Name: string
Tsize: number
Hash: Uint8Array
}
export interface RawPBNode {
Data: Uint8Array
Links: RawPBLink[]
}