| 1234567891011121314151617181920212223242526272829 |
- 'use strict';
- const { parseXML } = require('../parser');
- const { parse: parseOadrPoll } = require('./oadr-poll');
- const { parse: parseOadrResponse } = require('./oadr-response');
- const {
- parse: parseOadrDistributeEvent,
- } = require('../event/distribute-event');
- async function parse(input) {
- const json = await parseXML(input);
- const o = json['oadrPayload']['$$']['oadrSignedObject'][0]['$$'];
- if (o['oadrPoll']) {
- return await parseOadrPoll(input);
- } else if (o['oadrResponse']) {
- return await parseOadrResponse(input);
- } else if (o['oadrDistributeEvent']) {
- return await parseOadrDistributeEvent(input);
- }
- throw new Error(`Unexpected payload type: ${Object.keys(o)}`);
- }
- module.exports = {
- parse,
- };
|