swagger-client 3.15.0 → 3.18.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 (47) hide show
  1. package/LICENSE +2 -1
  2. package/NOTICE +2 -0
  3. package/README.md +1 -1
  4. package/dist/swagger-client.browser.js +6426 -8544
  5. package/dist/swagger-client.browser.min.js +1 -1
  6. package/dist/swagger-client.browser.min.js.map +1 -1
  7. package/es/commonjs.js +1 -1
  8. package/es/execute/index.js +15 -11
  9. package/es/execute/oas3/build-request.js +5 -3
  10. package/es/execute/oas3/parameter-builders.js +10 -4
  11. package/es/execute/oas3/style-serializer.js +6 -5
  12. package/es/execute/swagger2/build-request.js +5 -3
  13. package/es/helpers.js +12 -8
  14. package/es/http/fold-formdata-to-request.node.js +2 -2
  15. package/es/http/index.js +29 -12
  16. package/es/index.js +12 -11
  17. package/es/interfaces.js +9 -5
  18. package/es/resolver.js +4 -4
  19. package/es/specmap/helpers.js +2 -3
  20. package/es/specmap/index.js +22 -21
  21. package/es/specmap/lib/all-of.js +3 -3
  22. package/es/specmap/lib/parameters.js +1 -1
  23. package/es/specmap/lib/properties.js +1 -1
  24. package/es/specmap/lib/refs.js +17 -13
  25. package/es/subtree-resolver/index.js +2 -2
  26. package/lib/commonjs.js +1 -1
  27. package/lib/execute/index.js +22 -19
  28. package/lib/execute/oas3/build-request.js +11 -8
  29. package/lib/execute/oas3/parameter-builders.js +15 -8
  30. package/lib/execute/oas3/style-serializer.js +5 -7
  31. package/lib/execute/swagger2/build-request.js +9 -4
  32. package/lib/helpers.js +9 -15
  33. package/lib/http/fold-formdata-to-request.node.js +3 -3
  34. package/lib/http/index.js +37 -22
  35. package/lib/index.js +21 -25
  36. package/lib/interfaces.js +22 -17
  37. package/lib/resolver.js +14 -14
  38. package/lib/specmap/helpers.js +3 -5
  39. package/lib/specmap/index.js +32 -34
  40. package/lib/specmap/lib/all-of.js +4 -8
  41. package/lib/specmap/lib/context-tree.js +2 -2
  42. package/lib/specmap/lib/index.js +2 -2
  43. package/lib/specmap/lib/parameters.js +6 -6
  44. package/lib/specmap/lib/properties.js +4 -4
  45. package/lib/specmap/lib/refs.js +17 -17
  46. package/lib/subtree-resolver/index.js +4 -4
  47. package/package.json +28 -31
@@ -6,17 +6,17 @@ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/insta
6
6
  import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
7
7
  import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
8
8
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
9
+ import _URLSearchParams from "@babel/runtime-corejs3/core-js-stable/url-search-params";
9
10
  import 'cross-fetch/polyfill';
10
11
  /* global fetch */
11
12
 
12
13
  import jsYaml from 'js-yaml';
13
- import qs from 'querystring-browser';
14
14
  import url from 'url';
