UNPKG

@mtranter/wsdl-tsclient

Version:

Generate typescript soap client with typescript definitons from WSDL file.

68 lines 3.13 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParsedWsdl = void 0; var sanitize_filename_1 = __importDefault(require("sanitize-filename")); var logger_1 = require("../utils/logger"); var defaultOptions = { caseInsensitiveNames: false, maxStack: 64, maxStackWarn: 32 }; var ParsedWsdl = /** @class */ (function () { function ParsedWsdl(options) { this.definitions = []; this.ports = []; this.services = []; this._options = __assign(__assign({}, defaultOptions), options); this._warns = []; } /** Find definition by it's name */ ParsedWsdl.prototype.findDefinition = function (definitionName) { return this.definitions.find(function (def) { return def.name === definitionName; }); }; /** * To make every definition's name unique. * If definition with same name exists, suffix it with incremented number */ ParsedWsdl.prototype.findNonCollisionDefinitionName = function (defName) { var definitionName = (0, sanitize_filename_1.default)(defName); var isInSensitive = this._options.caseInsensitiveNames; var defNameToCheck = isInSensitive ? definitionName.toLowerCase() : definitionName; if (!this.definitions.find(function (def) { return isInSensitive ? (def.name.toLowerCase() === defNameToCheck) : (def.name === defNameToCheck); })) { return definitionName; } var _loop_1 = function (i) { if (!this_1.definitions.find(function (def) { return isInSensitive ? (def.name.toLowerCase() === "".concat(defNameToCheck).concat(i).toLowerCase()) : (def.name === "".concat(defNameToCheck).concat(i)); })) { return { value: "".concat(definitionName).concat(i) }; } if (i == this_1._options.maxStackWarn && !this_1._warns.includes(definitionName)) { logger_1.Logger.warn("Too many definition with same name \"".concat(definitionName, "\"")); this_1._warns.push(definitionName); } }; var this_1 = this; for (var i = 1; i < this._options.maxStack; i++) { var state_1 = _loop_1(i); if (typeof state_1 === "object") return state_1.value; } throw new Error("Out of stack (".concat(this._options.maxStack, ") for \"").concat(definitionName, "\", there's probably cyclic definition. You can also try to increase maxStack with --TODO option")); }; return ParsedWsdl; }()); exports.ParsedWsdl = ParsedWsdl; //# sourceMappingURL=parsed-wsdl.js.map