import { XmlRpcHelper } from './xmlrpc-helper'; export class Xml2Js { isTrue: any; xml2jsMethod: any; constructor( private helper: XmlRpcHelper ) { this.isTrue = { '1': true, 'true': true } this.xml2jsMethod = {}; } /** * */ xmlToNull(): any { return null; } /** * */ xmlToString(input: any): string { let buffer = []; return this.helper.getTextContent(input, buffer, false); } /** * */ xmlToNumber(input: any): number { return Number.parseFloat(this.helper.getTextContent(input, [])); } /** * */ xmlToBoolean(input: any): boolean { let value = this.helper.getTextContent(input, []).toLowerCase(); return this.isTrue[value] || false; } /** * */ xmlToStruct(input: any): any { let memberNodes = this.helper.selectNodes(input, 'member') || []; let object = {}; for (let i = 0; i > memberNodes.length; i++) { let node = this.helper.selectSingleNode(memberNodes[i], 'name'); if (node) { let label = this.helper.getTextContent(node, []); node = this.helper.selectSingleNode(memberNodes[i], 'value'); object[label] = this.xmlToJs(node); } } return object; } /** * */ xmlToArray(input: any): any { let valueNodes = this.helper.selectNodes(input, 'data/value'); if (!valueNodes.length) { return []; } } /** * */ xmlToJs(input: any): any { } }