'use strict'; const parsers = [ ...require('./event'), ...require('./report'), ...require('./poll'), ...require('./register-party'), ]; async function parse(input) { for (const parser of parsers) { if (await parser.canParse(input)) { return await parser.parse(input); } } throw new Error(`No parser for input: ${input}`); } function serialize(message) { for (const parser of parsers) { if (parser.canSerialize(message)) { return parser.serialize(message); } } throw new Error(`No serializer for message: ${message}`); } module.exports = { parse, serialize, };