@gleif-it/vlei-verifier-workflows
Version:
Workflows for vLEI users and vLEI credentials for the vLEI-verifier service
38 lines (37 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseCesr = exports.removeEvent = void 0;
const removeEvent = (cesr, eventType) => {
const parsedCesr = (0, exports.parseCesr)(cesr);
let result = '';
for (const event of parsedCesr) {
if (event.json.t != eventType) {
result += `${JSON.stringify(event.json)}${event.signature}`;
}
}
return result;
};
exports.removeEvent = removeEvent;
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;
};
exports.parseCesr = parseCesr;