[d24f17c] | 1 | "use strict";
|
---|
| 2 |
|
---|
| 3 | var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
---|
| 4 | var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
|
---|
| 5 | exports.__esModule = true;
|
---|
| 6 | exports.helpers = exports.default = void 0;
|
---|
| 7 | var _constants = require("./constants.js");
|
---|
| 8 | var _index = _interopRequireWildcard(require("./http/index.js"));
|
---|
| 9 | var _index2 = require("./resolver/index.js");
|
---|
| 10 | var _index3 = require("./subtree-resolver/index.js");
|
---|
| 11 | var _index4 = _interopRequireDefault(require("./resolver/strategies/generic/index.js"));
|
---|
| 12 | var _index5 = _interopRequireWildcard(require("./resolver/strategies/openapi-2/index.js"));
|
---|
| 13 | var _index6 = _interopRequireDefault(require("./resolver/strategies/openapi-3-0/index.js"));
|
---|
| 14 | var _index7 = _interopRequireDefault(require("./resolver/strategies/openapi-3-1-apidom/index.js"));
|
---|
| 15 | var _interfaces = require("./interfaces.js");
|
---|
| 16 | var _index8 = require("./execute/index.js");
|
---|
| 17 | var _index9 = require("./helpers/index.js");
|
---|
| 18 | var _openapiPredicates = require("./helpers/openapi-predicates.js");
|
---|
| 19 | var _index10 = _interopRequireDefault(require("./resolver/apidom/reference/resolve/resolvers/http-swagger-client/index.js"));
|
---|
| 20 | var _index11 = _interopRequireDefault(require("./resolver/apidom/reference/parse/parsers/json/index.js"));
|
---|
| 21 | var _index12 = _interopRequireDefault(require("./resolver/apidom/reference/parse/parsers/yaml-1-2/index.js"));
|
---|
| 22 | var _index13 = _interopRequireDefault(require("./resolver/apidom/reference/parse/parsers/openapi-json-3-1/index.js"));
|
---|
| 23 | var _index14 = _interopRequireDefault(require("./resolver/apidom/reference/parse/parsers/openapi-yaml-3-1/index.js"));
|
---|
| 24 | var _index15 = _interopRequireDefault(require("./resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/index.js"));
|
---|
| 25 | /* eslint-disable camelcase */
|
---|
| 26 |
|
---|
| 27 | Swagger.http = _index.default;
|
---|
| 28 | Swagger.makeHttp = _index.makeHttp.bind(null, Swagger.http);
|
---|
| 29 | Swagger.resolveStrategies = {
|
---|
| 30 | 'openapi-3-1-apidom': _index7.default,
|
---|
| 31 | 'openapi-3-0': _index6.default,
|
---|
| 32 | 'openapi-2-0': _index5.default,
|
---|
| 33 | generic: _index4.default
|
---|
| 34 | };
|
---|
| 35 | Swagger.resolve = (0, _index2.makeResolve)({
|
---|
| 36 | strategies: [Swagger.resolveStrategies['openapi-3-1-apidom'], Swagger.resolveStrategies['openapi-3-0'], Swagger.resolveStrategies['openapi-2-0'], Swagger.resolveStrategies.generic]
|
---|
| 37 | });
|
---|
| 38 | Swagger.resolveSubtree = (0, _index3.makeResolveSubtree)({
|
---|
| 39 | strategies: [Swagger.resolveStrategies['openapi-3-1-apidom'], Swagger.resolveStrategies['openapi-3-0'], Swagger.resolveStrategies['openapi-2-0'], Swagger.resolveStrategies.generic]
|
---|
| 40 | });
|
---|
| 41 | Swagger.execute = _index8.execute;
|
---|
| 42 | Swagger.serializeRes = _index.serializeRes;
|
---|
| 43 | Swagger.serializeHeaders = _index.serializeHeaders;
|
---|
| 44 | Swagger.clearCache = _index5.clearCache;
|
---|
| 45 | Swagger.makeApisTagOperation = _interfaces.makeApisTagOperation;
|
---|
| 46 | Swagger.buildRequest = _index8.buildRequest;
|
---|
| 47 | Swagger.helpers = {
|
---|
| 48 | opId: _index9.opId
|
---|
| 49 | };
|
---|
| 50 | Swagger.getBaseUrl = _index8.baseUrl;
|
---|
| 51 | Swagger.apidom = {
|
---|
| 52 | resolve: {
|
---|
| 53 | resolvers: {
|
---|
| 54 | HttpResolverSwaggerClient: _index10.default
|
---|
| 55 | }
|
---|
| 56 | },
|
---|
| 57 | parse: {
|
---|
| 58 | parsers: {
|
---|
| 59 | JsonParser: _index11.default,
|
---|
| 60 | YamlParser: _index12.default,
|
---|
| 61 | OpenApiJson3_1Parser: _index13.default,
|
---|
| 62 | OpenApiYaml3_1Parser: _index14.default
|
---|
| 63 | }
|
---|
| 64 | },
|
---|
| 65 | dereference: {
|
---|
| 66 | strategies: {
|
---|
| 67 | OpenApi3_1SwaggerClientDereferenceStrategy: _index15.default
|
---|
| 68 | }
|
---|
| 69 | }
|
---|
| 70 | };
|
---|
| 71 | function Swagger(url, opts = {}) {
|
---|
| 72 | // Allow url as a separate argument
|
---|
| 73 | if (typeof url === 'string') {
|
---|
| 74 | opts.url = url;
|
---|
| 75 | } else {
|
---|
| 76 | opts = url;
|
---|
| 77 | }
|
---|
| 78 | if (!(this instanceof Swagger)) {
|
---|
| 79 | return new Swagger(opts);
|
---|
| 80 | }
|
---|
| 81 | Object.assign(this, opts);
|
---|
| 82 | const prom = this.resolve().then(() => {
|
---|
| 83 | if (!this.disableInterfaces) {
|
---|
| 84 | Object.assign(this, Swagger.makeApisTagOperation(this));
|
---|
| 85 | }
|
---|
| 86 | return this;
|
---|
| 87 | });
|
---|
| 88 |
|
---|
| 89 | // Expose this instance on the promise that gets returned
|
---|
| 90 | prom.client = this;
|
---|
| 91 | return prom;
|
---|
| 92 | }
|
---|
| 93 | Swagger.prototype = {
|
---|
| 94 | http: _index.default,
|
---|
| 95 | execute(options) {
|
---|
| 96 | this.applyDefaults();
|
---|
| 97 | return Swagger.execute({
|
---|
| 98 | spec: this.spec,
|
---|
| 99 | http: this.http,
|
---|
| 100 | securities: {
|
---|
| 101 | authorized: this.authorizations
|
---|
| 102 | },
|
---|
| 103 | contextUrl: typeof this.url === 'string' ? this.url : undefined,
|
---|
| 104 | requestInterceptor: this.requestInterceptor || null,
|
---|
| 105 | responseInterceptor: this.responseInterceptor || null,
|
---|
| 106 | ...options
|
---|
| 107 | });
|
---|
| 108 | },
|
---|
| 109 | resolve(options = {}) {
|
---|
| 110 | return Swagger.resolve({
|
---|
| 111 | spec: this.spec,
|
---|
| 112 | url: this.url,
|
---|
| 113 | http: this.http || this.fetch,
|
---|
| 114 | allowMetaPatches: this.allowMetaPatches,
|
---|
| 115 | useCircularStructures: this.useCircularStructures,
|
---|
| 116 | requestInterceptor: this.requestInterceptor || null,
|
---|
| 117 | responseInterceptor: this.responseInterceptor || null,
|
---|
| 118 | skipNormalization: this.skipNormalization || false,
|
---|
| 119 | ...options
|
---|
| 120 | }).then(obj => {
|
---|
| 121 | this.originalSpec = this.spec;
|
---|
| 122 | this.spec = obj.spec;
|
---|
| 123 | this.errors = obj.errors;
|
---|
| 124 | return this;
|
---|
| 125 | });
|
---|
| 126 | }
|
---|
| 127 | };
|
---|
| 128 | Swagger.prototype.applyDefaults = function applyDefaults() {
|
---|
| 129 | const {
|
---|
| 130 | spec
|
---|
| 131 | } = this;
|
---|
| 132 | const specUrl = this.url;
|
---|
| 133 | if ((0, _openapiPredicates.isOpenAPI2)(spec) && (0, _index9.isHttpUrl)(specUrl)) {
|
---|
| 134 | const parsed = new URL(specUrl);
|
---|
| 135 | if (!spec.host) {
|
---|
| 136 | spec.host = parsed.host;
|
---|
| 137 | }
|
---|
| 138 | if (!spec.schemes) {
|
---|
| 139 | spec.schemes = [parsed.protocol.replace(':', '')];
|
---|
| 140 | }
|
---|
| 141 | if (!spec.basePath) {
|
---|
| 142 | spec.basePath = '/';
|
---|
| 143 | }
|
---|
| 144 | } else if ((0, _openapiPredicates.isOpenAPI3)(spec)) {
|
---|
| 145 | const isEmptyServerList = Array.isArray(spec.servers) && spec.servers.length === 0;
|
---|
| 146 | if (!spec.servers || isEmptyServerList) {
|
---|
| 147 | spec.servers = [_constants.DEFAULT_OPENAPI_3_SERVER];
|
---|
| 148 | }
|
---|
| 149 | }
|
---|
| 150 | };
|
---|
| 151 |
|
---|
| 152 | // add backwards compatibility with older versions of swagger-ui
|
---|
| 153 | // Refs https://github.com/swagger-api/swagger-ui/issues/6210
|
---|
| 154 | const {
|
---|
| 155 | helpers
|
---|
| 156 | } = Swagger;
|
---|
| 157 | exports.helpers = helpers;
|
---|
| 158 | var _default = exports.default = Swagger;
|
---|
| 159 | /* eslint-enable camelcase */ |
---|