swagger-client 3.25.3 → 3.25.4

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.
@@ -2401,7 +2401,7 @@ __webpack_require__.r(__webpack_exports__);
2401
2401
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33501);
2402
2402
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9999);
2403
2403
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(87024);
2404
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(75356);
2404
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(15461);
2405
2405
  /* harmony import */ var _swagger_api_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3117);
2406
2406
  /* harmony import */ var _swagger_api_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(70281);
2407
2407
  /* harmony import */ var _utils_compose_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79170);
@@ -4389,7 +4389,7 @@ __webpack_require__.r(__webpack_exports__);
4389
4389
 
4390
4390
 
4391
4391
  const PLUGIN_DISPATCH_LIMIT = 100;
4392
- const TRAVERSE_LIMIT = 1000;
4392
+ const TRAVERSE_LIMIT = 3000;
4393
4393
  const noop = () => {};
4394
4394
  class SpecMap {
4395
4395
  static getPluginName(plugin) {
@@ -4418,8 +4418,7 @@ class SpecMap {
4418
4418
  libMethods: Object.assign(Object.create(this), _lib_index_js__WEBPACK_IMPORTED_MODULE_0__["default"], {
4419
4419
  getInstance: () => this
4420
4420
  }),
4421
- allowMetaPatches: false,
4422
- currentTraverseCount: 0
4421
+ allowMetaPatches: false
4423
4422
  }, opts);
4424
4423
 
4425
4424
  // Lib methods bound
@@ -4448,7 +4447,6 @@ class SpecMap {
4448
4447
  const {
4449
4448
  pathDiscriminator
4450
4449
  } = this;
4451
- const that = this;
4452
4450
  let ctx = null;
4453
4451
  let fn;
4454
4452
  if (plugin[this.pluginProp]) {
@@ -4479,15 +4477,14 @@ class SpecMap {
4479
4477
  const refCache = {};
4480
4478
 
4481
4479
  // eslint-disable-next-line no-restricted-syntax
4482
- for (const patch of patches.filter(_lib_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].isAdditiveMutation)) {
4483
- if (that.currentTraverseCount < TRAVERSE_LIMIT) {
4480
+ for (const [i, patch] of patches.filter(_lib_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].isAdditiveMutation).entries()) {
4481
+ if (i < TRAVERSE_LIMIT) {
4484
4482
  yield* traverse(patch.value, patch.path, patch);
4485
4483
  } else {
4486
4484
  return;
4487
4485
  }
4488
4486
  }
4489
4487
  function* traverse(obj, path, patch) {
4490
- that.currentTraverseCount += 1;
4491
4488
  if (!_lib_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) {
4492
4489
  if (pluginObj.key === path[path.length - 1]) {
4493
4490
  yield pluginObj.plugin(obj, pluginObj.key, path, specmap);
@@ -4511,11 +4508,7 @@ class SpecMap {
4511
4508
  if (specmap.allowMetaPatches && objRef) {
4512
4509
  refCache[objRef] = true;
4513
4510
  }
4514
- if (that.currentTraverseCount < TRAVERSE_LIMIT) {
4515
- yield* traverse(val, updatedPath, patch);
4516
- } else {
4517
- return;
4518
- }
4511
+ yield* traverse(val, updatedPath, patch);
4519
4512
  }
4520
4513
  }
4521
4514
  if (!isRootProperties && key === pluginObj.key) {
@@ -4673,7 +4666,6 @@ class SpecMap {
4673
4666
  dispatch() {
4674
4667
  const that = this;
4675
4668
  const plugin = this.nextPlugin();
4676
- that.currentTraverseCount = 0;
4677
4669
  if (!plugin) {
4678
4670
  const nextPromise = this.nextPromisedPatch();
4679
4671
  if (nextPromise) {
@@ -20930,106 +20922,6 @@ cloneShallow.safe = value => {
20930
20922
 
20931
20923
  /***/ }),
20932
20924
 
20933
- /***/ 75356:
20934
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
20935
-
20936
- "use strict";
20937
- __webpack_require__.r(__webpack_exports__);
20938
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
20939
- /* harmony export */ "default": () => (/* binding */ deepmerge)
20940
- /* harmony export */ });
20941
- /* harmony import */ var minim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34035);
20942
- /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33501);
20943
- /* harmony import */ var _clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87024);
20944
- /* harmony import */ var _transformers_serializers_value_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9999);
20945
-
20946
-
20947
-
20948
-
20949
- /* eslint-disable @typescript-eslint/no-use-before-define */
20950
- const emptyElement = element => {
20951
- const meta = (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.meta);
20952
- const attributes = (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.attributes);
20953
-
20954
- // @ts-ignore
20955
- return new element.constructor(undefined, meta, attributes);
20956
- };
20957
- const cloneUnlessOtherwiseSpecified = (element, options) => options.clone && options.isMergeableElement(element) ? deepmerge(emptyElement(element), element, options) : element;
20958
- const getMergeFunction = (keyElement, options) => {
20959
- if (typeof options.customMerge !== 'function') {
20960
- return deepmerge;
20961
- }
20962
- const customMerge = options.customMerge(keyElement, options);
20963
- return typeof customMerge === 'function' ? customMerge : deepmerge;
20964
- };
20965
- const mergeArrayElement = (targetElement, sourceElement, options) => targetElement.concat(sourceElement)['fantasy-land/map'](item => cloneUnlessOtherwiseSpecified(item, options));
20966
- const mergeObjectElement = (targetElement, sourceElement, options) => {
20967
- const destination = (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isObjectElement)(targetElement) ? emptyElement(targetElement) : emptyElement(sourceElement);
20968
- if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isObjectElement)(targetElement)) {
20969
- targetElement.forEach((value, key, member) => {
20970
- const clonedMember = (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
20971
- clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
20972
- destination.content.push(clonedMember);
20973
- });
20974
- }
20975
- sourceElement.forEach((value, key, member) => {
20976
- const keyValue = (0,_transformers_serializers_value_index_mjs__WEBPACK_IMPORTED_MODULE_3__["default"])(key);
20977
- let clonedMember;
20978
- if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isObjectElement)(targetElement) && targetElement.hasKey(keyValue) && options.isMergeableElement(value)) {
20979
- const targetValue = targetElement.get(keyValue);
20980
- clonedMember = (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
20981
- clonedMember.value = getMergeFunction(key, options)(targetValue, value);
20982
- } else {
20983
- clonedMember = (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
20984
- clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
20985
- }
20986
- destination.remove(keyValue);
20987
- destination.content.push(clonedMember);
20988
- });
20989
- return destination;
20990
- };
20991
- function deepmerge(targetElement, sourceElement, options) {
20992
- var _mergedOptions$isMerg, _mergedOptions$arrayE, _mergedOptions$object;
20993
- const defaultOptions = {
20994
- clone: true,
20995
- isMergeableElement: element => (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isObjectElement)(element) || (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isArrayElement)(element),
20996
- arrayElementMerge: mergeArrayElement,
20997
- objectElementMerge: mergeObjectElement,
20998
- customMerge: undefined
20999
- };
21000
- const mergedOptions = {
21001
- ...defaultOptions,
21002
- ...options
21003
- };
21004
- mergedOptions.isMergeableElement = (_mergedOptions$isMerg = mergedOptions.isMergeableElement) !== null && _mergedOptions$isMerg !== void 0 ? _mergedOptions$isMerg : defaultOptions.isMergeableElement;
21005
- mergedOptions.arrayElementMerge = (_mergedOptions$arrayE = mergedOptions.arrayElementMerge) !== null && _mergedOptions$arrayE !== void 0 ? _mergedOptions$arrayE : defaultOptions.arrayElementMerge;
21006
- mergedOptions.objectElementMerge = (_mergedOptions$object = mergedOptions.objectElementMerge) !== null && _mergedOptions$object !== void 0 ? _mergedOptions$object : defaultOptions.objectElementMerge;
21007
- const sourceIsArrayElement = (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isArrayElement)(sourceElement);
21008
- const targetIsArrayElement = (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isArrayElement)(targetElement);
21009
- const sourceAndTargetTypesMatch = sourceIsArrayElement === targetIsArrayElement;
21010
- if (!sourceAndTargetTypesMatch) {
21011
- return cloneUnlessOtherwiseSpecified(sourceElement, mergedOptions);
21012
- }
21013
- if (sourceIsArrayElement && typeof mergedOptions.arrayElementMerge === 'function') {
21014
- return mergedOptions.arrayElementMerge(targetElement, sourceElement, mergedOptions);
21015
- }
21016
- return mergedOptions.objectElementMerge(targetElement, sourceElement, mergedOptions);
21017
- }
21018
- deepmerge.all = (list, options) => {
21019
- if (!Array.isArray(list)) {
21020
- throw new TypeError('First argument of deepmerge should be an array.');
21021
- }
21022
- if (list.length === 0) {
21023
- return new minim__WEBPACK_IMPORTED_MODULE_0__.ObjectElement();
21024
- }
21025
- return list.reduce((target, source) => {
21026
- return deepmerge(target, source, options);
21027
- }, emptyElement(list[0]));
21028
- };
21029
- /* eslint-enable @typescript-eslint/no-use-before-define */
21030
-
21031
- /***/ }),
21032
-
21033
20925
  /***/ 82063:
21034
20926
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21035
20927
 
@@ -21240,7 +21132,7 @@ const IdentityManager = stampit__WEBPACK_IMPORTED_MODULE_1__({
21240
21132
  }
21241
21133
 
21242
21134
  // use already assigned identity
21243
- if (element.meta.hasKey('id') && (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_3__.isStringElement)(element.meta.id) && !element.meta.id.equals('')) {
21135
+ if (element.meta.hasKey('id') && (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_3__.isStringElement)(element.meta.get('id')) && !element.meta.get('id').equals('')) {
21244
21136
  return element.id;
21245
21137
  }
21246
21138
 
@@ -21304,6 +21196,126 @@ class MediaTypes extends Array {
21304
21196
 
21305
21197
  /***/ }),
21306
21198
 
21199
+ /***/ 15461:
21200
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21201
+
21202
+ "use strict";
21203
+ __webpack_require__.r(__webpack_exports__);
21204
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21205
+ /* harmony export */ "default": () => (/* binding */ deepmerge),
21206
+ /* harmony export */ defaultOptions: () => (/* binding */ defaultOptions),
21207
+ /* harmony export */ emptyElement: () => (/* binding */ emptyElement)
21208
+ /* harmony export */ });
21209
+ /* harmony import */ var minim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34035);
21210
+ /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33501);
21211
+ /* harmony import */ var _clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87024);
21212
+ /* harmony import */ var _transformers_serializers_value_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9999);
21213
+
21214
+
21215
+
21216
+
21217
+ /* eslint-disable @typescript-eslint/no-use-before-define */
21218
+ const emptyElement = element => {
21219
+ const meta = element.meta.length > 0 ? (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.meta) : undefined;
21220
+ const attributes = element.attributes.length > 0 ? (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.attributes) : undefined;
21221
+
21222
+ // @ts-ignore
21223
+ return new element.constructor(undefined, meta, attributes);
21224
+ };
21225
+ const cloneUnlessOtherwiseSpecified = (element, options) => options.clone && options.isMergeableElement(element) ? deepmerge(emptyElement(element), element, options) : element;
21226
+ const getMergeFunction = (keyElement, options) => {
21227
+ if (typeof options.customMerge !== 'function') {
21228
+ return deepmerge;
21229
+ }
21230
+ const customMerge = options.customMerge(keyElement, options);
21231
+ return typeof customMerge === 'function' ? customMerge : deepmerge;
21232
+ };
21233
+ const getMetaMergeFunction = options => {
21234
+ if (typeof options.customMetaMerge !== 'function') {
21235
+ return targetMeta => (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(targetMeta);
21236
+ }
21237
+ return options.customMetaMerge;
21238
+ };
21239
+ const getAttributesMergeFunction = options => {
21240
+ if (typeof options.customAttributesMerge !== 'function') {
21241
+ return targetAttributes => (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(targetAttributes);
21242
+ }
21243
+ return options.customAttributesMerge;
21244
+ };
21245
+ const mergeArrayElement = (targetElement, sourceElement, options) => targetElement.concat(sourceElement)['fantasy-land/map'](item => cloneUnlessOtherwiseSpecified(item, options));
21246
+ const mergeObjectElement = (targetElement, sourceElement, options) => {
21247
+ const destination = (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isObjectElement)(targetElement) ? emptyElement(targetElement) : emptyElement(sourceElement);
21248
+ if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isObjectElement)(targetElement)) {
21249
+ targetElement.forEach((value, key, member) => {
21250
+ const clonedMember = (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
21251
+ clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
21252
+ destination.content.push(clonedMember);
21253
+ });
21254
+ }
21255
+ sourceElement.forEach((value, key, member) => {
21256
+ const keyValue = (0,_transformers_serializers_value_index_mjs__WEBPACK_IMPORTED_MODULE_3__["default"])(key);
21257
+ let clonedMember;
21258
+ if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isObjectElement)(targetElement) && targetElement.hasKey(keyValue) && options.isMergeableElement(value)) {
21259
+ const targetValue = targetElement.get(keyValue);
21260
+ clonedMember = (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
21261
+ clonedMember.value = getMergeFunction(key, options)(targetValue, value);
21262
+ } else {
21263
+ clonedMember = (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
21264
+ clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
21265
+ }
21266
+ destination.remove(keyValue);
21267
+ destination.content.push(clonedMember);
21268
+ });
21269
+ return destination;
21270
+ };
21271
+ const defaultOptions = {
21272
+ clone: true,
21273
+ isMergeableElement: element => (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isObjectElement)(element) || (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isArrayElement)(element),
21274
+ arrayElementMerge: mergeArrayElement,
21275
+ objectElementMerge: mergeObjectElement,
21276
+ customMerge: undefined,
21277
+ customMetaMerge: undefined,
21278
+ customAttributesMerge: undefined
21279
+ };
21280
+ function deepmerge(targetElement, sourceElement, options) {
21281
+ var _mergedOptions$isMerg, _mergedOptions$arrayE, _mergedOptions$object;
21282
+ const mergedOptions = {
21283
+ ...defaultOptions,
21284
+ ...options
21285
+ };
21286
+ mergedOptions.isMergeableElement = (_mergedOptions$isMerg = mergedOptions.isMergeableElement) !== null && _mergedOptions$isMerg !== void 0 ? _mergedOptions$isMerg : defaultOptions.isMergeableElement;
21287
+ mergedOptions.arrayElementMerge = (_mergedOptions$arrayE = mergedOptions.arrayElementMerge) !== null && _mergedOptions$arrayE !== void 0 ? _mergedOptions$arrayE : defaultOptions.arrayElementMerge;
21288
+ mergedOptions.objectElementMerge = (_mergedOptions$object = mergedOptions.objectElementMerge) !== null && _mergedOptions$object !== void 0 ? _mergedOptions$object : defaultOptions.objectElementMerge;
21289
+ const sourceIsArrayElement = (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isArrayElement)(sourceElement);
21290
+ const targetIsArrayElement = (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.isArrayElement)(targetElement);
21291
+ const sourceAndTargetTypesMatch = sourceIsArrayElement === targetIsArrayElement;
21292
+ if (!sourceAndTargetTypesMatch) {
21293
+ return cloneUnlessOtherwiseSpecified(sourceElement, mergedOptions);
21294
+ }
21295
+
21296
+ // merging two elements
21297
+ const mergedElement = sourceIsArrayElement && typeof mergedOptions.arrayElementMerge === 'function' ? mergedOptions.arrayElementMerge(targetElement, sourceElement, mergedOptions) : mergedOptions.objectElementMerge(targetElement, sourceElement, mergedOptions);
21298
+
21299
+ // merging meta & attributes
21300
+ mergedElement.meta = getMetaMergeFunction(mergedOptions)(targetElement.meta, sourceElement.meta);
21301
+ mergedElement.attributes = getAttributesMergeFunction(mergedOptions)(targetElement.attributes, sourceElement.attributes);
21302
+ return mergedElement;
21303
+ }
21304
+ deepmerge.all = (list, options) => {
21305
+ if (!Array.isArray(list)) {
21306
+ throw new TypeError('First argument of deepmerge should be an array.');
21307
+ }
21308
+ if (list.length === 0) {
21309
+ return new minim__WEBPACK_IMPORTED_MODULE_0__.ObjectElement();
21310
+ }
21311
+ return list.reduce((target, source) => {
21312
+ return deepmerge(target, source, options);
21313
+ }, emptyElement(list[0]));
21314
+ };
21315
+ /* eslint-enable @typescript-eslint/no-use-before-define */
21316
+
21317
+ /***/ }),
21318
+
21307
21319
  /***/ 1667:
