UNPKG

maxipago-sdk-js

Version:
53 lines (52 loc) 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatResponse = exports.convertResponse = void 0; var xml_js_1 = require("xml-js"); var isDebug = process.env.NODE_ENV === 'development'; exports.convertResponse = function (value, parentElement) { try { var keyNo = Object.keys(parentElement._parent).length; var keyName = Object.keys(parentElement._parent)[keyNo - 1]; parentElement._parent[keyName] = nativeType(value); } catch (e) { console.log(e); } }; exports.formatResponse = function (xml, options) { xml = xml.replace('rapi-response', 'response'); xml = xml.replace('rapi-response', 'response'); xml = xml.replace('api-response', 'response'); xml = xml.replace('api-response', 'response'); xml = xml.replace('transaction-response', 'response'); xml = xml.replace('transaction-response', 'response'); var jsonResponse = JSON.parse(xml_js_1.xml2json(xml, options)); if (isDebug) { console.log('development mode'); console.log(xml); } else { console.log('production mode'); console.log(xml); } if (typeof jsonResponse.response !== 'undefined') { return jsonResponse.response; } else { return JSON.parse(xml_js_1.xml2json(xml, options)); } }; function nativeType(value) { var nValue = Number(value); if (!isNaN(nValue)) { return nValue; } var bValue = value.toLowerCase(); if (bValue === 'true') { return true; } else if (bValue === 'false') { return false; } return value; }