UNPKG

gads

Version:

An unofficial JS client library for the SOAP-based DFP Ads API

44 lines 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const util_1 = require("./util"); class WsdlComplexTypeToMetaInterfaceTranslator { constructor() { } translate(complexType) { return new Promise(resolve => { const name = complexType.$.name; const _interface = { description: complexType.annotation ? complexType.annotation.documentation : '', extends: complexType.complexContent ? [ util_1.parseSoapTypeName(complexType.complexContent.extension.$.base) ] : [], methods: {}, name, properties: {} }; // Define properties let elements = []; if (complexType.sequence) { elements = elements.concat(util_1.toArray(complexType.sequence.element)); } if (complexType.complexContent && complexType.complexContent.extension.sequence) { elements = elements.concat(util_1.toArray(complexType.complexContent.extension.sequence.element)); } for (const element of elements) { const name = element.$.name; _interface.properties[name] = { description: element.annotation ? element.annotation.documentation : '', isArray: element.$.maxOccurs === 'unbounded' || +element.$.maxOccurs > 1, isOptional: !+element.$.minOccurs, isPrimitive: element.$.type.startsWith('xsd:'), name, type: util_1.parseSoapTypeName(element.$.type) }; } resolve(_interface); }); } } exports.WsdlComplexTypeToMetaInterfaceTranslator = WsdlComplexTypeToMetaInterfaceTranslator; //# sourceMappingURL=wsdlComplexTypeToMetaInterfaceTranslator.js.map