UNPKG

ih-black-lion

Version:

State handler for Arus projects

46 lines (37 loc) 967 B
import { isArrayLike as isArray, mapObj } from 'ramda'; export default class Fault { constructor(faultObj) { const responseName = Object.keys(faultObj)[0]; let messages = {}; let length = 0; /** * Try: * Tries to map the Fault normally * * Catch: * Accounts for RESTListeningConnector Faults */ try { const faultMsg = faultObj[responseName].sccFaultResp.detail.msgs.msg; if (isArray(faultMsg)) { messages = mapObj((message) => { ++length; return message; }, faultMsg); } else { ++length; messages['0'] = faultMsg; } this.responseName = responseName; } catch (err) { const msgObj = faultObj.html; ++length; messages['0'] = { descr: `${msgObj.head.title} - ${msgObj.body}`, }; this.responseName = 'N/A'; } messages.length = length; this.faultMessages = messages; } }