ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [ => proposalOrRefTypes[t]);
export const decodeProposalOrRefType = mapDecoderOption(decodeUint8, enumNumberToKey(proposalOrRefTypes));
export const encodeProposalOrRefProposal = contramapEncoders([encodeProposalOrRefType, encodeProposal], (p) => [p.proposalOrRefType, p.proposal]);
export const encodeProposalOrRefProposalRef = contramapEncoders([encodeProposalOrRefType, encodeVarLenData], (r) => [r.proposalOrRefType, r.reference]);
export const encodeProposalOrRef = (input) => {
switch (input.proposalOrRefType) {
case "proposal":
return encodeProposalOrRefProposal(input);
case "reference":
return encodeProposalOrRefProposalRef(input);
}
};
export const decodeProposalOrRef = flatMapDecoder(decodeProposalOrRefType, (proposalOrRefType) => {
switch (proposalOrRefType) {
case "proposal":
return mapDecoder(decodeProposal, (proposal) => ({ proposalOrRefType, proposal }));
case "reference":
return mapDecoder(decodeVarLenData, (reference) => ({ proposalOrRefType, reference }));
}
});
//# sourceMappingURL=proposalOrRefType.js.map