UNPKG

@fairmint/canton-node-sdk

Version:
33 lines 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findCreatedEventByTemplateId = findCreatedEventByTemplateId; function isCreatedTreeEventWrapper(event) { if (!event || typeof event !== 'object') return false; const e = event; return Boolean(e.CreatedTreeEvent) && typeof e.CreatedTreeEvent === 'object' && 'value' in e.CreatedTreeEvent; } function findCreatedEventByTemplateId(response, expectedTemplateId) { const transactionTree = response.transactionTree; const eventsById = transactionTree?.eventsById ?? transactionTree?.transaction?.eventsById ?? {}; // Extract the part after the first ':' from the expected template ID const expectedTemplateIdSuffix = expectedTemplateId.includes(':') ? expectedTemplateId.substring(expectedTemplateId.indexOf(':') + 1) : expectedTemplateId; for (const event of Object.values(eventsById)) { if (isCreatedTreeEventWrapper(event)) { const created = event.CreatedTreeEvent.value; if (created.templateId) { // Extract the part after the first ':' from the actual template ID const actualTemplateIdSuffix = created.templateId.includes(':') ? created.templateId.substring(created.templateId.indexOf(':') + 1) : created.templateId; if (actualTemplateIdSuffix === expectedTemplateIdSuffix) { return event; } } } } return undefined; } //# sourceMappingURL=findCreatedEvent.js.map