|
|
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.obj2xml = void 0;
- const formatObjKey_1 = require("./formatObjKey");
- function type(params) {
- return Object.prototype.toString
- .call(params)
- .replace(/(.*? |])/g, '')
- .toLowerCase();
- }
- function obj2xml(obj, options) {
- let s = '';
- if (options && options.headers) {
- s = '<?xml version="1.0" encoding="UTF-8"?>\n';
- }
- if (options && options.firstUpperCase) {
- obj = formatObjKey_1.formatObjKey(obj, 'firstUpperCase');
- }
- if (type(obj) === 'object') {
- Object.keys(obj).forEach(key => {
- // filter undefined or null
- if (type(obj[key]) !== 'undefined' && type(obj[key]) !== 'null') {
- if (type(obj[key]) === 'string' || type(obj[key]) === 'number') {
- s += `<${key}>${obj[key]}</${key}>`;
- }
- else if (type(obj[key]) === 'object') {
- s += `<${key}>${obj2xml(obj[key])}</${key}>`;
- }
- else if (type(obj[key]) === 'array') {
- s += obj[key].map(keyChild => `<${key}>${obj2xml(keyChild)}</${key}>`).join('');
- }
- else {
- s += `<${key}>${obj[key].toString()}</${key}>`;
- }
- }
- });
- }
- else {
- s += obj.toString();
- }
- return s;
- }
- exports.obj2xml = obj2xml;
|