21308
21320
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21309
21321
 
@@ -21555,9 +21567,13 @@ __webpack_require__.r(__webpack_exports__);
21555
21567
  /* harmony export */ createRefractor: () => (/* binding */ createRefractor),
21556
21568
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
21557
21569
  /* harmony export */ });
21558
- /* harmony import */ var _plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36838);
21559
- /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46571);
21560
- /* harmony import */ var _toolbox_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55132);
21570
+ /* harmony import */ var _plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36838);
21571
+ /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(46571);
21572
+ /* harmony import */ var _clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87024);
21573
+ /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33501);
21574
+ /* harmony import */ var _toolbox_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(55132);
21575
+
21576
+
21561
21577
 
21562
21578
 
21563
21579
 
@@ -21571,15 +21587,23 @@ const refract = (value, {
21571
21587
  * Though we allow consumers to define their onw plugins on already transformed ApiDOM.
21572
21588
  */
21573
21589
  const element = new Type(value);
21590
+ if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_0__.isElement)(value)) {
21591
+ if (value.meta.length > 0) {
21592
+ element.meta = (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(value.meta);
21593
+ }
21594
+ if (value.attributes.length > 0) {
21595
+ element.attributes = (0,_clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(value.attributes);
21596
+ }
21597
+ }
21574
21598
 
21575
21599
  /**
21576
21600
  * Run plugins only when necessary.
21577
21601
  * Running plugins visitors means extra single traversal === performance hit.
21578
21602
  */
21579
- return (0,_plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_0__.dispatchPlugins)(element, plugins, {
21580
- toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_1__["default"],
21603
+ return (0,_plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_2__.dispatchPlugins)(element, plugins, {
21604
+ toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_3__["default"],
21581
21605
  visitorOptions: {
21582
- nodeTypeGetter: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_2__.getNodeType
21606
+ nodeTypeGetter: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__.getNodeType
21583
21607
  }
21584
21608
  });
21585
21609
  };
@@ -23769,7 +23793,8 @@ __webpack_require__.r(__webpack_exports__);
23769
23793
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
23770
23794
  /* harmony export */ });
23771
23795
  /* harmony import */ var stampit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12646);
