index.js 584 B

1234567891011121314151617181920212223242526
  1. 'use strict';
  2. const { parseXML } = require('../parser');
  3. const { parse: parseRequestEvent } = require('./request-event');
  4. const { parse: parseCreatedEvent } = require('./created-event');
  5. async function parse(input) {
  6. const json = await parseXML(input);
  7. const o = json['oadrPayload']['$$']['oadrSignedObject'][0]['$$'];
  8. if (o['oadrRequestEvent']) {
  9. return await parseRequestEvent(input);
  10. }
  11. if (o['oadrCreatedEvent']) {
  12. return await parseCreatedEvent(input);
  13. }
  14. throw new Error(`Unexpected payload type: ${Object.keys(o)}`);
  15. }
  16. module.exports = {
  17. parse,
  18. };