15
- import lib from '.';
16
- import createError from './create-error';
17
- import { isFreelyNamed, absolutifyPointer } from '../helpers';
18
- import { ACCEPT_HEADER_VALUE_FOR_DOCUMENTS } from '../../constants';
19
- var ABSOLUTE_URL_REGEXP = new RegExp('^([a-z]+://|//)', 'i');
15
+ import lib from './index.js';
16
+ import createError from './create-error.js';
17
+ import { isFreelyNamed, absolutifyPointer } from '../helpers.js';
18
+ import { ACCEPT_HEADER_VALUE_FOR_DOCUMENTS } from '../../constants.js';
19
+ var ABSOLUTE_URL_REGEXP = /^([a-z]+:\/\/|\/\/)/i;
20
20
  var JSONRefError = createError('JSONRefError', function cb(message, extra, oriError) {
21
21
  this.originalError = oriError;
22
22
 
@@ -456,7 +456,8 @@ function unescapeJsonPointerToken(token) {
456
456
  return token;
457
457
  }
458
458
 
459
- return qs.unescape(token.replace(/~1/g, '/').replace(/~0/g, '~'));
459
+ var params = new _URLSearchParams("=".concat(token.replace(/~1/g, '/').replace(/~0/g, '~')));
460
+ return params.get('');
460
461
  }
461
462
  /**
462
463
  * Escapes a JSON pointer.
@@ -465,7 +466,10 @@ function unescapeJsonPointerToken(token) {
465
466
 
466
467
 
467
468
  function escapeJsonPointerToken(token) {
468
- return qs.escape(token.replace(/~/g, '~0').replace(/\//g, '~1'));
469
+ var _context4;
470
+
471
+ var params = new _URLSearchParams([['', token.replace(/~/g, '~0').replace(/\//g, '~1')]]);
472
+ return _sliceInstanceProperty(_context4 = params.toString()).call(_context4, 1);
469
473
  }
470
474
 
471
475
  function arrayToJsonPointer(arr) {
@@ -501,7 +505,7 @@ function pointerIsAParent(pointer, parentPointer) {
501
505
 
502
506
 
503
507
  function pointerAlreadyInPath(pointer, basePath, parent, specmap) {
504
- var _context4, _context6;
508
+ var _context5, _context7;
505
509
 
506
510
  var refs = specmapRefs.get(specmap);
507
511
 
@@ -514,7 +518,7 @@ function pointerAlreadyInPath(pointer, basePath, parent, specmap) {
514
518
 
515
519
  var parentPointer = arrayToJsonPointer(parent);
516
520
 
517
- var fullyQualifiedPointer = _concatInstanceProperty(_context4 = "".concat(basePath || '<specmap-base>', "#")).call(_context4, pointer); // dirty hack to strip `allof/[index]` from the path, in order to avoid cases
521
+ var fullyQualifiedPointer = _concatInstanceProperty(_context5 = "".concat(basePath || '<specmap-base>', "#")).call(_context5, pointer); // dirty hack to strip `allof/[index]` from the path, in order to avoid cases
518
522
  // where we get false negatives because:
519
523
  // - we resolve a path, then
520
524
  // - allOf plugin collapsed `allOf/[index]` out of the path, then
@@ -544,9 +548,9 @@ function pointerAlreadyInPath(pointer, basePath, parent, specmap) {
544
548
 
545
549
  var currPath = '';
546
550
  var hasIndirectCycle = parent.some(function (token) {
547
- var _context5;
551
+ var _context6;
548
552
 
549
- currPath = _concatInstanceProperty(_context5 = "".concat(currPath, "/")).call(_context5, escapeJsonPointerToken(token));
553
+ currPath = _concatInstanceProperty(_context6 = "".concat(currPath, "/")).call(_context6, escapeJsonPointerToken(token));
550
554
  return refs[currPath] && refs[currPath].some(function (ref) {
551
555
  return pointerIsAParent(ref, fullyQualifiedPointer) || pointerIsAParent(fullyQualifiedPointer, ref);
552
556
  });
@@ -558,7 +562,7 @@ function pointerAlreadyInPath(pointer, basePath, parent, specmap) {
558
562
  // No need to store if has cycle, as parent path is a dead-end and won't be checked again.
559
563
 
560
564
 
561
- refs[safeParentPointer] = _concatInstanceProperty(_context6 = refs[safeParentPointer] || []).call(_context6, fullyQualifiedPointer);
565
+ refs[safeParentPointer] = _concatInstanceProperty(_context7 = refs[safeParentPointer] || []).call(_context7, fullyQualifiedPointer);
562
566
  return undefined;
563
567
  }
564
568
  /**
@@ -24,8 +24,8 @@ import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator";
24
24
  //
25
25
  // TODO: move the remarks above into project documentation
26
26
  import get from 'lodash/get';
27
- import resolve from '../resolver';
28
- import { normalizeSwagger } from '../helpers';
27
+ import resolve from '../resolver.js';
28
+ import { normalizeSwagger } from '../helpers.js';
29
29
  export default function resolveSubtree(_x, _x2) {
30
30
  return _resolveSubtree.apply(this, arguments);
31
31
  }
package/lib/commonjs.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  const {
4
4
  default: SwaggerClient
5
- } = require('./index'); // add backwards compatibility with older versions of swagger-ui
5
+ } = require('./index.js'); // add backwards compatibility with older versions of swagger-ui
6
6
  // by exporting one single symbol.
7
7
  // Refs https://github.com/swagger-api/swagger-ui/issues/6210
8
8
 
@@ -1,34 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.execute = execute;
5
- exports.buildRequest = buildRequest;
6
4
  exports.baseUrl = baseUrl;
5
+ exports.buildRequest = buildRequest;
6
+ exports.execute = execute;
7
7
  exports.self = void 0;
8
8
 
9
9
  var _get = _interopRequireDefault(require("lodash/get"));
10
10
 
11
- var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
12
-
13
- var _isArray = _interopRequireDefault(require("lodash/isArray"));
14
-
15
11
  var _url = _interopRequireDefault(require("url"));
16
12
 
17
13
  var _cookie = _interopRequireDefault(require("cookie"));
18
14
 
19
- var _http = _interopRequireWildcard(require("../http"));
15
+ var _isPlainObject = require("is-plain-object");
16
+
17
+ var _index = _interopRequireWildcard(require("../http/index.js"));
20
18
 
21
- var _createError = _interopRequireDefault(require("../specmap/lib/create-error"));
19
+ var _createError = _interopRequireDefault(require("../specmap/lib/create-error.js"));
22
20
 
23
- var _parameterBuilders = _interopRequireDefault(require("./swagger2/parameter-builders"));
21
+ var _parameterBuilders = _interopRequireDefault(require("./swagger2/parameter-builders.js"));
24
22
 
25
- var OAS3_PARAMETER_BUILDERS = _interopRequireWildcard(require("./oas3/parameter-builders"));
23
+ var OAS3_PARAMETER_BUILDERS = _interopRequireWildcard(require("./oas3/parameter-builders.js"));
26
24
 
27
- var _buildRequest = _interopRequireDefault(require("./oas3/build-request"));
25
+ var _buildRequest = _interopRequireDefault(require("./oas3/build-request.js"));
28
26
 
29
- var _buildRequest2 = _interopRequireDefault(require("./swagger2/build-request"));
27
+ var _buildRequest2 = _interopRequireDefault(require("./swagger2/build-request.js"));
30
28
 
31
- var _helpers = require("../helpers");
29
+ var _helpers = require("../helpers.js");
32
30
 
33
31
  const _excluded = ["http", "fetch", "spec", "operationId", "pathName", "method", "parameters", "securities"];
34
32
 
@@ -38,9 +36,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
38
36
 
39
37
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
38
 
41
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
39
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
42
40
 
43
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
41
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
44
42
 
45
43
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
46
44
 
@@ -99,7 +97,7 @@ function execute(_ref) {
99
97
  extras = _objectWithoutProperties(_ref, _excluded);
100
98
 
101
99
  // Provide default fetch implementation
102
- const http = userHttp || fetch || _http.default; // Default to _our_ http
100
+ const http = userHttp || fetch || _index.default; // Default to _our_ http
103
101
 
104
102
  if (pathName && method && !operationId) {
105
103
  operationId = (0, _helpers.legacyIdFromPathMethod)(pathName, method);
@@ -113,7 +111,7 @@ function execute(_ref) {
113
111
  http
114
112
  }, extras));
115
113
 
116
- if (request.body && ((0, _isPlainObject.default)(request.body) || (0, _isArray.default)(request.body))) {
114
+ if (request.body && ((0, _isPlainObject.isPlainObject)(request.body) || Array.isArray(request.body))) {
117
115
  request.body = JSON.stringify(request.body);
118
116
  } // Build request and execute it
119
117
 
@@ -134,7 +132,8 @@ function buildRequest(options) {
134
132
  userFetch,
135
133
  server,
136
134
  serverVariables,
137
- http
135
+ http,
136
+ signal
138
137
  } = options;
139
138
  let {
140
139
  parameters,
@@ -161,6 +160,10 @@ function buildRequest(options) {
161
160
  cookies: {}
162
161
  };
163
162
 
163
+ if (signal) {
164
+ req.signal = signal;
165
+ }
166
+
164
167
  if (requestInterceptor) {
165
168
  req.requestInterceptor = requestInterceptor;
166
169
  }
@@ -304,7 +307,7 @@ function buildRequest(options) {
304
307
  // ... will also create a FormData instance, if multipart/form-data (eg: a file)
305
308
 
306
309
 
307
- (0, _http.mergeInQueryOrForm)(req);
310
+ (0, _index.mergeInQueryOrForm)(req);
308
311
  return req;
309
312
  }
310
313
 
@@ -1,21 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = buildRequest;
5
4
  exports.applySecurities = applySecurities;
5
+ exports.default = buildRequest;
6
6
 
7
- var _assign = _interopRequireDefault(require("lodash/assign"));
7
+ var _isPlainObject = require("is-plain-object");
8
8
 
9
9
  var _get = _interopRequireDefault(require("lodash/get"));
10
10
 
11
- var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
12
-
13
11
  var _btoa = _interopRequireDefault(require("btoa"));
14
12
 
15
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
14
 
17
- // This function runs after the common function,
18
- // `src/execute/index.js#buildRequest`
15
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
+
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
+
19
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
+
19
21
  function buildRequest(options, req) {
20
22
  const {
21
23
  operation,
@@ -56,7 +58,7 @@ function buildRequest(options, req) {
56
58
  if (!options.responseContentType && operation.responses) {
57
59
  const mediaTypes = Object.entries(operation.responses).filter(([key, value]) => {
58
60
  const code = parseInt(key, 10);
59
- return code >= 200 && code < 300 && (0, _isPlainObject.default)(value.content);
61
+ return code >= 200 && code < 300 && (0, _isPlainObject.isPlainObject)(value.content);
60
62
  }).reduce((acc, [, value]) => acc.concat(Object.keys(value.content)), []);
61
63
 
62
64
  if (mediaTypes.length > 0) {
@@ -103,7 +105,8 @@ function applySecurities({
103
105
  operation = {},
104
106
  spec
105
107
  }) {
106
- const result = (0, _assign.default)({}, request);
108
+ const result = _objectSpread({}, request);
109
+
107
110
  const {
108
111
  authorized = {}
109
112
  } = securities;
@@ -1,23 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ exports.cookie = cookie;
5
+ exports.header = header;
4
6
  exports.path = path;
5
7
  exports.query = query;
6
- exports.header = header;
7
- exports.cookie = cookie;
8
8
 
9
- var _pick = _interopRequireDefault(require("lodash/pick"));
9
+ var _styleSerializer = _interopRequireWildcard(require("./style-serializer.js"));
10
10
 
11
- var _styleSerializer = _interopRequireWildcard(require("./style-serializer"));
11
+ var _contentSerializer = _interopRequireDefault(require("./content-serializer.js"));
12
12
 
13
- var _contentSerializer = _interopRequireDefault(require("./content-serializer"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
 
15
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
16
 
17
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
18
 
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
-
21
19
  function path({
22
20
  req,
23
21
  value,
@@ -70,9 +68,18 @@ function query({
70
68
  }
71
69
 
72
70
  if (value) {
71
+ const {
72
+ style,
73
+ explode,
74
+ allowReserved
75
+ } = parameter;
73
76
  req.query[parameter.name] = {
74
77
  value,
75
- serializationOption: (0, _pick.default)(parameter, ['style', 'explode', 'allowReserved'])
78
+ serializationOption: {
79
+ style,
80
+ explode,
81
+ allowReserved
82
+ }
76
83
  };
77
84
  } else if (parameter.allowEmptyValue && value !== undefined) {
78
85
  const paramName = parameter.name;
@@ -1,16 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.encodeDisallowedCharacters = encodeDisallowedCharacters;
5
4
  exports.default = stylize;
6
-
7
- const {
8
- Buffer
9
- } = require('buffer');
5
+ exports.encodeDisallowedCharacters = encodeDisallowedCharacters;
10
6
 
11
7
  const isRfc3986Reserved = char => ":/?#[]@!$&'()*+,;=".indexOf(char) > -1;
12
8
 
13
- const isRrc3986Unreserved = char => /^[a-z0-9\-._~]+$/i.test(char);
9
+ const isRrc3986Unreserved = char => /^[a-z0-9\-._~]+$/i.test(char); // eslint-disable-next-line default-param-last
10
+
14
11
 
15
12
  function encodeDisallowedCharacters(str, {
16
13
  escape
@@ -44,7 +41,8 @@ function encodeDisallowedCharacters(str, {
44
41
  return char;
45
42
  }
46
43
 
47
- const encoded = (Buffer.from(char).toJSON().data || []).map(byte => `0${byte.toString(16).toUpperCase()}`.slice(-2)).map(encodedByte => `%${encodedByte}`).join('');
44
+ const encoder = new TextEncoder();
45
+ const encoded = Array.from(encoder.encode(char)).map(byte => `0${byte.toString(16).toUpperCase()}`.slice(-2)).map(encodedByte => `%${encodedByte}`).join('');
48
46
  return encoded;
49
47
  }).join('');
50
48
  }
@@ -1,15 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = buildRequest;
5
4
  exports.applySecurities = applySecurities;
5
+ exports.default = buildRequest;
6
6
 
7
7
  var _btoa = _interopRequireDefault(require("btoa"));
8
8
 
9
- var _assign = _interopRequireDefault(require("lodash/assign"));
10
-
11
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
10
 
11
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
+
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
+
15
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+
13
17
  // This function runs after the common function,
14
18
  // `src/execute/index.js#buildRequest`
15
19
  function buildRequest(options, req) {
@@ -65,7 +69,8 @@ function applySecurities({
65
69
  operation = {},
66
70
  spec
67
71
  }) {
68
- const result = (0, _assign.default)({}, request);
72
+ const result = _objectSpread({}, request);
73
+
69
74
  const {
70
75
  authorized = {},
71
76
  specSecurity = []
package/lib/helpers.js CHANGED
@@ -1,21 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ exports.eachOperation = eachOperation;
5
+ exports.findOperation = findOperation;
6
+ exports.getOperationRaw = getOperationRaw;
7
+ exports.idFromPathMethod = idFromPathMethod;
4
8
  exports.isOAS3 = isOAS3;
5
9
  exports.isSwagger2 = isSwagger2;
6
- exports.opId = opId;
7
- exports.idFromPathMethod = idFromPathMethod;
8
10
  exports.legacyIdFromPathMethod = legacyIdFromPathMethod;
9
- exports.getOperationRaw = getOperationRaw;
10
- exports.findOperation = findOperation;
11
- exports.eachOperation = eachOperation;
12
11
  exports.normalizeSwagger = normalizeSwagger;
13
-
14
- var _isObject = _interopRequireDefault(require("lodash/isObject"));
15
-
16
- var _startsWith = _interopRequireDefault(require("lodash/startsWith"));
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ exports.opId = opId;
19
13
 
20
14
  const toLower = str => String.prototype.toLowerCase.call(str);
21
15
 
@@ -29,7 +23,7 @@ function isOAS3(spec) {
29
23
  return false;
30
24
  }
31
25
 
32
- return (0, _startsWith.default)(oasVersion, '3');
26
+ return oasVersion.startsWith('3');
33
27
  }
34
28
 
35
29
  function isSwagger2(spec) {
@@ -39,7 +33,7 @@ function isSwagger2(spec) {
39
33
  return false;
40
34
  }
41
35
 
42
- return (0, _startsWith.default)(swaggerVersion, '2');
36
+ return swaggerVersion.startsWith('2');
43
37
  } // Strategy for determining operationId
44
38
 
45
39
 
@@ -168,7 +162,7 @@ function normalizeSwagger(parsedSpec) {
168
162
  for (const pathName in paths) {
169
163
  const path = paths[pathName];
170
164
 
171
- if (!(0, _isObject.default)(path)) {
165
+ if (path == null || !['object', 'function'].includes(typeof path)) {
172
166
  continue; // eslint-disable-line no-continue
173
167
  }
174
168
 
@@ -177,7 +171,7 @@ function normalizeSwagger(parsedSpec) {
177
171
  for (const method in path) {
178
172
  const operation = path[method];
179
173
 
180
- if (!(0, _isObject.default)(operation)) {
174
+ if (path == null || !['object', 'function'].includes(typeof path)) {
181
175
  continue; // eslint-disable-line no-continue
182
176
  }
183
177
 
@@ -7,9 +7,9 @@ var _stream = require("stream");
7
7
 
8
8
  var _formDataEncoder = require("form-data-encoder");
9
9
 
10
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
11
 
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
12
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
13
 
14
14
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
15
 
@@ -21,7 +21,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
21
21
  * TODO(vladimir.gorej@gmail.com): this can be removed when migrated to node-fetch@3.x
22
22
  */
23
23
  const foldFormDataToRequest = (formdata, request) => {
24
- const encoder = new _formDataEncoder.Encoder(formdata);
24
+ const encoder = new _formDataEncoder.FormDataEncoder(formdata);
25
25
 
26
26
  const readableStream = _stream.Readable.from(encoder); // get rid of previous headers
27
27
 
package/lib/http/index.js CHANGED
@@ -2,13 +2,14 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.default = http;
5
- exports.serializeRes = serializeRes;
6
- exports.serializeHeaders = serializeHeaders;
7
- exports.isFile = isFile;
8
5
  exports.encodeFormOrQuery = encodeFormOrQuery;
9
- exports.mergeInQueryOrForm = mergeInQueryOrForm;
6
+ exports.isFile = isFile;
10
7
  exports.makeHttp = makeHttp;
11
- exports.shouldDownloadAsText = exports.self = void 0;
8
+ exports.mergeInQueryOrForm = mergeInQueryOrForm;
9
+ exports.self = void 0;
10
+ exports.serializeHeaders = serializeHeaders;
11
+ exports.serializeRes = serializeRes;
12
+ exports.shouldDownloadAsText = void 0;
12
13
 
13
14
  require("cross-fetch/polyfill");
14
15
 
@@ -16,17 +17,11 @@ var _qs = _interopRequireDefault(require("qs"));
16
17
 
17
18
  var _jsYaml = _interopRequireDefault(require("js-yaml"));
18
19
 
19
- var _pick = _interopRequireDefault(require("lodash/pick"));
20
-
21
- var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
22
-
23
- var _buffer = require("buffer");
24
-
25
20
  var _formdataNode = require("formdata-node");
26
21
 
27
- var _styleSerializer = require("../execute/oas3/style-serializer");
22
+ var _styleSerializer = require("../execute/oas3/style-serializer.js");
28
23
 
29
- var _foldFormdataToRequest = _interopRequireDefault(require("./fold-formdata-to-request.node"));
24
+ var _foldFormdataToRequestNode = _interopRequireDefault(require("./fold-formdata-to-request.node.js"));
30
25
 
31
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
27
 
@@ -171,7 +166,7 @@ function serializeHeaderValue(value) {
171
166
 
172
167
 
173
168
  function serializeHeaders(headers = {}) {
174
- if (!(0, _isFunction.default)(headers.entries)) return {};
169
+ if (typeof headers.entries !== 'function') return {};
175
170
  return Array.from(headers.entries()).reduce((acc, [header, value]) => {
176
171
  acc[header] = serializeHeaderValue(value);
177
172
  return acc;
@@ -192,17 +187,15 @@ function isFile(obj, navigatorObj) {
192
187
  return false;
193
188
  }
194
189
 
195
- if (typeof File !== 'undefined' && obj instanceof File) {
196
- // eslint-disable-line no-undef
190
+ if (typeof _formdataNode.File !== 'undefined' && obj instanceof _formdataNode.File) {
197
191
  return true;
198
192
  }
199
193
 
200
- if (typeof Blob !== 'undefined' && obj instanceof Blob) {
201
- // eslint-disable-line no-undef
194
+ if (typeof _formdataNode.Blob !== 'undefined' && obj instanceof _formdataNode.Blob) {
202
195
  return true;
203
196
  }
204
197
 
205
- if (typeof _buffer.Buffer !== 'undefined' && obj instanceof _buffer.Buffer) {
198
+ if (ArrayBuffer.isView(obj)) {
206
199
  return true;
207
200
  }
208
201
 
@@ -261,7 +254,16 @@ function formatKeyValue(key, input, skipEncoding = false) {
261
254
 
262
255
  if (encoding) {
263
256
  if ([typeof encoding.style, typeof encoding.explode, typeof encoding.allowReserved].some(type => type !== 'undefined')) {
264
- return formatKeyValueBySerializationOption(key, value, skipEncoding, (0, _pick.default)(encoding, ['style', 'explode', 'allowReserved']));
257
+ const {
258
+ style,
259
+ explode,
260
+ allowReserved
261
+ } = encoding;
262
+ return formatKeyValueBySerializationOption(key, value, skipEncoding, {
263
+ style,
264
+ explode,
265
+ allowReserved
266
+ });
265
267
  }
266
268
 
267
269
  if (encoding.contentType) {
@@ -355,6 +357,11 @@ function buildFormData(reqForm) {
355
357
  * Build a new FormData instance, support array as field value
356
358
  * OAS2.0 - when collectionFormat is multi
357
359
  * OAS3.0 - when explode of Encoding Object is true
360
+ *
361
+ * This function explicitly handles Buffers (for backward compatibility)
362
+ * if provided as a values to FormData. FormData can only handle USVString
363
+ * or Blob.
364
+ *
358
365
  * @param {Object} reqForm - ori req.form
359
366
  * @return {FormData} - new FormData instance
360
367
  */
@@ -364,8 +371,16 @@ function buildFormData(reqForm) {
364
371
  if (Array.isArray(value)) {
365
372
  // eslint-disable-next-line no-restricted-syntax
366
373
  for (const v of value) {
367
- formData.append(key, v);
374
+ if (ArrayBuffer.isView(v)) {
375
+ const blob = new _formdataNode.Blob([v]);
376
+ formData.append(key, blob);
377
+ } else {
378
+ formData.append(key, v);
379
+ }
368
380
  }
381
+ } else if (ArrayBuffer.isView(value)) {
382
+ const blob = new _formdataNode.Blob([value]);
383
+ formData.append(key, blob);
369
384
  } else {
370
385
  formData.append(key, value);
371
386
  }
@@ -423,7 +438,7 @@ function mergeInQueryOrForm(req = {}) {
423
438
 
424
439
  if (hasFile || /multipart\/form-data/i.test(contentType)) {
425
440
  const formdata = buildFormData(req.form);
426
- (0, _foldFormdataToRequest.default)(formdata, req);
441
+ (0, _foldFormdataToRequestNode.default)(formdata, req);
427
442
  } else {
428
443
  req.body = encodeFormOrQuery(form);
429
444
  }