23772
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33501);
23796
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15461);
23797
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33501);
23773
23798
 
23774
23799
 
23775
23800
  const Visitor = stampit__WEBPACK_IMPORTED_MODULE_0__({
@@ -23778,12 +23803,20 @@ const Visitor = stampit__WEBPACK_IMPORTED_MODULE_0__({
23778
23803
  },
23779
23804
  // @ts-ignore
23780
23805
  methods: {
23806
+ /* eslint-disable class-methods-use-this, no-param-reassign */
23781
23807
  copyMetaAndAttributes(from, to) {
23782
- // copy sourcemaps
23783
- if ((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__.hasElementSourceMap)(from)) {
23784
- to.meta.set('sourceMap', from.meta.get('sourceMap'));
23808
+ if (from.meta.length > 0 || to.meta.length > 0) {
23809
+ to.meta = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(to.meta, from.meta);
23810
+ if ((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__.hasElementSourceMap)(from)) {
23811
+ // avoid deep merging of source maps
23812
+ to.meta.set('sourceMap', from.meta.get('sourceMap'));
23813
+ }
23814
+ }
23815
+ if (from.attributes.length > 0 || from.meta.length > 0) {
23816
+ to.attributes = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(to.attributes, from.attributes); // eslint-disable-line no-param-reassign
23785
23817
  }
23786
23818
  }
23819
+ /* eslint-enable class-methods-use-this, no-param-reassign */
23787
23820
  }
23788
23821
  });
23789
23822
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Visitor);
@@ -27615,6 +27648,7 @@ __webpack_require__.r(__webpack_exports__);
27615
27648
  /* harmony export */ isResponsesElement: () => (/* binding */ isResponsesElement),
27616
27649
  /* harmony export */ isSchemaElement: () => (/* binding */ isSchemaElement),
27617
27650
  /* harmony export */ isSecurityRequirementElement: () => (/* binding */ isSecurityRequirementElement),
27651
+ /* harmony export */ isSecuritySchemeElement: () => (/* binding */ isSecuritySchemeElement),
27618
27652
  /* harmony export */ isServerElement: () => (/* binding */ isServerElement),
27619
27653
  /* harmony export */ isServerVariableElement: () => (/* binding */ isServerVariableElement),
27620
27654
  /* harmony export */ isServersElement: () => (/* binding */ isServersElement)
@@ -27642,10 +27676,12 @@ __webpack_require__.r(__webpack_exports__);
27642
27676
  /* harmony import */ var _elements_Responses_mjs__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(62604);
27643
27677
  /* harmony import */ var _elements_Schema_mjs__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(19117);
27644
27678
  /* harmony import */ var _elements_SecurityRequirement_mjs__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(94063);
27645
- /* harmony import */ var _elements_Server_mjs__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(2829);
27646
- /* harmony import */ var _elements_ServerVariable_mjs__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(44213);
27647
- /* harmony import */ var _elements_MediaType_mjs__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(22452);
27648
- /* harmony import */ var _elements_nces_Servers_mjs__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(87204);
27679
+ /* harmony import */ var _elements_SecurityScheme_mjs__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(89779);
27680
+ /* harmony import */ var _elements_Server_mjs__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(2829);
27681
+ /* harmony import */ var _elements_ServerVariable_mjs__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(44213);
27682
+ /* harmony import */ var _elements_MediaType_mjs__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(22452);
27683
+ /* harmony import */ var _elements_nces_Servers_mjs__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(87204);
27684
+
27649
27685
 
27650
27686
 
27651
27687
 
@@ -27825,26 +27861,33 @@ const isSecurityRequirementElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORT
27825
27861
  }) => {
27826
27862
  return element => element instanceof _elements_SecurityRequirement_mjs__WEBPACK_IMPORTED_MODULE_22__["default"] || hasBasicElementProps(element) && isElementType('securityRequirement', element) && primitiveEq('object', element);
27827
27863
  });
