source: node_modules/swagger-client/lib/index.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 5.8 KB
Line 
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
5exports.__esModule = true;
6exports.helpers = exports.default = void 0;
7var _constants = require("./constants.js");
8var _index = _interopRequireWildcard(require("./http/index.js"));
9var _index2 = require("./resolver/index.js");
10var _index3 = require("./subtree-resolver/index.js");
11var _index4 = _interopRequireDefault(require("./resolver/strategies/generic/index.js"));
12var _index5 = _interopRequireWildcard(require("./resolver/strategies/openapi-2/index.js"));
13var _index6 = _interopRequireDefault(require("./resolver/strategies/openapi-3-0/index.js"));
14var _index7 = _interopRequireDefault(require("./resolver/strategies/openapi-3-1-apidom/index.js"));
15var _interfaces = require("./interfaces.js");
16var _index8 = require("./execute/index.js");
17var _index9 = require("./helpers/index.js");
18var _openapiPredicates = require("./helpers/openapi-predicates.js");
19var _index10 = _interopRequireDefault(require("./resolver/apidom/reference/resolve/resolvers/http-swagger-client/index.js"));
20var _index11 = _interopRequireDefault(require("./resolver/apidom/reference/parse/parsers/json/index.js"));
21var _index12 = _interopRequireDefault(require("./resolver/apidom/reference/parse/parsers/yaml-1-2/index.js"));
22var _index13 = _interopRequireDefault(require("./resolver/apidom/reference/parse/parsers/openapi-json-3-1/index.js"));
23var _index14 = _interopRequireDefault(require("./resolver/apidom/reference/parse/parsers/openapi-yaml-3-1/index.js"));
24var _index15 = _interopRequireDefault(require("./resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/index.js"));
25/* eslint-disable camelcase */
26
27Swagger.http = _index.default;
28Swagger.makeHttp = _index.makeHttp.bind(null, Swagger.http);
29Swagger.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};
35Swagger.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});
38Swagger.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});
41Swagger.execute = _index8.execute;
42Swagger.serializeRes = _index.serializeRes;
43Swagger.serializeHeaders = _index.serializeHeaders;
44Swagger.clearCache = _index5.clearCache;
45Swagger.makeApisTagOperation = _interfaces.makeApisTagOperation;
46Swagger.buildRequest = _index8.buildRequest;
47Swagger.helpers = {
48 opId: _index9.opId
49};
50Swagger.getBaseUrl = _index8.baseUrl;
51Swagger.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};
71function 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}
93Swagger.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};
128Swagger.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
154const {
155 helpers
156} = Swagger;
157exports.helpers = helpers;
158var _default = exports.default = Swagger;
159/* eslint-enable camelcase */
Note: See TracBrowser for help on using the repository browser.