swagger-client 3.20.1 → 3.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -2
- package/dist/swagger-client.browser.js +13796 -16135
- package/dist/swagger-client.browser.min.js +1 -1
- package/dist/swagger-client.browser.min.js.map +1 -1
- package/es/execute/index.js +53 -27
- package/es/execute/oas3/build-request.js +7 -5
- package/es/execute/swagger2/build-request.js +3 -2
- package/es/helpers/fetch-polyfill.browser.js +13 -0
- package/es/helpers/fetch-polyfill.node.js +14 -0
- package/es/helpers/fetch-ponyfill-node-fetch.node.js +3 -0
- package/es/helpers/fetch-ponyfill-undici.node.js +2 -0
- package/es/helpers/fetch-ponyfill.browser.js +8 -0
- package/es/http/index.js +10 -9
- package/es/index.js +9 -9
- package/es/interfaces.js +4 -4
- package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/index.js +2 -1
- package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/all-of.js +4 -2
- package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/dereference.js +26 -18
- package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/parameters.js +2 -1
- package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/properties.js +2 -1
- package/es/resolver/apidom/reference/resolve/resolvers/http-swagger-client/index.js +12 -10
- package/es/resolver/index.js +7 -4
- package/es/resolver/strategies/openapi-3-1-apidom/normalize.js +1 -1
- package/es/specmap/helpers.js +2 -2
- package/es/specmap/index.js +6 -4
- package/es/specmap/lib/all-of.js +3 -2
- package/es/specmap/lib/context-tree.js +4 -2
- package/es/specmap/lib/index.js +11 -5
- package/es/specmap/lib/parameters.js +3 -2
- package/es/specmap/lib/properties.js +3 -2
- package/es/specmap/lib/refs.js +2 -2
- package/es/subtree-resolver/index.js +8 -6
- package/lib/execute/index.js +77 -49
- package/lib/execute/oas3/build-request.js +22 -18
- package/lib/execute/oas3/parameter-builders.js +26 -23
- package/lib/execute/oas3/style-serializer.js +27 -23
- package/lib/execute/swagger2/build-request.js +11 -13
- package/lib/execute/swagger2/parameter-builders.js +29 -24
- package/lib/helpers/fetch-polyfill.browser.js +15 -0
- package/lib/helpers/fetch-polyfill.node.js +16 -0
- package/lib/helpers/fetch-ponyfill-node-fetch.node.js +9 -0
- package/lib/helpers/fetch-ponyfill-undici.node.js +8 -0
- package/lib/helpers/fetch-ponyfill.browser.js +15 -0
- package/lib/helpers/find-operation.js +1 -1
- package/lib/helpers/get-operation-raw.js +7 -6
- package/lib/helpers/id-from-path-method/index.js +5 -4
- package/lib/helpers/index.js +2 -2
- package/lib/helpers/op-id.js +8 -4
- package/lib/http/index.js +52 -22
- package/lib/index.js +21 -18
- package/lib/interfaces.js +49 -36
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/errors/index.js +1 -1
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/index.js +12 -12
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/utils/compose.js +1 -1
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/all-of.js +9 -8
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/dereference.js +29 -28
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/parameters.js +8 -7
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/properties.js +8 -7
- package/lib/resolver/apidom/reference/parse/parsers/openapi-yaml-3-1/index.js +1 -2
- package/lib/resolver/apidom/reference/parse/parsers/yaml-1-2/index.js +1 -2
- package/lib/resolver/apidom/reference/resolve/resolvers/http-swagger-client/index.js +18 -19
- package/lib/resolver/index.js +9 -11
- package/lib/resolver/strategies/generic/index.js +5 -4
- package/lib/resolver/strategies/generic/normalize.js +1 -1
- package/lib/resolver/strategies/generic/resolve.js +2 -3
- package/lib/resolver/strategies/openapi-2/index.js +9 -7
- package/lib/resolver/strategies/openapi-2/normalize.js +2 -2
- package/lib/resolver/strategies/openapi-2/resolve.js +1 -1
- package/lib/resolver/strategies/openapi-3-0/index.js +9 -7
- package/lib/resolver/strategies/openapi-3-0/normalize.js +2 -2
- package/lib/resolver/strategies/openapi-3-0/resolve.js +1 -1
- package/lib/resolver/strategies/openapi-3-1-apidom/index.js +10 -9
- package/lib/resolver/strategies/openapi-3-1-apidom/normalize.js +2 -2
- package/lib/resolver/strategies/openapi-3-1-apidom/resolve.js +2 -3
- package/lib/resolver/utils/index.js +4 -1
- package/lib/resolver/utils/options.js +1 -1
- package/lib/specmap/helpers.js +9 -8
- package/lib/specmap/index.js +15 -11
- package/lib/specmap/lib/all-of.js +3 -6
- package/lib/specmap/lib/context-tree.js +4 -6
- package/lib/specmap/lib/create-error.js +4 -1
- package/lib/specmap/lib/index.js +13 -12
- package/lib/specmap/lib/parameters.js +4 -7
- package/lib/specmap/lib/properties.js +4 -7
- package/lib/specmap/lib/refs.js +4 -4
- package/lib/subtree-resolver/index.js +19 -13
- package/package.json +17 -26
- package/es/http/fold-formdata-to-request.browser.js +0 -4
- package/es/http/fold-formdata-to-request.node.js +0 -29
- package/lib/http/fold-formdata-to-request.browser.js +0 -9
- package/lib/http/fold-formdata-to-request.node.js +0 -37
|
@@ -7,9 +7,10 @@ const isRfc3986Reserved = char => ":/?#[]@!$&'()*+,;=".indexOf(char) > -1;
|
|
|
7
7
|
const isRrc3986Unreserved = char => /^[a-z0-9\-._~]+$/i.test(char);
|
|
8
8
|
|
|
9
9
|
// eslint-disable-next-line default-param-last
|
|
10
|
-
function encodeDisallowedCharacters(str, {
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
function encodeDisallowedCharacters(str, _temp, parse) {
|
|
11
|
+
let {
|
|
12
|
+
escape
|
|
13
|
+
} = _temp === void 0 ? {} : _temp;
|
|
13
14
|
if (typeof str === 'number') {
|
|
14
15
|
str = str.toString();
|
|
15
16
|
}
|
|
@@ -51,13 +52,14 @@ function stylize(config) {
|
|
|
51
52
|
}
|
|
52
53
|
return encodePrimitive(config);
|
|
53
54
|
}
|
|
54
|
-
function encodeArray({
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
55
|
+
function encodeArray(_ref) {
|
|
56
|
+
let {
|
|
57
|
+
key,
|
|
58
|
+
value,
|
|
59
|
+
style,
|
|
60
|
+
explode,
|
|
61
|
+
escape
|
|
62
|
+
} = _ref;
|
|
61
63
|
const valueEncoder = str => encodeDisallowedCharacters(str, {
|
|
62
64
|
escape
|
|
63
65
|
});
|
|
@@ -89,13 +91,14 @@ function encodeArray({
|
|
|
89
91
|
}
|
|
90
92
|
return undefined;
|
|
91
93
|
}
|
|
92
|
-
function encodeObject({
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
94
|
+
function encodeObject(_ref2) {
|
|
95
|
+
let {
|
|
96
|
+
key,
|
|
97
|
+
value,
|
|
98
|
+
style,
|
|
99
|
+
explode,
|
|
100
|
+
escape
|
|
101
|
+
} = _ref2;
|
|
99
102
|
const valueEncoder = str => encodeDisallowedCharacters(str, {
|
|
100
103
|
escape
|
|
101
104
|
});
|
|
@@ -141,12 +144,13 @@ function encodeObject({
|
|
|
141
144
|
}
|
|
142
145
|
return undefined;
|
|
143
146
|
}
|
|
144
|
-
function encodePrimitive({
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
147
|
+
function encodePrimitive(_ref3) {
|
|
148
|
+
let {
|
|
149
|
+
key,
|
|
150
|
+
value,
|
|
151
|
+
style,
|
|
152
|
+
escape
|
|
153
|
+
} = _ref3;
|
|
150
154
|
const valueEncoder = str => encodeDisallowedCharacters(str, {
|
|
151
155
|
escape
|
|
152
156
|
});
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.applySecurities = applySecurities;
|
|
5
6
|
exports.default = buildRequest;
|
|
6
7
|
var _btoaNode = _interopRequireDefault(require("../../helpers/btoa.node.js"));
|
|
7
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
8
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
12
|
-
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
13
8
|
// This function runs after the common function,
|
|
14
9
|
// `src/execute/index.js#buildRequest`
|
|
15
10
|
function buildRequest(options, req) {
|
|
@@ -55,13 +50,16 @@ function buildRequest(options, req) {
|
|
|
55
50
|
}
|
|
56
51
|
|
|
57
52
|
// Add security values, to operations - that declare their need on them
|
|
58
|
-
function applySecurities({
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
53
|
+
function applySecurities(_ref) {
|
|
54
|
+
let {
|
|
55
|
+
request,
|
|
56
|
+
securities = {},
|
|
57
|
+
operation = {},
|
|
58
|
+
spec
|
|
59
|
+
} = _ref;
|
|
60
|
+
const result = {
|
|
61
|
+
...request
|
|
62
|
+
};
|
|
65
63
|
const {
|
|
66
64
|
authorized = {},
|
|
67
65
|
specSecurity = []
|
|
@@ -12,19 +12,21 @@ var _default = {
|
|
|
12
12
|
formData: formDataBuilder
|
|
13
13
|
}; // Add the body to the request
|
|
14
14
|
exports.default = _default;
|
|
15
|
-
function bodyBuilder({
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
function bodyBuilder(_ref) {
|
|
16
|
+
let {
|
|
17
|
+
req,
|
|
18
|
+
value
|
|
19
|
+
} = _ref;
|
|
19
20
|
req.body = value;
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
// Add a form data object.
|
|
23
|
-
function formDataBuilder({
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
function formDataBuilder(_ref2) {
|
|
25
|
+
let {
|
|
26
|
+
req,
|
|
27
|
+
value,
|
|
28
|
+
parameter
|
|
29
|
+
} = _ref2;
|
|
28
30
|
if (value || parameter.allowEmptyValue) {
|
|
29
31
|
req.form = req.form || {};
|
|
30
32
|
req.form[parameter.name] = {
|
|
@@ -36,11 +38,12 @@ function formDataBuilder({
|
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
// Add a header to the request
|
|
39
|
-
function headerBuilder({
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
function headerBuilder(_ref3) {
|
|
42
|
+
let {
|
|
43
|
+
req,
|
|
44
|
+
parameter,
|
|
45
|
+
value
|
|
46
|
+
} = _ref3;
|
|
44
47
|
req.headers = req.headers || {};
|
|
45
48
|
if (typeof value !== 'undefined') {
|
|
46
49
|
req.headers[parameter.name] = value;
|
|
@@ -48,20 +51,22 @@ function headerBuilder({
|
|
|
48
51
|
}
|
|
49
52
|
|
|
50
53
|
// Replace path paramters, with values ( ie: the URL )
|
|
51
|
-
function pathBuilder({
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
function pathBuilder(_ref4) {
|
|
55
|
+
let {
|
|
56
|
+
req,
|
|
57
|
+
value,
|
|
58
|
+
parameter
|
|
59
|
+
} = _ref4;
|
|
56
60
|
req.url = req.url.split(`{${parameter.name}}`).join(encodeURIComponent(value));
|
|
57
61
|
}
|
|
58
62
|
|
|
59
63
|
// Add a query to the `query` object, which will later be stringified into the URL's search
|
|
60
|
-
function queryBuilder({
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
function queryBuilder(_ref5) {
|
|
65
|
+
let {
|
|
66
|
+
req,
|
|
67
|
+
value,
|
|
68
|
+
parameter
|
|
69
|
+
} = _ref5;
|
|
65
70
|
req.query = req.query || {};
|
|
66
71
|
if (value === false && parameter.type === 'boolean') {
|
|
67
72
|
value = 'false';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _fetchPonyfillBrowser = require("./fetch-ponyfill.browser.js");
|
|
4
|
+
if (typeof globalThis.fetch === 'undefined') {
|
|
5
|
+
globalThis.fetch = _fetchPonyfillBrowser.fetch;
|
|
6
|
+
}
|
|
7
|
+
if (typeof globalThis.Headers === 'undefined') {
|
|
8
|
+
globalThis.Headers = _fetchPonyfillBrowser.Headers;
|
|
9
|
+
}
|
|
10
|
+
if (typeof globalThis.Request === 'undefined') {
|
|
11
|
+
globalThis.Request = _fetchPonyfillBrowser.Request;
|
|
12
|
+
}
|
|
13
|
+
if (typeof globalThis.Response === 'undefined') {
|
|
14
|
+
globalThis.Response = _fetchPonyfillBrowser.Response;
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _fetchPonyfillUndiciNode = require("./fetch-ponyfill-undici.node.js");
|
|
4
|
+
var _fetchPonyfillNodeFetchNode = require("./fetch-ponyfill-node-fetch.node.js");
|
|
5
|
+
if (typeof globalThis.fetch === 'undefined') {
|
|
6
|
+
globalThis.fetch = _fetchPonyfillUndiciNode.fetch || _fetchPonyfillNodeFetchNode.fetch;
|
|
7
|
+
}
|
|
8
|
+
if (typeof globalThis.Headers === 'undefined') {
|
|
9
|
+
globalThis.Headers = _fetchPonyfillUndiciNode.Headers || _fetchPonyfillNodeFetchNode.Headers;
|
|
10
|
+
}
|
|
11
|
+
if (typeof globalThis.Request === 'undefined') {
|
|
12
|
+
globalThis.Request = _fetchPonyfillUndiciNode.Request || _fetchPonyfillNodeFetchNode.Request;
|
|
13
|
+
}
|
|
14
|
+
if (typeof globalThis.Response === 'undefined') {
|
|
15
|
+
globalThis.Response = _fetchPonyfillUndiciNode.Response || _fetchPonyfillNodeFetchNode.Response;
|
|
16
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
var _nodeFetchCommonjs = _interopRequireWildcard(require("node-fetch-commonjs"));
|
|
6
|
+
exports.fetch = _nodeFetchCommonjs.default;
|
|
7
|
+
exports.Response = _nodeFetchCommonjs.Response;
|
|
8
|
+
exports.Headers = _nodeFetchCommonjs.Headers;
|
|
9
|
+
exports.Request = _nodeFetchCommonjs.Request;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.fetch = exports.Response = exports.Request = exports.Headers = void 0;
|
|
5
|
+
// we're targeting browsers that already support fetch API
|
|
6
|
+
const {
|
|
7
|
+
fetch,
|
|
8
|
+
Response,
|
|
9
|
+
Headers,
|
|
10
|
+
Request
|
|
11
|
+
} = globalThis;
|
|
12
|
+
exports.Request = Request;
|
|
13
|
+
exports.Headers = Headers;
|
|
14
|
+
exports.Response = Response;
|
|
15
|
+
exports.fetch = fetch;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.default = findOperation;
|
|
5
6
|
var _eachOperation = _interopRequireDefault(require("./each-operation.js"));
|
|
6
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
7
|
// Will stop iterating over the operations and return the operationObj
|
|
8
8
|
// as soon as predicate returns true
|
|
9
9
|
function findOperation(spec, predicate) {
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.default = getOperationRaw;
|
|
5
6
|
var _findOperation = _interopRequireDefault(require("./find-operation.js"));
|
|
6
7
|
var _opId = _interopRequireDefault(require("./op-id.js"));
|
|
7
8
|
var _legacy = _interopRequireDefault(require("./id-from-path-method/legacy.js"));
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
function getOperationRaw(spec, id) {
|
|
10
10
|
if (!spec || !spec.paths) {
|
|
11
11
|
return null;
|
|
12
12
|
}
|
|
13
|
-
return (0, _findOperation.default)(spec,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
return (0, _findOperation.default)(spec, _ref => {
|
|
14
|
+
let {
|
|
15
|
+
pathName,
|
|
16
|
+
method,
|
|
17
|
+
operation
|
|
18
|
+
} = _ref;
|
|
18
19
|
if (!operation || typeof operation !== 'object') {
|
|
19
20
|
return false;
|
|
20
21
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.default = idFromPathMethod;
|
|
5
6
|
var _replaceSpecialCharsWithUnderscore = _interopRequireDefault(require("../replace-special-chars-with-underscore.js"));
|
|
6
|
-
function
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} = {}
|
|
7
|
+
function idFromPathMethod(pathName, method, _temp) {
|
|
8
|
+
let {
|
|
9
|
+
v2OperationIdCompatibilityMode
|
|
10
|
+
} = _temp === void 0 ? {} : _temp;
|
|
10
11
|
if (v2OperationIdCompatibilityMode) {
|
|
11
12
|
let res = `${method.toLowerCase()}_${pathName}`.replace(/[\s!@#$%^&*()_+=[{\]};:<>|./?,\\'""-]/g, '_');
|
|
12
13
|
res = res || `${pathName.substring(1)}_${method}`;
|
package/lib/helpers/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.opId = exports.idFromPathMethodLegacy = exports.idFromPathMethod = exports.getOperationRaw = exports.findOperation = exports.eachOperation = void 0;
|
|
5
6
|
var _eachOperation = _interopRequireDefault(require("./each-operation.js"));
|
|
@@ -13,5 +14,4 @@ exports.opId = _opId.default;
|
|
|
13
14
|
var _index = _interopRequireDefault(require("./id-from-path-method/index.js"));
|
|
14
15
|
exports.idFromPathMethod = _index.default;
|
|
15
16
|
var _legacy = _interopRequireDefault(require("./id-from-path-method/legacy.js"));
|
|
16
|
-
exports.idFromPathMethodLegacy = _legacy.default;
|
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
exports.idFromPathMethodLegacy = _legacy.default;
|
package/lib/helpers/op-id.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.default = opId;
|
|
5
6
|
var _index = _interopRequireDefault(require("./id-from-path-method/index.js"));
|
|
6
7
|
var _replaceSpecialCharsWithUnderscore = _interopRequireDefault(require("./replace-special-chars-with-underscore.js"));
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
8
|
+
function opId(operation, pathName, method, _temp) {
|
|
9
|
+
if (method === void 0) {
|
|
10
|
+
method = '';
|
|
11
|
+
}
|
|
12
|
+
let {
|
|
13
|
+
v2OperationIdCompatibilityMode
|
|
14
|
+
} = _temp === void 0 ? {} : _temp;
|
|
11
15
|
if (!operation || typeof operation !== 'object') {
|
|
12
16
|
return null;
|
|
13
17
|
}
|
package/lib/http/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.default = http;
|
|
5
6
|
exports.encodeFormOrQuery = encodeFormOrQuery;
|
|
@@ -10,13 +11,11 @@ exports.self = void 0;
|
|
|
10
11
|
exports.serializeHeaders = serializeHeaders;
|
|
11
12
|
exports.serializeRes = serializeRes;
|
|
12
13
|
exports.shouldDownloadAsText = void 0;
|
|
13
|
-
require("cross-fetch/polyfill");
|
|
14
14
|
var _qs = _interopRequireDefault(require("qs"));
|
|
15
15
|
var _jsYaml = _interopRequireDefault(require("js-yaml"));
|
|
16
16
|
var _formdataNode = require("formdata-node");
|
|
17
|
+
require("../helpers/fetch-polyfill.node.js");
|
|
17
18
|
var _styleSerializer = require("../execute/oas3/style-serializer.js");
|
|
18
|
-
var _foldFormdataToRequestNode = _interopRequireDefault(require("./fold-formdata-to-request.node.js"));
|
|
19
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
19
|
// For testing
|
|
21
20
|
const self = {
|
|
22
21
|
serializeRes,
|
|
@@ -24,9 +23,12 @@ const self = {
|
|
|
24
23
|
};
|
|
25
24
|
|
|
26
25
|
// Handles fetch-like syntax and the case where there is only one object passed-in
|
|
27
|
-
// (which will have the URL as a property). Also
|
|
26
|
+
// (which will have the URL as a property). Also serializes the response.
|
|
28
27
|
exports.self = self;
|
|
29
|
-
async function http(url, request
|
|
28
|
+
async function http(url, request) {
|
|
29
|
+
if (request === void 0) {
|
|
30
|
+
request = {};
|
|
31
|
+
}
|
|
30
32
|
if (typeof url === 'object') {
|
|
31
33
|
request = url;
|
|
32
34
|
url = request.url;
|
|
@@ -39,7 +41,7 @@ async function http(url, request = {}) {
|
|
|
39
41
|
self.mergeInQueryOrForm(request);
|
|
40
42
|
|
|
41
43
|
// Newlines in header values cause weird error messages from `window.fetch`,
|
|
42
|
-
// so let's
|
|
44
|
+
// so let's message them out.
|
|
43
45
|
// Context: https://stackoverflow.com/a/50709178
|
|
44
46
|
if (request.headers) {
|
|
45
47
|
Object.keys(request.headers).forEach(headerName => {
|
|
@@ -57,11 +59,12 @@ async function http(url, request = {}) {
|
|
|
57
59
|
request = (await request.requestInterceptor(request)) || request;
|
|
58
60
|
}
|
|
59
61
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
/**
|
|
63
|
+
* For content-type=multipart/form-data remove content-type from request before fetch,
|
|
64
|
+
* so that correct one with `boundary` is set when request body is different from boundary encoded string.
|
|
65
|
+
*/
|
|
62
66
|
const contentType = request.headers['content-type'] || request.headers['Content-Type'];
|
|
63
|
-
|
|
64
|
-
if (/multipart\/form-data/i.test(contentType) && request.body instanceof _formdataNode.FormData) {
|
|
67
|
+
if (/multipart\/form-data/i.test(contentType)) {
|
|
65
68
|
delete request.headers['content-type'];
|
|
66
69
|
delete request.headers['Content-Type'];
|
|
67
70
|
}
|
|
@@ -97,7 +100,12 @@ async function http(url, request = {}) {
|
|
|
97
100
|
}
|
|
98
101
|
|
|
99
102
|
// exported for testing
|
|
100
|
-
const shouldDownloadAsText = (contentType
|
|
103
|
+
const shouldDownloadAsText = function (contentType) {
|
|
104
|
+
if (contentType === void 0) {
|
|
105
|
+
contentType = '';
|
|
106
|
+
}
|
|
107
|
+
return /(json|xml|yaml|text)\b/.test(contentType);
|
|
108
|
+
};
|
|
101
109
|
exports.shouldDownloadAsText = shouldDownloadAsText;
|
|
102
110
|
function parseBody(body, contentType) {
|
|
103
111
|
if (contentType && (contentType.indexOf('application/json') === 0 || contentType.indexOf('+json') > 0)) {
|
|
@@ -107,9 +115,10 @@ function parseBody(body, contentType) {
|
|
|
107
115
|
}
|
|
108
116
|
|
|
109
117
|
// Serialize the response, returns a promise with headers and the body part of the hash
|
|
110
|
-
function serializeRes(oriRes, url, {
|
|
111
|
-
|
|
112
|
-
|
|
118
|
+
function serializeRes(oriRes, url, _temp) {
|
|
119
|
+
let {
|
|
120
|
+
loadSpec = false
|
|
121
|
+
} = _temp === void 0 ? {} : _temp;
|
|
113
122
|
const res = {
|
|
114
123
|
ok: oriRes.ok,
|
|
115
124
|
url: oriRes.url || url,
|
|
@@ -145,9 +154,13 @@ function serializeHeaderValue(value) {
|
|
|
145
154
|
// eg: Cookie: one
|
|
146
155
|
// Cookie: two
|
|
147
156
|
// = { Cookie: [ "one", "two" ]
|
|
148
|
-
function serializeHeaders(headers
|
|
157
|
+
function serializeHeaders(headers) {
|
|
158
|
+
if (headers === void 0) {
|
|
159
|
+
headers = {};
|
|
160
|
+
}
|
|
149
161
|
if (typeof headers.entries !== 'function') return {};
|
|
150
|
-
return Array.from(headers.entries()).reduce((acc,
|
|
162
|
+
return Array.from(headers.entries()).reduce((acc, _ref) => {
|
|
163
|
+
let [header, value] = _ref;
|
|
151
164
|
acc[header] = serializeHeaderValue(value);
|
|
152
165
|
return acc;
|
|
153
166
|
}, {});
|
|
@@ -198,7 +211,13 @@ const SEPARATORS = {
|
|
|
198
211
|
* is defined within the Media Type Object (OpenAPI 3.x.y).
|
|
199
212
|
*/
|
|
200
213
|
class FileWithData extends _formdataNode.File {
|
|
201
|
-
constructor(data, name
|
|
214
|
+
constructor(data, name, options) {
|
|
215
|
+
if (name === void 0) {
|
|
216
|
+
name = '';
|
|
217
|
+
}
|
|
218
|
+
if (options === void 0) {
|
|
219
|
+
options = {};
|
|
220
|
+
}
|
|
202
221
|
super([data], name, options);
|
|
203
222
|
this.data = data;
|
|
204
223
|
}
|
|
@@ -218,7 +237,10 @@ class FileWithData extends _formdataNode.File {
|
|
|
218
237
|
// Return value example 4: [['color', 'R,100,G,200,B,150']]
|
|
219
238
|
// Return value example 5: [['R', '100'], ['G', '200'], ['B', '150']]
|
|
220
239
|
// Return value example 6: [['color[R]', '100'], ['color[G]', '200'], ['color[B]', '150']]
|
|
221
|
-
function formatKeyValue(key, input, skipEncoding
|
|
240
|
+
function formatKeyValue(key, input, skipEncoding) {
|
|
241
|
+
if (skipEncoding === void 0) {
|
|
242
|
+
skipEncoding = false;
|
|
243
|
+
}
|
|
222
244
|
const {
|
|
223
245
|
collectionFormat,
|
|
224
246
|
allowEmptyValue,
|
|
@@ -356,7 +378,8 @@ function buildFormData(reqForm) {
|
|
|
356
378
|
* @param {Object} reqForm - ori req.form
|
|
357
379
|
* @return {FormData} - new FormData instance
|
|
358
380
|
*/
|
|
359
|
-
return Object.entries(reqForm).reduce((formData,
|
|
381
|
+
return Object.entries(reqForm).reduce((formData, _ref2) => {
|
|
382
|
+
let [name, input] = _ref2;
|
|
360
383
|
// eslint-disable-next-line no-restricted-syntax
|
|
361
384
|
for (const [key, value] of formatKeyValue(name, input, true)) {
|
|
362
385
|
if (Array.isArray(value)) {
|
|
@@ -407,13 +430,19 @@ function encodeFormOrQuery(data) {
|
|
|
407
430
|
|
|
408
431
|
// If the request has a `query` object, merge it into the request.url, and delete the object
|
|
409
432
|
// If file and/or multipart, also create FormData instance
|
|
410
|
-
function mergeInQueryOrForm(req
|
|
433
|
+
function mergeInQueryOrForm(req) {
|
|
434
|
+
if (req === void 0) {
|
|
435
|
+
req = {};
|
|
436
|
+
}
|
|
411
437
|
const {
|
|
412
438
|
url = '',
|
|
413
439
|
query,
|
|
414
440
|
form
|
|
415
441
|
} = req;
|
|
416
|
-
const joinSearch = (
|
|
442
|
+
const joinSearch = function () {
|
|
443
|
+
for (var _len = arguments.length, strs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
444
|
+
strs[_key] = arguments[_key];
|
|
445
|
+
}
|
|
417
446
|
const search = strs.filter(a => a).join('&'); // Only truthy value
|
|
418
447
|
return search ? `?${search}` : ''; // Only add '?' if there is a str
|
|
419
448
|
};
|
|
@@ -428,7 +457,8 @@ function mergeInQueryOrForm(req = {}) {
|
|
|
428
457
|
const contentType = req.headers['content-type'] || req.headers['Content-Type'];
|
|
429
458
|
if (hasFile || /multipart\/form-data/i.test(contentType)) {
|
|
430
459
|
const formdata = buildFormData(req.form);
|
|
431
|
-
|
|
460
|
+
req.formdata = formdata;
|
|
461
|
+
req.body = formdata;
|
|
432
462
|
} else {
|
|
433
463
|
req.body = encodeFormOrQuery(form);
|
|
434
464
|
}
|
package/lib/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
|
|
3
5
|
exports.__esModule = true;
|
|
4
6
|
exports.helpers = exports.default = void 0;
|
|
5
|
-
var _url = _interopRequireDefault(require("url"));
|
|
6
7
|
var _index = _interopRequireWildcard(require("./http/index.js"));
|
|
7
8
|
var _index2 = require("./resolver/index.js");
|
|
8
9
|
var _index3 = require("./subtree-resolver/index.js");
|
|
@@ -19,14 +20,8 @@ var _index12 = _interopRequireDefault(require("./resolver/apidom/reference/parse
|
|
|
19
20
|
var _index13 = _interopRequireDefault(require("./resolver/apidom/reference/parse/parsers/openapi-json-3-1/index.js"));
|
|
20
21
|
var _index14 = _interopRequireDefault(require("./resolver/apidom/reference/parse/parsers/openapi-yaml-3-1/index.js"));
|
|
21
22
|
var _index15 = _interopRequireDefault(require("./resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/index.js"));
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
27
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
28
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
29
|
-
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /* eslint-disable camelcase */
|
|
23
|
+
/* eslint-disable camelcase */
|
|
24
|
+
|
|
30
25
|
Swagger.http = _index.default;
|
|
31
26
|
Swagger.makeHttp = _index.makeHttp.bind(null, Swagger.http);
|
|
32
27
|
Swagger.resolveStrategies = {
|
|
@@ -71,7 +66,10 @@ Swagger.apidom = {
|
|
|
71
66
|
}
|
|
72
67
|
}
|
|
73
68
|
};
|
|
74
|
-
function Swagger(url, opts
|
|
69
|
+
function Swagger(url, opts) {
|
|
70
|
+
if (opts === void 0) {
|
|
71
|
+
opts = {};
|
|
72
|
+
}
|
|
75
73
|
// Allow url as a separate argument
|
|
76
74
|
if (typeof url === 'string') {
|
|
77
75
|
opts.url = url;
|
|
@@ -97,7 +95,7 @@ Swagger.prototype = {
|
|
|
97
95
|
http: _index.default,
|
|
98
96
|
execute(options) {
|
|
99
97
|
this.applyDefaults();
|
|
100
|
-
return Swagger.execute(
|
|
98
|
+
return Swagger.execute({
|
|
101
99
|
spec: this.spec,
|
|
102
100
|
http: this.http,
|
|
103
101
|
securities: {
|
|
@@ -105,11 +103,15 @@ Swagger.prototype = {
|
|
|
105
103
|
},
|
|
106
104
|
contextUrl: typeof this.url === 'string' ? this.url : undefined,
|
|
107
105
|
requestInterceptor: this.requestInterceptor || null,
|
|
108
|
-
responseInterceptor: this.responseInterceptor || null
|
|
109
|
-
|
|
106
|
+
responseInterceptor: this.responseInterceptor || null,
|
|
107
|
+
...options
|
|
108
|
+
});
|
|
110
109
|
},
|
|
111
|
-
resolve(options
|
|
112
|
-
|
|
110
|
+
resolve(options) {
|
|
111
|
+
if (options === void 0) {
|
|
112
|
+
options = {};
|
|
113
|
+
}
|
|
114
|
+
return Swagger.resolve({
|
|
113
115
|
spec: this.spec,
|
|
114
116
|
url: this.url,
|
|
115
117
|
http: this.http || this.fetch,
|
|
@@ -117,8 +119,9 @@ Swagger.prototype = {
|
|
|
117
119
|
useCircularStructures: this.useCircularStructures,
|
|
118
120
|
requestInterceptor: this.requestInterceptor || null,
|
|
119
121
|
responseInterceptor: this.responseInterceptor || null,
|
|
120
|
-
skipNormalization: this.skipNormalization || false
|
|
121
|
-
|
|
122
|
+
skipNormalization: this.skipNormalization || false,
|
|
123
|
+
...options
|
|
124
|
+
}).then(obj => {
|
|
122
125
|
this.originalSpec = this.spec;
|
|
123
126
|
this.spec = obj.spec;
|
|
124
127
|
this.errors = obj.errors;
|
|
@@ -133,7 +136,7 @@ Swagger.prototype.applyDefaults = function applyDefaults() {
|
|
|
133
136
|
const specUrl = this.url;
|
|
134
137
|
// TODO: OAS3: support servers here
|
|
135
138
|
if (specUrl && specUrl.startsWith('http')) {
|
|
136
|
-
const parsed =
|
|
139
|
+
const parsed = new URL(specUrl);
|
|
137
140
|
if (!spec.host) {
|
|
138
141
|
spec.host = parsed.host;
|
|
139
142
|
}
|