14 lines
453 B
JavaScript
14 lines
453 B
JavaScript
|
// Example of multicodec implementation for JSON (UTF-8-encoded)
|
||
|
// Codec implementations should conform to the BlockCodec interface which implements both BlockEncoder and BlockDecoder
|
||
|
|
||
|
/**
|
||
|
* @template T
|
||
|
* @type {BlockCodec<0x0200, T>}
|
||
|
*/
|
||
|
export const { name, code, encode, decode } = {
|
||
|
name: 'json',
|
||
|
code: 0x0200,
|
||
|
encode: json => new TextEncoder().encode(JSON.stringify(json)),
|
||
|
decode: bytes => JSON.parse(new TextDecoder().decode(bytes))
|
||
|
}
|