27864
+ const isSecuritySchemeElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(({
27865
+ hasBasicElementProps,
27866
+ isElementType,
27867
+ primitiveEq
27868
+ }) => {
27869
+ return element => element instanceof _elements_SecurityScheme_mjs__WEBPACK_IMPORTED_MODULE_23__["default"] || hasBasicElementProps(element) && isElementType('securityScheme', element) && primitiveEq('object', element);
27870
+ });
27828
27871
  const isServerElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(({
27829
27872
  hasBasicElementProps,
27830
27873
  isElementType,
27831
27874
  primitiveEq
27832
27875
  }) => {
27833
- return element => element instanceof _elements_Server_mjs__WEBPACK_IMPORTED_MODULE_23__["default"] || hasBasicElementProps(element) && isElementType('server', element) && primitiveEq('object', element);
27876
+ return element => element instanceof _elements_Server_mjs__WEBPACK_IMPORTED_MODULE_24__["default"] || hasBasicElementProps(element) && isElementType('server', element) && primitiveEq('object', element);
27834
27877
  });
27835
27878
  const isServerVariableElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(({
27836
27879
  hasBasicElementProps,
27837
27880
  isElementType,
27838
27881
  primitiveEq
27839
27882
  }) => {
27840
- return element => element instanceof _elements_ServerVariable_mjs__WEBPACK_IMPORTED_MODULE_24__["default"] || hasBasicElementProps(element) && isElementType('serverVariable', element) && primitiveEq('object', element);
27883
+ return element => element instanceof _elements_ServerVariable_mjs__WEBPACK_IMPORTED_MODULE_25__["default"] || hasBasicElementProps(element) && isElementType('serverVariable', element) && primitiveEq('object', element);
27841
27884
  });
