UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

44 lines 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.eventContractCleanerUtil = void 0; const spruce_event_utils_1 = require("@sprucelabs/spruce-event-utils"); exports.eventContractCleanerUtil = { cleanPayloadsAndPermissions(contract) { const cleaned = { eventSignatures: {}, }; const signatures = spruce_event_utils_1.eventContractUtil.getNamedEventSignatures(contract); for (const sig of signatures) { const cleanedSig = { ...sig.signature, }; const emitPayloadFields = Object.keys( //@ts-ignore cleanedSig.emitPayloadSchema?.fields?.payload?.options?.schema ?.fields ?? {}).length; const targetPayloadFields = Object.keys( //@ts-ignore cleanedSig.emitPayloadSchema?.fields?.target?.options?.schema ?.fields ?? {}).length; if (emitPayloadFields + targetPayloadFields === 0) { delete cleanedSig.emitPayloadSchema; } if (cleanedSig.responsePayloadSchema?.fields && Object.keys(cleanedSig.responsePayloadSchema?.fields).length === 0) { delete cleanedSig.responsePayloadSchema; } if (cleanedSig.emitPermissionContract && cleanedSig.emitPermissionContract.permissions.length === 0) { delete cleanedSig.emitPermissionContract; } if (cleanedSig.listenPermissionContract && cleanedSig.listenPermissionContract.permissions.length === 0) { delete cleanedSig.listenPermissionContract; } cleaned.eventSignatures[sig.fullyQualifiedEventName] = cleanedSig; } return cleaned; }, }; //# sourceMappingURL=eventContractCleaner.utility.js.map