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.
Files changed (91) hide show
  1. package/README.md +19 -2
  2. package/dist/swagger-client.browser.js +13796 -16135
  3. package/dist/swagger-client.browser.min.js +1 -1
  4. package/dist/swagger-client.browser.min.js.map +1 -1
  5. package/es/execute/index.js +53 -27
  6. package/es/execute/oas3/build-request.js +7 -5
  7. package/es/execute/swagger2/build-request.js +3 -2
  8. package/es/helpers/fetch-polyfill.browser.js +13 -0
  9. package/es/helpers/fetch-polyfill.node.js +14 -0
  10. package/es/helpers/fetch-ponyfill-node-fetch.node.js +3 -0
  11. package/es/helpers/fetch-ponyfill-undici.node.js +2 -0
  12. package/es/helpers/fetch-ponyfill.browser.js +8 -0
  13. package/es/http/index.js +10 -9
  14. package/es/index.js +9 -9
  15. package/es/interfaces.js +4 -4
  16. package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/index.js +2 -1
  17. package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/all-of.js +4 -2
  18. package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/dereference.js +26 -18
  19. package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/parameters.js +2 -1
  20. package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/properties.js +2 -1
  21. package/es/resolver/apidom/reference/resolve/resolvers/http-swagger-client/index.js +12 -10
  22. package/es/resolver/index.js +7 -4
  23. package/es/resolver/strategies/openapi-3-1-apidom/normalize.js +1 -1
  24. package/es/specmap/helpers.js +2 -2
  25. package/es/specmap/index.js +6 -4
  26. package/es/specmap/lib/all-of.js +3 -2
  27. package/es/specmap/lib/context-tree.js +4 -2
  28. package/es/specmap/lib/index.js +11 -5
  29. package/es/specmap/lib/parameters.js +3 -2
  30. package/es/specmap/lib/properties.js +3 -2
  31. package/es/specmap/lib/refs.js +2 -2
  32. package/es/subtree-resolver/index.js +8 -6
  33. package/lib/execute/index.js +77 -49
  34. package/lib/execute/oas3/build-request.js +22 -18
  35. package/lib/execute/oas3/parameter-builders.js +26 -23
  36. package/lib/execute/oas3/style-serializer.js +27 -23
  37. package/lib/execute/swagger2/build-request.js +11 -13
  38. package/lib/execute/swagger2/parameter-builders.js +29 -24
  39. package/lib/helpers/fetch-polyfill.browser.js +15 -0
  40. package/lib/helpers/fetch-polyfill.node.js +16 -0
  41. package/lib/helpers/fetch-ponyfill-node-fetch.node.js +9 -0
  42. package/lib/helpers/fetch-ponyfill-undici.node.js +8 -0
  43. package/lib/helpers/fetch-ponyfill.browser.js +15 -0
  44. package/lib/helpers/find-operation.js +1 -1
  45. package/lib/helpers/get-operation-raw.js +7 -6
  46. package/lib/helpers/id-from-path-method/index.js +5 -4
  47. package/lib/helpers/index.js +2 -2
  48. package/lib/helpers/op-id.js +8 -4
  49. package/lib/http/index.js +52 -22
  50. package/lib/index.js +21 -18
  51. package/lib/interfaces.js +49 -36
  52. package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/errors/index.js +1 -1
  53. package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/index.js +12 -12
  54. package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/utils/compose.js +1 -1
  55. package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/all-of.js +9 -8
  56. package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/dereference.js +29 -28
  57. package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/parameters.js +8 -7
  58. package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/properties.js +8 -7
  59. package/lib/resolver/apidom/reference/parse/parsers/openapi-yaml-3-1/index.js +1 -2
  60. package/lib/resolver/apidom/reference/parse/parsers/yaml-1-2/index.js +1 -2
  61. package/lib/resolver/apidom/reference/resolve/resolvers/http-swagger-client/index.js +18 -19
  62. package/lib/resolver/index.js +9 -11
  63. package/lib/resolver/strategies/generic/index.js +5 -4
  64. package/lib/resolver/strategies/generic/normalize.js +1 -1
  65. package/lib/resolver/strategies/generic/resolve.js +2 -3
  66. package/lib/resolver/strategies/openapi-2/index.js +9 -7
  67. package/lib/resolver/strategies/openapi-2/normalize.js +2 -2
  68. package/lib/resolver/strategies/openapi-2/resolve.js +1 -1
  69. package/lib/resolver/strategies/openapi-3-0/index.js +9 -7
  70. package/lib/resolver/strategies/openapi-3-0/normalize.js +2 -2
  71. package/lib/resolver/strategies/openapi-3-0/resolve.js +1 -1
  72. package/lib/resolver/strategies/openapi-3-1-apidom/index.js +10 -9
  73. package/lib/resolver/strategies/openapi-3-1-apidom/normalize.js +2 -2
  74. package/lib/resolver/strategies/openapi-3-1-apidom/resolve.js +2 -3
  75. package/lib/resolver/utils/index.js +4 -1
  76. package/lib/resolver/utils/options.js +1 -1
  77. package/lib/specmap/helpers.js +9 -8
  78. package/lib/specmap/index.js +15 -11
  79. package/lib/specmap/lib/all-of.js +3 -6
  80. package/lib/specmap/lib/context-tree.js +4 -6
  81. package/lib/specmap/lib/create-error.js +4 -1
  82. package/lib/specmap/lib/index.js +13 -12
  83. package/lib/specmap/lib/parameters.js +4 -7
  84. package/lib/specmap/lib/properties.js +4 -7
  85. package/lib/specmap/lib/refs.js +4 -4
  86. package/lib/subtree-resolver/index.js +19 -13
  87. package/package.json +17 -26
  88. package/es/http/fold-formdata-to-request.browser.js +0 -4
  89. package/es/http/fold-formdata-to-request.node.js +0 -29
  90. package/lib/http/fold-formdata-to-request.browser.js +0 -9
  91. package/lib/http/fold-formdata-to-request.node.js +0 -37