27842
27885
  const isMediaTypeElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(({
27843
27886
  hasBasicElementProps,
27844
27887
  isElementType,
27845
27888
  primitiveEq
27846
27889
  }) => {
27847
- return element => element instanceof _elements_MediaType_mjs__WEBPACK_IMPORTED_MODULE_25__["default"] || hasBasicElementProps(element) && isElementType('mediaType', element) && primitiveEq('object', element);
27890
+ return element => element instanceof _elements_MediaType_mjs__WEBPACK_IMPORTED_MODULE_26__["default"] || hasBasicElementProps(element) && isElementType('mediaType', element) && primitiveEq('object', element);
27848
27891
  });
27849
27892
  const isServersElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(({
27850
27893
  hasBasicElementProps,
@@ -27852,7 +27895,7 @@ const isServersElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0_
27852
27895
  primitiveEq,
27853
27896
  hasClass
27854
27897
  }) => {
27855
- return element => element instanceof _elements_nces_Servers_mjs__WEBPACK_IMPORTED_MODULE_26__["default"] || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('servers', element);
27898
+ return element => element instanceof _elements_nces_Servers_mjs__WEBPACK_IMPORTED_MODULE_27__["default"] || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('servers', element);
27856
27899
  });
27857
27900
 
27858
27901
  /***/ }),
