| 1234567891011121314151617181920212223242526272829303132 |
- '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,
- };
|