npm install @ipld/codec-interface
This is the primary interface for implementing new codecs.
The interface is quite simple:
{
encode: Function,
decode: Function,
codec: String,
reader: Function
}
These are the primary methods you need to implement in order to implement a new codec.
While you can implement the entire Reader
interface yourself, you can actually leverage
our codec-interface.create
utility to get a full implementation with these methods alone.
encode
takes a native JavaScript object and returns a binary encoding.decode
takes a binary encoding and returns a nativfe JavaScript object.
Methods can be either synchronous or asynchronous (returns a promise).
The reader function accepts a Block
instance and returns a full Reader
interface.
This method can be either synchronous or asynchronous (returns a promise).
Returns a full Codec Interface
based on your encode and decode implementations.
Returns a generator of all the links in the block.