@@ -27891,8 +27934,8 @@ const refract = (value, {
27891
27934
  * We don't allow consumers to hook into this translation.
27892
27935
  * Though we allow consumers to define their onw plugins on already transformed ApiDOM.
27893
27936
  */
27894
- const RootVistorClass = (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(specPath, resolvedSpec);
27895
- const rootVisitor = new RootVistorClass({
27937
+ const RootVisitorClass = (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(specPath, resolvedSpec);
27938
+ const rootVisitor = new RootVisitorClass({
27896
27939
  specObj: resolvedSpec
27897
27940
  });
27898
27941
  (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__.visit)(element, rootVisitor);
@@ -28823,20 +28866,23 @@ __webpack_require__.r(__webpack_exports__);
28823
28866
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
28824
28867
  /* harmony export */ });
28825
28868
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1667);
28826
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(33501);
28827
- /* harmony import */ var _predicates_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85536);
28828
- /* harmony import */ var _predicates_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(85013);
28869
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(33501);
28870
+ /* harmony import */ var _predicates_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(85536);
28829
28871
  /* harmony import */ var _namespace_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31015);
28830
28872
 
28831
28873
 
28832
28874
 
28833
-
28834
28875
  const createToolbox = () => {
28835
28876
  const namespace = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.createNamespace)(_namespace_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]);
28836
28877
  const predicates = {
28837
28878
  ..._predicates_mjs__WEBPACK_IMPORTED_MODULE_2__,
28838
- ..._predicates_mjs__WEBPACK_IMPORTED_MODULE_3__,
28839
- isStringElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__.isStringElement
28879
+ isElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isElement,
28880
+ isStringElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isStringElement,
28881
+ isArrayElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isArrayElement,
28882
+ isObjectElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isObjectElement,
28883
+ isMemberElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isMemberElement,
28884
+ includesClasses: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.includesClasses,
28885
+ hasElementSourceMap: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.hasElementSourceMap
28840
28886
  };
28841
28887
  return {
28842
28888
  predicates,
@@ -29001,7 +29047,8 @@ __webpack_require__.r(__webpack_exports__);
29001
29047
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29002
29048
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
29003
29049
  /* harmony export */ });
29004
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33501);
29050
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15461);
29051
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33501);
29005
29052
 
29006
29053
  class Visitor {
29007
29054
  element;
@@ -29009,13 +29056,20 @@ class Visitor {
29009
29056
  Object.assign(this, options);
29010
29057
  }
29011
29058
 
29012
- // eslint-disable-next-line class-methods-use-this
29059
+ /* eslint-disable class-methods-use-this, no-param-reassign */
29013
29060
  copyMetaAndAttributes(from, to) {
29014
- // copy sourcemaps
29015
- if ((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.hasElementSourceMap)(from)) {
29016
- to.meta.set('sourceMap', from.meta.get('sourceMap'));
29061
+ if (from.meta.length > 0 || to.meta.length > 0) {
29062
+ to.meta = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(to.meta, from.meta);
29063
+ if ((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__.hasElementSourceMap)(from)) {
29064
+ // avoid deep merging of source maps
29065
+ to.meta.set('sourceMap', from.meta.get('sourceMap'));
29066
+ }
29067
+ }
29068
+ if (from.attributes.length > 0 || from.meta.length > 0) {
29069
+ to.attributes = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(to.attributes, from.attributes); // eslint-disable-line no-param-reassign
29017
29070
  }
29018
29071
  }
29072
+ /* eslint-enable class-methods-use-this, no-param-reassign */
29019
29073
  }
29020
29074
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Visitor);
29021
29075
 
@@ -33686,6 +33740,7 @@ __webpack_require__.r(__webpack_exports__);
33686
33740
  /* harmony export */ isResponsesElement: () => (/* binding */ isResponsesElement),
33687
33741
  /* harmony export */ isSchemaElement: () => (/* binding */ isSchemaElement),
33688
33742
  /* harmony export */ isSecurityRequirementElement: () => (/* binding */ isSecurityRequirementElement),
33743
+ /* harmony export */ isSecuritySchemeElement: () => (/* binding */ isSecuritySchemeElement),
33689
33744
  /* harmony export */ isServerElement: () => (/* binding */ isServerElement),
33690
33745
  /* harmony export */ isServerVariableElement: () => (/* binding */ isServerVariableElement)
33691
33746
  /* harmony export */ });
@@ -33714,9 +33769,11 @@ __webpack_require__.r(__webpack_exports__);
33714
33769
  /* harmony import */ var _elements_Responses_mjs__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(86461);
