@gleif-it/vlei-verifier-workflows
Version:
Workflows for vLEI users and vLEI credentials for the vLEI-verifier service
33 lines (32 loc) • 963 B
JavaScript
export const removeEvent = (cesr, eventType) => {
const parsedCesr = parseCesr(cesr);
let result = '';
for (const event of parsedCesr) {
if (event.json.t != eventType) {
result += `${JSON.stringify(event.json)}${event.signature}`;
}
}
return result;
};
export const parseCesr = (cesr) => {
const signatureRegex = /(?<=})(-.*?)(?={|$)/g;
const signatures = cesr.match(signatureRegex) || [];
const jsonString = `[${cesr.replace(signatureRegex, ',').trim()}]`.replace(/,(?=[^,]*$)/, '');
let parsedJson;
try {
parsedJson = JSON.parse(jsonString);
}
catch (error) {
console.error('Invalid JSON:', error);
return null;
}
const parsedCesr = parsedJson
.map((jsonItem, index) => {
return {
signature: signatures[index],
json: jsonItem,
};
})
.filter((item) => item !== null);
return parsedCesr;
};