ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [ => [c.credentialType, c.identity]);
export const encodeCredentialX509 = contramapEncoders([encodeCredentialType, encodeVarLenType(encodeVarLenData)], (c) => [c.credentialType, c.certificates]);
export const encodeCredentialCustom = contramapEncoders([encodeCredentialType, encodeVarLenData], (c) => [c.credentialType, c.data]);
export const encodeCredential = (c) => {
switch (c.credentialType) {
case "basic":
return encodeCredentialBasic(c);
case "x509":
return encodeCredentialX509(c);
default:
return encodeCredentialCustom(c);
}
};
const decodeCredentialBasic = mapDecoder(decodeVarLenData, (identity) => ({
credentialType: "basic",
identity,
}));
const decodeCredentialX509 = mapDecoder(decodeVarLenType(decodeVarLenData), (certificates) => ({ credentialType: "x509", certificates }));
export const decodeCredential = flatMapDecoder(decodeCredentialType, (credentialType) => {
switch (credentialType) {
case "basic":
return decodeCredentialBasic;
case "x509":
return decodeCredentialX509;
}
});
//# sourceMappingURL=credential.js.map