33715
33770
  /* harmony import */ var _elements_Schema_mjs__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(30090);
33716
33771
  /* harmony import */ var _elements_SecurityRequirement_mjs__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(91750);
33717
- /* harmony import */ var _elements_Server_mjs__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(90846);
33718
- /* harmony import */ var _elements_ServerVariable_mjs__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(2558);
33719
- /* harmony import */ var _elements_MediaType_mjs__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(32425);
33772
+ /* harmony import */ var _elements_SecurityScheme_mjs__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(65664);
33773
+ /* harmony import */ var _elements_Server_mjs__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(90846);
33774
+ /* harmony import */ var _elements_ServerVariable_mjs__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(2558);
33775
+ /* harmony import */ var _elements_MediaType_mjs__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(32425);
33776
+
33720
33777
 
33721
33778
 
33722
33779
 
@@ -33937,26 +33994,33 @@ const isSecurityRequirementElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORT
33937
33994
  }) => {
33938
33995
  return element => element instanceof _elements_SecurityRequirement_mjs__WEBPACK_IMPORTED_MODULE_24__["default"] || hasBasicElementProps(element) && isElementType('securityRequirement', element) && primitiveEq('object', element);
33939
33996
  });
33997
+ const isSecuritySchemeElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(({
33998
+ hasBasicElementProps,
33999
+ isElementType,
34000
+ primitiveEq
34001
+ }) => {
34002
+ return element => element instanceof _elements_SecurityScheme_mjs__WEBPACK_IMPORTED_MODULE_25__["default"] || hasBasicElementProps(element) && isElementType('securityScheme', element) && primitiveEq('object', element);
34003
+ });
33940
34004
  const isServerElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(({
33941
34005
  hasBasicElementProps,
33942
34006
  isElementType,
33943
34007
  primitiveEq
33944
34008
  }) => {
33945
- return element => element instanceof _elements_Server_mjs__WEBPACK_IMPORTED_MODULE_25__["default"] || hasBasicElementProps(element) && isElementType('server', element) && primitiveEq('object', element);
34009
+ return element => element instanceof _elements_Server_mjs__WEBPACK_IMPORTED_MODULE_26__["default"] || hasBasicElementProps(element) && isElementType('server', element) && primitiveEq('object', element);
33946
34010
  });
33947
34011
  const isServerVariableElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(({
33948
34012
  hasBasicElementProps,
33949
34013
  isElementType,
33950
34014
  primitiveEq
33951
34015
  }) => {
33952
- return element => element instanceof _elements_ServerVariable_mjs__WEBPACK_IMPORTED_MODULE_26__["default"] || hasBasicElementProps(element) && isElementType('serverVariable', element) && primitiveEq('object', element);
34016
+ return element => element instanceof _elements_ServerVariable_mjs__WEBPACK_IMPORTED_MODULE_27__["default"] || hasBasicElementProps(element) && isElementType('serverVariable', element) && primitiveEq('object', element);
33953
34017
  });
33954
34018
  const isMediaTypeElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(({
33955
34019
  hasBasicElementProps,
33956
34020
  isElementType,
33957
34021
  primitiveEq
33958
34022
  }) => {
33959
- return element => element instanceof _elements_MediaType_mjs__WEBPACK_IMPORTED_MODULE_27__["default"] || hasBasicElementProps(element) && isElementType('mediaType', element) && primitiveEq('object', element);
34023
+ return element => element instanceof _elements_MediaType_mjs__WEBPACK_IMPORTED_MODULE_28__["default"] || hasBasicElementProps(element) && isElementType('mediaType', element) && primitiveEq('object', element);
33960
34024
  });
33961
34025
 
33962
34026
  /***/ }),
@@ -35410,7 +35474,8 @@ const createToolbox = () => {
35410
35474
  isObjectElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isObjectElement,
35411
35475
  isMemberElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isMemberElement,
35412
35476
  isServersElement: _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_4__.isServersElement,
35413
- includesClasses: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.includesClasses
35477
+ includesClasses: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.includesClasses,
35478
+ hasElementSourceMap: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.hasElementSourceMap
35414
35479
  };