@@ -1,15 +1,15 @@
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 = void 0;
5
- require("cross-fetch/polyfill");
6
6
  var _jsYaml = _interopRequireDefault(require("js-yaml"));
7
- var _url = _interopRequireDefault(require("url"));
7
+ var _empty = require("@swagger-api/apidom-reference/configuration/empty");
8
+ require("../../helpers/fetch-polyfill.node.js");
8
9
  var _index = _interopRequireDefault(require("./index.js"));
9
10
  var _createError = _interopRequireDefault(require("./create-error.js"));
10
11
  var _helpers = require("../helpers.js");
11
12
  var _constants = require("../../constants.js");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
  const ABSOLUTE_URL_REGEXP = /^([a-z]+:\/\/|\/\/)/i;
14
14
  const JSONRefError = (0, _createError.default)('JSONRefError', function cb(message, extra, oriError) {
15
15
  this.originalError = oriError;
@@ -212,7 +212,7 @@ function absoluteify(path, basePath) {
212
212
  if (!basePath) {
213
213
  throw new JSONRefError(`Tried to resolve a relative URL, without having a basePath. path: '${path}' basePath: '${basePath}'`);
214
214
  }
215
- return _url.default.resolve(basePath, path);
215
+ return _empty.url.resolve(basePath, path);
216
216
  }
217
217
  return path;
218
218
  }
@@ -1,18 +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.makeResolveSubtree = exports.default = void 0;
5
- var _get = _interopRequireDefault(require("lodash/get"));
6
6
  var _index = _interopRequireDefault(require("../resolver/index.js"));
7
7
  var _index2 = _interopRequireDefault(require("../resolver/strategies/generic/index.js"));
8
8
  var _index3 = _interopRequireDefault(require("../resolver/strategies/openapi-2/index.js"));
9
9
  var _index4 = _interopRequireDefault(require("../resolver/strategies/openapi-3-0/index.js"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- 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; }
12
- 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; }
13
- 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; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
15
- 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); } // The subtree resolver is a higher-level interface that allows you to
10
+ // The subtree resolver is a higher-level interface that allows you to
16
11
  // get the same result that you would from `Swagger.resolve`, but focuses on
