import { CborByte } from "./byte"; import { CborSet } from "./set"; import { CborUnsigned } from "./unsigned"; export type MetadataMap = { [key: number]: string; }; const encode = (metadataMap: MetadataMap) => { const keys = Object.keys(metadataMap); const size = Object.keys(metadataMap).length; return keys.reduce((acc, metadataIndex) => { const index = parseInt(metadataIndex); const encodedNumber = CborUnsigned.encode(parseInt(metadataIndex)); const encodedValue = CborByte.encode(metadataMap[index]); return `${acc}${encodedNumber}${encodedValue}`; }, `${CborSet.sizeToCbor(size)}`); }; export const CborMetadata = { encode, };