multiformats
Version:
Interface for multihash, multicodec, multibase and CID
27 lines (21 loc) • 509 B
JavaScript
// @ts-check
/**
* @template T
* @typedef {import('./interface.js').ByteView<T>} ByteView
*/
const textEncoder = new TextEncoder()
const textDecoder = new TextDecoder()
export const name = 'json'
export const code = 0x0200
/**
* @template T
* @param {T} node
* @returns {ByteView<T>}
*/
export const encode = (node) => textEncoder.encode(JSON.stringify(node))
/**
* @template T
* @param {ByteView<T>} data
* @returns {T}
*/
export const decode = (data) => JSON.parse(textDecoder.decode(data))