35415
35480
  return {
35416
35481
  predicates,
@@ -37823,20 +37888,23 @@ const OpenApi3_1DereferenceVisitor = stampit__WEBPACK_IMPORTED_MODULE_0__({
37823
37888
  namespace: null,
37824
37889
  reference: null,
37825
37890
  options: null,
37826
- ancestors: null
37891
+ ancestors: null,
37892
+ refractCache: null
37827
37893
  },
37828
37894
  init({
37829
37895
  indirections = [],
37830
37896
  reference,
37831
37897
  namespace,
37832
37898
  options,
37833
- ancestors = new _util_mjs__WEBPACK_IMPORTED_MODULE_4__.AncestorLineage()
37899
+ ancestors = new _util_mjs__WEBPACK_IMPORTED_MODULE_4__.AncestorLineage(),
37900
+ refractCache = new Map()
37834
37901
  }) {
37835
37902
  this.indirections = indirections;
37836
37903
  this.namespace = namespace;
37837
37904
  this.reference = reference;
37838
37905
  this.options = options;
37839
37906
  this.ancestors = new _util_mjs__WEBPACK_IMPORTED_MODULE_4__.AncestorLineage(...ancestors);
37907
+ this.refractCache = refractCache;
37840
37908
  },
37841
37909
  methods: {
37842
37910
  toBaseURI(uri) {
@@ -37907,14 +37975,19 @@ const OpenApi3_1DereferenceVisitor = stampit__WEBPACK_IMPORTED_MODULE_0__({
37907
37975
  // applying semantics to a fragment
37908
37976
  if ((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_10__.isPrimitiveElement)(referencedElement)) {
37909
37977
  const referencedElementType = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__["default"])(referencingElement.meta.get('referenced-element'));
37910
- if ((0,_swagger_api_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_13__.isReferenceLikeElement)(referencedElement)) {
37978
+ const cacheKey = `${referencedElementType}-${(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__["default"])(identityManager.identify(referencedElement))}`;
37979
+ if (this.refractCache.has(cacheKey)) {
37980
+ referencedElement = this.refractCache.get(cacheKey);
37981
+ } else if ((0,_swagger_api_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_13__.isReferenceLikeElement)(referencedElement)) {
37911
37982
  // handling indirect references
37912
37983
  referencedElement = _swagger_api_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.ReferenceElement.refract(referencedElement);
37913
37984
  referencedElement.setMetaProperty('referenced-element', referencedElementType);
37985
+ this.refractCache.set(cacheKey, referencedElement);
37914
37986
  } else {
37915
37987
  // handling direct references
37916
37988
  const ElementClass = this.namespace.getElementClass(referencedElementType);
37917
37989
  referencedElement = ElementClass.refract(referencedElement);
37990
+ this.refractCache.set(cacheKey, referencedElement);
37918
37991
  }
37919
37992
  }
37920
37993
 
@@ -37937,7 +38010,8 @@ const OpenApi3_1DereferenceVisitor = stampit__WEBPACK_IMPORTED_MODULE_0__({
37937
38010
  namespace: this.namespace,
37938
38011
  indirections: [...this.indirections],
37939
38012
  options: this.options,
37940
- ancestors: ancestorsLineage
38013
+ ancestors: ancestorsLineage,
38014
+ refractCache: this.refractCache
37941
38015
  });
37942
38016
  referencedElement = await visitAsync(referencedElement, visitor, {
37943
38017
  keyMap: _swagger_api_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_17__.keyMap,
@@ -38025,7 +38099,13 @@ const OpenApi3_1DereferenceVisitor = stampit__WEBPACK_IMPORTED_MODULE_0__({
38025
38099
 
38026
38100
  // applying semantics to a referenced element
38027
38101
  if ((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_10__.isPrimitiveElement)(referencedElement)) {
38028
- referencedElement = _swagger_api_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.PathItemElement.refract(referencedElement);
38102
+ const cacheKey = `pathItem-${(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__["default"])(identityManager.identify(referencedElement))}`;
38103
+ if (this.refractCache.has(cacheKey)) {
38104
+ referencedElement = this.refractCache.get(cacheKey);
38105
+ } else {
38106
+ referencedElement = _swagger_api_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.PathItemElement.refract(referencedElement);
38107
+ this.refractCache.set(cacheKey, referencedElement);
38108
+ }
38029
38109
  }
38030
38110
 
38031
38111
  // detect direct or indirect reference
@@ -38047,7 +38127,8 @@ const OpenApi3_1DereferenceVisitor = stampit__WEBPACK_IMPORTED_MODULE_0__({
38047
38127
  namespace: this.namespace,
38048
38128
  indirections: [...this.indirections],
38049
38129
  options: this.options,
38050
- ancestors: ancestorsLineage
38130
+ ancestors: ancestorsLineage,
38131
+ refractCache: this.refractCache
38051
38132
  });
38052
38133
  referencedElement = await visitAsync(referencedElement, visitor, {
38053
38134
  keyMap: _swagger_api_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_17__.keyMap,
@@ -38119,7 +38200,13 @@ const OpenApi3_1DereferenceVisitor = stampit__WEBPACK_IMPORTED_MODULE_0__({
38119
38200
  operationElement = (0,_swagger_api_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_12__["default"])(jsonPointer, reference.value.result);
38120
38201
  // applying semantics to a referenced element
38121
38202
  if ((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_10__.isPrimitiveElement)(operationElement)) {
38122
- operationElement = _swagger_api_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.OperationElement.refract(operationElement);
38203
+ const cacheKey = `operation-${(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__["default"])(identityManager.identify(operationElement))}`;
38204
+ if (this.refractCache.has(cacheKey)) {
38205
+ operationElement = this.refractCache.get(cacheKey);
38206
+ } else {
38207
+ operationElement = _swagger_api_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.OperationElement.refract(operationElement);
38208
+ this.refractCache.set(cacheKey, operationElement);
38209
+ }
38123
38210
  }
38124
38211
  // create shallow clone to be able to annotate with metadata
38125
38212
  operationElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_18__.cloneShallow)(operationElement);