UNPKG

0xweb

Version:

Contract package manager and other web3 tools

38 lines (34 loc) 1.16 kB
export default (stateEvents: any, events: string[]) => { const stateEventValues = Object.keys(stateEvents).map((key: string) => stateEvents[key]); let output = ''; events.forEach((event: string) => { const eventName = event.split('(')[0]; const eventArguments = event .replace(eventName, '') .substring(1) .slice(0, -1); output += 'event '; if (eventArguments) { output += eventName + '('; output += eventArguments .split(',') .map((a: string, i: number) => { const stateEvent = stateEventValues.find((e: any) => e.label === event); if (stateEvent && i < stateEvent.indexedCount) { return a + ' indexed _arg' + i; } else { return a + ' _arg' + i; } }) .join(', '); output += ')'; } else { output += event; } output += '\n'; }); if (events.length > 0) { output += '\n'; } return output; };