17
12
  // a subtree of your object.
18
13
  //
@@ -34,7 +29,11 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
34
29
  // future versions.
35
30
  //
36
31
  // TODO: move the remarks above into project documentation
37
- const resolveSubtree = async (obj, path, options = {}) => {
32
+
33
+ const resolveSubtree = async function (obj, path, options) {
34
+ if (options === void 0) {
35
+ options = {};
36
+ }
38
37
  const {
39
38
  returnEntireTree,
40
39
  baseDoc,
@@ -58,18 +57,25 @@ const resolveSubtree = async (obj, path, options = {}) => {
58
57
  };
59
58
  const strategy = strategies.find(strg => strg.match(resolveOptions));
60
59
  const normalized = strategy.normalize(resolveOptions);
61
- const result = await (0, _index.default)(_objectSpread(_objectSpread({}, resolveOptions), {}, {
60
+ const result = await (0, _index.default)({
61
+ ...resolveOptions,
62
62
  spec: normalized,
63
63
  allowMetaPatches: true,
64
64
  skipNormalization: true
65
- }));
65
+ });
66
66
  if (!returnEntireTree && Array.isArray(path) && path.length) {
67
- result.spec = (0, _get.default)(result.spec, path) || null;
67
+ result.spec = path.reduce((acc, pathSegment) => acc == null ? void 0 : acc[pathSegment], result.spec) || null;
68
68
  }
69
69
  return result;
70
70
  };
71
- const makeResolveSubtree = defaultOptions => async (obj, path, options = {}) => {
72
- const mergedOptions = _objectSpread(_objectSpread({}, defaultOptions), options);
71
+ const makeResolveSubtree = defaultOptions => async function (obj, path, options) {
72
+ if (options === void 0) {
73
+ options = {};
74
+ }
75
+ const mergedOptions = {
76
+ ...defaultOptions,
77
+ ...options
78
+ };
73
79
  return resolveSubtree(obj, path, mergedOptions);
74
80
  };
75
81
  exports.makeResolveSubtree = makeResolveSubtree;
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "swagger-client",
3
- "version": "3.20.1",
3
+ "version": "3.21.0",
4
4
  "description": "SwaggerJS - a collection of interfaces for OAI specs",
5
5
  "browser": {
6
- "./src/http/fold-formdata-to-request.node.js": "./src/http/fold-formdata-to-request.browser.js",
7
- "./lib/http/fold-formdata-to-request.node.js": "./lib/http/fold-formdata-to-request.browser.js",
8
- "./es/http/fold-formdata-to-request.node.js": "./es/http/fold-formdata-to-request.browser.js",
9
6
  "./src/helpers/btoa.node.js": "./src/helpers/btoa.browser.js",
10
7
  "./lib/helpers/btoa.node.js": "./lib/helpers/btoa.browser.js",
11
- "./es/helpers/btoa.node.js": "./es/helpers/btoa.browser.js"
8
+ "./es/helpers/btoa.node.js": "./es/helpers/btoa.browser.js",
9
+ "./src/helpers/fetch-polyfill.node.js": "./src/helpers/fetch-polyfill.browser.js",
10
+ "./es/helpers/fetch-polyfill.node.js": "./es/helpers/fetch-polyfill.browser.js",
11
+ "./lib/helpers/fetch-polyfill.node.js": "./lib/helpers/fetch-polyfill.browser.js"
12
12
  },
13
13
  "main": "lib/commonjs.js",
14
14
  "module": "es/index.js",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "scripts": {
42
42
  "analyze:umd:browser": "source-map-explorer 'dist/swagger-client.browser.min.js'",
43
- "prepublishOnly": "npm run clean && npm run lint && npm run test && npm run build && node ./scripts/overrides.js",
43
+ "prepublishOnly": "npm run clean && npm run lint && npm run test && npm run build",
44
44
  "build": "run-s build:umd:browser build:commonjs build:es",
45
45
  "build:umd:browser": "cross-env BABEL_ENV=browser webpack --progress --config config/webpack/browser.config.babel.js",
46
46
  "build:commonjs": "cross-env BABEL_ENV=commonjs babel src --out-dir lib",
@@ -71,24 +71,19 @@
71
71
  "devDependencies": {
72
72
  "@babel/cli": "^7.21.0",
73
73
  "@babel/core": "^7.21.0",
74
- "@babel/plugin-proposal-class-properties": "^7.18.6",
75
- "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
76
74
  "@babel/plugin-transform-runtime": "^7.21.0",
77
75
  "@babel/preset-env": "^7.20.2",
78
76
  "@babel/register": "^7.21.0",
79
77
  "@commitlint/cli": "^17.0.0",
80
78
  "@commitlint/config-conventional": "^17.0.0",
81
- "abort-controller": "^3.0.0",
82
79
  "babel-loader": "=9.1.3",
83
- "babel-plugin-lodash": "=3.3.4",
84
80
  "cross-env": "=7.0.3",
85
81
  "eslint": "^8.42.0",
86
82
  "eslint-config-airbnb-base": "^15.0.0",
87
- "eslint-config-prettier": "=8.10.0",
83
+ "eslint-config-prettier": "=9.0.0",
88
84
  "eslint-plugin-import": "=2.28.1",
89
85
  "eslint-plugin-prettier": "=5.0.0",
90
86
  "expect": "^29.0.3",
91
- "fetch-mock": "=9.11.0",
92
87
  "glob": "=10.3.4",
93
88
  "husky": "^8.0.1",
94
89
  "inspectpack": "=4.7.1",
@@ -98,9 +93,7 @@
98
93
  "json-loader": "=0.5.7",
99
94
  "license-checker": "=25.0.1",
100
95
  "lint-staged": "=14.0.1",
101
- "lodash-webpack-plugin": "=0.11.6",
102
- "nock": "=13.3.3",
103
- "node-fetch": "^2.6.7",
96
+ "lodash": "^4.17.21",
104
97
  "npm-run-all": "=4.1.5",
105
98
  "prettier": "^3.0.0",
106
99
  "rimraf": "=5.0.1",
@@ -109,27 +102,25 @@
109
102
  "webpack": "=5.88.2",
110
103
  "webpack-bundle-size-analyzer": "=3.1.0",
111
104
  "webpack-cli": "=5.1.4",
112
- "webpack-stats-plugin": "=1.1.3",
113
- "xmock": "=0.3.0"
105
+ "webpack-stats-plugin": "=1.1.3"
114
106
  },
115
107
  "dependencies": {
116
- "@babel/runtime-corejs3": "^7.20.13",
117
- "@swagger-api/apidom-core": ">=0.76.1 <1.0.0",
118
- "@swagger-api/apidom-json-pointer": ">=0.76.1 <1.0.0",
119
- "@swagger-api/apidom-ns-openapi-3-1": ">=0.76.1 <1.0.0",
120
- "@swagger-api/apidom-reference": ">=0.76.1 <1.0.0",
108
+ "@babel/runtime-corejs3": "^7.22.15",
109
+ "@swagger-api/apidom-core": ">=0.76.2 <1.0.0",
110
+ "@swagger-api/apidom-json-pointer": ">=0.76.2 <1.0.0",
111
+ "@swagger-api/apidom-ns-openapi-3-1": ">=0.76.2 <1.0.0",
112
+ "@swagger-api/apidom-reference": ">=0.76.2 <1.0.0",
113
+ "abort-controller": "^3.0.0",
121
114
  "cookie": "~0.5.0",
122
- "cross-fetch": "^3.1.5",
123
115
  "deepmerge": "~4.3.0",
124
116
  "fast-json-patch": "^3.0.0-1",
125
- "form-data-encoder": "^1.4.3",
126
117
  "formdata-node": "^4.0.0",
127
118
  "is-plain-object": "^5.0.0",
128
119
  "js-yaml": "^4.1.0",
129
- "lodash": "^4.17.21",
120
+ "node-fetch-commonjs": "^3.3.1",
130
121
  "qs": "^6.10.2",
131
122
  "traverse": "~0.6.6",
132
- "url": "~0.11.0"
123
+ "undici": "^5.24.0"
133
124
  },
134
125
  "overrides": {
135
126
  "@swagger-api/apidom-reference": {
@@ -1,4 +0,0 @@
1
- const foldFormDataToRequest = (formdata, request) => {
2
- request.body = formdata;
3
- };
4
- export default foldFormDataToRequest;
@@ -1,29 +0,0 @@
1
- import _objectSpread from "@babel/runtime-corejs3/helpers/objectSpread2";
2
- import { Readable } from 'stream';
3
- import { FormDataEncoder } from 'form-data-encoder';
4
-
5
- /**
6
- * formdata-node works in node-fetch@2.x via form-data-encoder only.
7
- * FormData instance is converted to Encoder instance which gets converted
8
- * to Readable Stream.
9
- *
10
- * TODO(vladimir.gorej@gmail.com): this can be removed when migrated to node-fetch@3.x
11
- */
12
- const foldFormDataToRequest = (formdata, request) => {
13
- const encoder = new FormDataEncoder(formdata);
14
- const readableStream = Readable.from(encoder);
15
-
16
- // get rid of previous headers
17
- delete request.headers['content-type'];
18
- delete request.headers['Content-Type'];
19
-
20
- // set computed headers
21
- request.headers = _objectSpread(_objectSpread({}, request.headers), encoder.headers);
22
-
23
- // set FormData instance to request for debugging purposes
24
- request.formdata = formdata;
25
-
26
- // assign readable stream as request body
27
- request.body = readableStream;
28
- };
29
- export default foldFormDataToRequest;
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.default = void 0;
5
- const foldFormDataToRequest = (formdata, request) => {
6
- request.body = formdata;
7
- };
8
- var _default = foldFormDataToRequest;
9
- exports.default = _default;
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.default = void 0;
5
- var _stream = require("stream");
6
- var _formDataEncoder = require("form-data-encoder");
7
- 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; }
8
- 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; }
9
- 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; }
10
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
11
- 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); }
12
- /**
13
- * formdata-node works in node-fetch@2.x via form-data-encoder only.
14
- * FormData instance is converted to Encoder instance which gets converted
15
- * to Readable Stream.
16
- *
17
- * TODO(vladimir.gorej@gmail.com): this can be removed when migrated to node-fetch@3.x
18
- */
19
- const foldFormDataToRequest = (formdata, request) => {
20
- const encoder = new _formDataEncoder.FormDataEncoder(formdata);
21
- const readableStream = _stream.Readable.from(encoder);
22
-
23
- // get rid of previous headers
24
- delete request.headers['content-type'];
25
- delete request.headers['Content-Type'];
26
-
27
- // set computed headers
28
- request.headers = _objectSpread(_objectSpread({}, request.headers), encoder.headers);
29
-
30
- // set FormData instance to request for debugging purposes
31
- request.formdata = formdata;
32
-
33
- // assign readable stream as request body
34
- request.body = readableStream;
35
- };
36
- var _default = foldFormDataToRequest;
37
- exports.default = _default;