@speclynx/apidom-overlay 4.12.1 → 4.13.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.
@@ -64982,6 +64982,199 @@ const refractSecurityRequirement = (value, options = {}) => refract(value, {
64982
64982
  });
64983
64983
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (refract);
64984
64984
 
64985
+ /***/ },
64986
+
64987
+ /***/ 60574
64988
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
64989
+
64990
+ "use strict";
64991
+ __webpack_require__.r(__webpack_exports__);
64992
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
64993
+ /* harmony export */ ContactElement: () => (/* reexport safe */ _elements_Contact_mjs__WEBPACK_IMPORTED_MODULE_5__["default"]),
64994
+ /* harmony export */ DefinitionsElement: () => (/* reexport safe */ _elements_Definitions_mjs__WEBPACK_IMPORTED_MODULE_22__["default"]),
64995
+ /* harmony export */ ExampleElement: () => (/* reexport safe */ _elements_Example_mjs__WEBPACK_IMPORTED_MODULE_16__["default"]),
64996
+ /* harmony export */ ExternalDocumentationElement: () => (/* reexport safe */ _elements_ExternalDocumentation_mjs__WEBPACK_IMPORTED_MODULE_10__["default"]),
64997
+ /* harmony export */ HeaderElement: () => (/* reexport safe */ _elements_Header_mjs__WEBPACK_IMPORTED_MODULE_17__["default"]),
64998
+ /* harmony export */ HeadersElement: () => (/* reexport safe */ _elements_Headers_mjs__WEBPACK_IMPORTED_MODULE_15__["default"]),
64999
+ /* harmony export */ InfoElement: () => (/* reexport safe */ _elements_Info_mjs__WEBPACK_IMPORTED_MODULE_4__["default"]),
65000
+ /* harmony export */ ItemsElement: () => (/* reexport safe */ _elements_Items_mjs__WEBPACK_IMPORTED_MODULE_12__["default"]),
65001
+ /* harmony export */ LicenseElement: () => (/* reexport safe */ _elements_License_mjs__WEBPACK_IMPORTED_MODULE_6__["default"]),
65002
+ /* harmony export */ OperationElement: () => (/* reexport safe */ _elements_Operation_mjs__WEBPACK_IMPORTED_MODULE_9__["default"]),
65003
+ /* harmony export */ ParameterElement: () => (/* reexport safe */ _elements_Parameter_mjs__WEBPACK_IMPORTED_MODULE_11__["default"]),
65004
+ /* harmony export */ ParametersDefinitionsElement: () => (/* reexport safe */ _elements_ParametersDefinitions_mjs__WEBPACK_IMPORTED_MODULE_23__["default"]),
65005
+ /* harmony export */ PathItemElement: () => (/* reexport safe */ _elements_PathItem_mjs__WEBPACK_IMPORTED_MODULE_8__["default"]),
65006
+ /* harmony export */ PathsElement: () => (/* reexport safe */ _elements_Paths_mjs__WEBPACK_IMPORTED_MODULE_7__["default"]),
65007
+ /* harmony export */ ReferenceElement: () => (/* reexport safe */ _elements_Reference_mjs__WEBPACK_IMPORTED_MODULE_19__["default"]),
65008
+ /* harmony export */ ResponseElement: () => (/* reexport safe */ _elements_Response_mjs__WEBPACK_IMPORTED_MODULE_14__["default"]),
65009
+ /* harmony export */ ResponsesDefinitionsElement: () => (/* reexport safe */ _elements_ResponsesDefinitions_mjs__WEBPACK_IMPORTED_MODULE_24__["default"]),
65010
+ /* harmony export */ ResponsesElement: () => (/* reexport safe */ _elements_Responses_mjs__WEBPACK_IMPORTED_MODULE_13__["default"]),
65011
+ /* harmony export */ SchemaElement: () => (/* reexport safe */ _elements_Schema_mjs__WEBPACK_IMPORTED_MODULE_20__["default"]),
65012
+ /* harmony export */ ScopesElement: () => (/* reexport safe */ _elements_Scopes_mjs__WEBPACK_IMPORTED_MODULE_27__["default"]),
65013
+ /* harmony export */ SecurityDefinitionsElement: () => (/* reexport safe */ _elements_SecurityDefinitions_mjs__WEBPACK_IMPORTED_MODULE_25__["default"]),
65014
+ /* harmony export */ SecurityRequirementElement: () => (/* reexport safe */ _elements_SecurityRequirement_mjs__WEBPACK_IMPORTED_MODULE_28__["default"]),
65015
+ /* harmony export */ SecuritySchemeElement: () => (/* reexport safe */ _elements_SecurityScheme_mjs__WEBPACK_IMPORTED_MODULE_26__["default"]),
65016
+ /* harmony export */ SwaggerElement: () => (/* reexport safe */ _elements_Swagger_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]),
65017
+ /* harmony export */ SwaggerVersionElement: () => (/* reexport safe */ _elements_SwaggerVersion_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]),
65018
+ /* harmony export */ TagElement: () => (/* reexport safe */ _elements_Tag_mjs__WEBPACK_IMPORTED_MODULE_18__["default"]),
65019
+ /* harmony export */ XmlElement: () => (/* reexport safe */ _elements_Xml_mjs__WEBPACK_IMPORTED_MODULE_21__["default"])
65020
+ /* harmony export */ });
65021
+ /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60572);
65022
+ /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(34606);
65023
+ /* harmony import */ var _elements_Swagger_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25077);
65024
+ /* harmony import */ var _elements_SwaggerVersion_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85263);
65025
+ /* harmony import */ var _elements_Info_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(60135);
65026
+ /* harmony import */ var _elements_Contact_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(22389);
65027
+ /* harmony import */ var _elements_License_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(67684);
65028
+ /* harmony import */ var _elements_Paths_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(38253);
65029
+ /* harmony import */ var _elements_PathItem_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(83419);
65030
+ /* harmony import */ var _elements_Operation_mjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(87162);
65031
+ /* harmony import */ var _elements_ExternalDocumentation_mjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(65292);
65032
+ /* harmony import */ var _elements_Parameter_mjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(52508);
65033
+ /* harmony import */ var _elements_Items_mjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(52445);
65034
+ /* harmony import */ var _elements_Responses_mjs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(31297);
65035
+ /* harmony import */ var _elements_Response_mjs__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(96730);
65036
+ /* harmony import */ var _elements_Headers_mjs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(35811);
65037
+ /* harmony import */ var _elements_Example_mjs__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(523);
65038
+ /* harmony import */ var _elements_Header_mjs__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(53188);
65039
+ /* harmony import */ var _elements_Tag_mjs__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(19561);
65040
+ /* harmony import */ var _elements_Reference_mjs__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(94170);
65041
+ /* harmony import */ var _elements_Schema_mjs__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(89750);
65042
+ /* harmony import */ var _elements_Xml_mjs__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(73418);
65043
+ /* harmony import */ var _elements_Definitions_mjs__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(50703);
65044
+ /* harmony import */ var _elements_ParametersDefinitions_mjs__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(15783);
65045
+ /* harmony import */ var _elements_ResponsesDefinitions_mjs__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(23133);
65046
+ /* harmony import */ var _elements_SecurityDefinitions_mjs__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(35553);
65047
+ /* harmony import */ var _elements_SecurityScheme_mjs__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(63100);
65048
+ /* harmony import */ var _elements_Scopes_mjs__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(91408);
65049
+ /* harmony import */ var _elements_SecurityRequirement_mjs__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(66234);
65050
+ /* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(59845);
65051
+
65052
+
65053
+
65054
+ /**
65055
+ * OpenAPI 2.0 specification elements.
65056
+ */
65057
+
65058
+
65059
+
65060
+
65061
+
65062
+
65063
+
65064
+
65065
+
65066
+
65067
+
65068
+
65069
+
65070
+
65071
+
65072
+
65073
+
65074
+
65075
+
65076
+
65077
+
65078
+
65079
+
65080
+
65081
+
65082
+
65083
+
65084
+
65085
+ /**
65086
+ * @public
65087
+ */
65088
+ // Resolve specification to dereference $ref pointers
65089
+ const resolvedSpec = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_0__.resolveSpecification)(_specification_mjs__WEBPACK_IMPORTED_MODULE_29__["default"]);
65090
+
65091
+ // Extract fixed fields as list of { name, alias?, $visitor }
65092
+ const getFixedFields = fixedFieldsSpec => {
65093
+ return Object.entries(fixedFieldsSpec).map(([name, fieldSpec]) => {
65094
+ if ((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_1__["default"])(fieldSpec)) {
65095
+ return {
65096
+ name,
65097
+ ...fieldSpec
65098
+ };
65099
+ }
65100
+ return {
65101
+ name,
65102
+ $visitor: fieldSpec
65103
+ };
65104
+ });
65105
+ };
65106
+
65107
+ // OpenAPI 2.0 specification elements
65108
+ Object.defineProperty(_elements_Swagger_mjs__WEBPACK_IMPORTED_MODULE_2__["default"], 'fixedFields', {
65109
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Swagger.fixedFields),
65110
+ enumerable: true
65111
+ });
65112
+ Object.defineProperty(_elements_Info_mjs__WEBPACK_IMPORTED_MODULE_4__["default"], 'fixedFields', {
65113
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Info.fixedFields),
65114
+ enumerable: true
65115
+ });
65116
+ Object.defineProperty(_elements_Contact_mjs__WEBPACK_IMPORTED_MODULE_5__["default"], 'fixedFields', {
65117
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Contact.fixedFields),
65118
+ enumerable: true
65119
+ });
65120
+ Object.defineProperty(_elements_License_mjs__WEBPACK_IMPORTED_MODULE_6__["default"], 'fixedFields', {
65121
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.License.fixedFields),
65122
+ enumerable: true
65123
+ });
65124
+ Object.defineProperty(_elements_PathItem_mjs__WEBPACK_IMPORTED_MODULE_8__["default"], 'fixedFields', {
65125
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.PathItem.fixedFields),
65126
+ enumerable: true
65127
+ });
65128
+ Object.defineProperty(_elements_Operation_mjs__WEBPACK_IMPORTED_MODULE_9__["default"], 'fixedFields', {
65129
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Operation.fixedFields),
65130
+ enumerable: true
65131
+ });
65132
+ Object.defineProperty(_elements_ExternalDocumentation_mjs__WEBPACK_IMPORTED_MODULE_10__["default"], 'fixedFields', {
65133
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.ExternalDocumentation.fixedFields),
65134
+ enumerable: true
65135
+ });
65136
+ Object.defineProperty(_elements_Parameter_mjs__WEBPACK_IMPORTED_MODULE_11__["default"], 'fixedFields', {
65137
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Parameter.fixedFields),
65138
+ enumerable: true
65139
+ });
65140
+ Object.defineProperty(_elements_Items_mjs__WEBPACK_IMPORTED_MODULE_12__["default"], 'fixedFields', {
65141
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Items.fixedFields),
65142
+ enumerable: true
65143
+ });
65144
+ Object.defineProperty(_elements_Responses_mjs__WEBPACK_IMPORTED_MODULE_13__["default"], 'fixedFields', {
65145
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Responses.fixedFields),
65146
+ enumerable: true
65147
+ });
65148
+ Object.defineProperty(_elements_Response_mjs__WEBPACK_IMPORTED_MODULE_14__["default"], 'fixedFields', {
65149
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Response.fixedFields),
65150
+ enumerable: true
65151
+ });
65152
+ Object.defineProperty(_elements_Header_mjs__WEBPACK_IMPORTED_MODULE_17__["default"], 'fixedFields', {
65153
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Header.fixedFields),
65154
+ enumerable: true
65155
+ });
65156
+ Object.defineProperty(_elements_Tag_mjs__WEBPACK_IMPORTED_MODULE_18__["default"], 'fixedFields', {
65157
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Tag.fixedFields),
65158
+ enumerable: true
65159
+ });
65160
+ Object.defineProperty(_elements_Reference_mjs__WEBPACK_IMPORTED_MODULE_19__["default"], 'fixedFields', {
65161
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Reference.fixedFields),
65162
+ enumerable: true
65163
+ });
65164
+ Object.defineProperty(_elements_Schema_mjs__WEBPACK_IMPORTED_MODULE_20__["default"], 'fixedFields', {
65165
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Schema.fixedFields),
65166
+ enumerable: true
65167
+ });
65168
+ Object.defineProperty(_elements_Xml_mjs__WEBPACK_IMPORTED_MODULE_21__["default"], 'fixedFields', {
65169
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.XML.fixedFields),
65170
+ enumerable: true
65171
+ });
65172
+ Object.defineProperty(_elements_SecurityScheme_mjs__WEBPACK_IMPORTED_MODULE_26__["default"], 'fixedFields', {
65173
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.SecurityScheme.fixedFields),
65174
+ enumerable: true
65175
+ });
65176
+
65177
+
64985
65178
  /***/ },
64986
65179
 
64987
65180
  /***/ 72880
@@ -91670,23 +91863,23 @@ class BundleStrategy {
91670
91863
 
91671
91864
  /***/ },
91672
91865
 
91673
- /***/ 5138
91866
+ /***/ 95416
91674
91867
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
91675
91868
 
91676
91869
  "use strict";
91677
91870
  __webpack_require__.r(__webpack_exports__);
91678
91871
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
91679
- /* harmony export */ OpenAPI3_0BundleVisitor: () => (/* reexport safe */ _visitor_mjs__WEBPACK_IMPORTED_MODULE_7__["default"]),
91872
+ /* harmony export */ OpenAPI2BundleVisitor: () => (/* reexport safe */ _visitor_mjs__WEBPACK_IMPORTED_MODULE_7__["default"]),
91680
91873
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
91681
91874
  /* harmony export */ });
91682
91875
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12111);
91683
91876
  /* harmony import */ var _speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(80796);
91684
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43151);
91685
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32131);
91877
+ /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3677);
91878
+ /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26365);
91686
91879
  /* harmony import */ var _Reference_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82302);
91687
91880
  /* harmony import */ var _ReferenceSet_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88526);
91688
91881
  /* harmony import */ var _BundleStrategy_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(73723);
91689
- /* harmony import */ var _visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(98968);
91882
+ /* harmony import */ var _visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(61210);
91690
91883
 
91691
91884
 
91692
91885
 
@@ -91700,21 +91893,21 @@ __webpack_require__.r(__webpack_exports__);
91700
91893
  /**
91701
91894
  * @public
91702
91895
  */
91703
- class OpenAPI3_0BundleStrategy extends _BundleStrategy_mjs__WEBPACK_IMPORTED_MODULE_6__["default"] {
91896
+ class OpenAPI2BundleStrategy extends _BundleStrategy_mjs__WEBPACK_IMPORTED_MODULE_6__["default"] {
91704
91897
  constructor(options) {
91705
91898
  super({
91706
91899
  ...(options ?? {}),
91707
- name: 'openapi-3-0'
91900
+ name: 'openapi-2'
91708
91901
  });
91709
91902
  }
91710
91903
  canBundle(file) {
91711
91904
  // assert by media type
91712
91905
  if (file.mediaType !== 'text/plain') {
91713
- return _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__["default"].includes(file.mediaType);
91906
+ return _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_2__["default"].includes(file.mediaType);
91714
91907
  }
91715
91908
 
91716
91909
  // assert by inspecting ApiDOM
91717
- return (0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_3__.isOpenApi3_0Element)(file.parseResult?.result);
91910
+ return (0,_speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_3__.isSwaggerElement)(file.parseResult?.result);
91718
91911
  }
91719
91912
  async bundle(file, options) {
91720
91913
  const immutableRefSet = options.bundle.refSet ?? new _ReferenceSet_mjs__WEBPACK_IMPORTED_MODULE_5__["default"]();
@@ -91767,11 +91960,11 @@ class OpenAPI3_0BundleStrategy extends _BundleStrategy_mjs__WEBPACK_IMPORTED_MOD
91767
91960
  }
91768
91961
  }
91769
91962
 
91770
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OpenAPI3_0BundleStrategy);
91963
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OpenAPI2BundleStrategy);
91771
91964
 
91772
91965
  /***/ },
91773
91966
 
91774
- /***/ 98968
91967
+ /***/ 61210
91775
91968
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
91776
91969
 
91777
91970
  "use strict";
@@ -91787,32 +91980,24 @@ __webpack_require__.r(__webpack_exports__);
91787
91980
  /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(37205);
91788
91981
  /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(44673);
91789
91982
  /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(16280);
91790
- /* harmony import */ var _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(44641);
91791
- /* harmony import */ var _speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(80796);
91792
- /* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(12020);
91793
- /* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(61198);
91794
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(30609);
91795
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(64708);
91796
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(32131);
91797
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(21314);
91798
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(29881);
91799
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(23806);
91800
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(23031);
91801
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(63842);
91802
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(87455);
91803
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(55122);
91804
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(71117);
91805
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(72257);
91806
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(69511);
91807
- /* harmony import */ var _errors_BundleError_mjs__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(89693);
91808
- /* harmony import */ var _errors_UnresolvableReferenceError_mjs__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(34968);
91809
- /* harmony import */ var _errors_MaximumBundleDepthError_mjs__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(55086);
91810
- /* harmony import */ var _errors_MaximumResolveDepthError_mjs__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(10476);
91811
- /* harmony import */ var _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(18917);
91812
- /* harmony import */ var _parse_index_mjs__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(85533);
91813
- /* harmony import */ var _Reference_mjs__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(82302);
91814
- /* harmony import */ var _util_mjs__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(78814);
91815
-
91983
+ /* harmony import */ var _speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(80796);
91984
+ /* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(12020);
91985
+ /* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(61198);
91986
+ /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(61500);
91987
+ /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(86059);
91988
+ /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(59014);
91989
+ /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(3498);
91990
+ /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(26365);
91991
+ /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(72880);
91992
+ /* harmony import */ var _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(60574);
91993
+ /* harmony import */ var _errors_BundleError_mjs__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(89693);
91994
+ /* harmony import */ var _errors_UnresolvableReferenceError_mjs__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(34968);
91995
+ /* harmony import */ var _errors_MaximumBundleDepthError_mjs__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(55086);
91996
+ /* harmony import */ var _errors_MaximumResolveDepthError_mjs__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(10476);
91997
+ /* harmony import */ var _util_url_mjs__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(18917);
91998
+ /* harmony import */ var _parse_index_mjs__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(85533);
91999
+ /* harmony import */ var _Reference_mjs__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(82302);
92000
+ /* harmony import */ var _util_mjs__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(78814);
91816
92001
 
91817
92002
 
91818
92003
 
@@ -91829,41 +92014,31 @@ __webpack_require__.r(__webpack_exports__);
91829
92014
 
91830
92015
  /**
91831
92016
  * Maps the `referenced-element` meta value (set during refraction) to the
91832
- * Components Object field where the referenced element should be hoisted.
91833
- * Field names are sourced from the Components Object fixed fields so they
91834
- * cannot drift from the namespace definition.
92017
+ * top-level Swagger Object field where the referenced element should be
92018
+ * hoisted. Unlike OpenAPI 3.x, OpenAPI 2.0 has no single Components Object;
92019
+ * reusable definitions live directly under the document root. Field names are
92020
+ * sourced from the Swagger Object fixed fields so they cannot drift from the
92021
+ * namespace definition.
91835
92022
  */
91836
- const cf = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__.fixedFields)(_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_12__["default"], {
92023
+ const sf = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__.fixedFields)(_speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_17__.SwaggerElement, {
91837
92024
  indexed: true
91838
92025
  });
91839
- const componentFieldByReferencedElement = {
91840
- schema: cf.schemas.name,
91841
- response: cf.responses.name,
91842
- parameter: cf.parameters.name,
91843
- example: cf.examples.name,
91844
- requestBody: cf.requestBodies.name,
91845
- header: cf.headers.name,
91846
- securityScheme: cf.securitySchemes.name,
91847
- link: cf.links.name,
91848
- callback: cf.callbacks.name
92026
+ const fieldByReferencedElement = {
92027
+ schema: sf.definitions.name,
92028
+ parameter: sf.parameters.name,
92029
+ response: sf.responses.name
91849
92030
  };
91850
92031
 
91851
92032
  /**
91852
- * Maps a Components Object field to the named-content element the namespace
91853
- * uses for it, so a bundle-created field matches a parsed/refracted one
91854
- * (e.g. carries the `components-schemas` class) rather than being a generic
92033
+ * Maps a top-level Swagger Object field to the named-content element the
92034
+ * namespace uses for it, so a bundle-created field matches a parsed/refracted
92035
+ * one (e.g. carries the `definitions` class) rather than being a generic
91855
92036
  * object.
91856
92037
  */
91857
- const componentFieldElementByField = {
91858
- [cf.schemas.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_23__["default"],
91859
- [cf.responses.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_22__["default"],
91860
- [cf.parameters.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_20__["default"],
91861
- [cf.examples.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_17__["default"],
91862
- [cf.requestBodies.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_21__["default"],
91863
- [cf.headers.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_18__["default"],
91864
- [cf.securitySchemes.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_24__["default"],
91865
- [cf.links.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_19__["default"],
91866
- [cf.callbacks.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_16__["default"]
92038
+ const fieldElementByField = {
92039
+ [sf.definitions.name]: _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_17__.DefinitionsElement,
92040
+ [sf.parameters.name]: _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_17__.ParametersDefinitionsElement,
92041
+ [sf.responses.name]: _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_17__.ResponsesDefinitionsElement
91867
92042
  };
91868
92043
 
91869
92044
  /**
@@ -91873,7 +92048,7 @@ const componentFieldElementByField = {
91873
92048
  /**
91874
92049
  * @public
91875
92050
  */
91876
- class OpenAPI3_0BundleVisitor {
92051
+ class OpenAPI2BundleVisitor {
91877
92052
  reference;
91878
92053
  options;
91879
92054
 
@@ -91883,7 +92058,7 @@ class OpenAPI3_0BundleVisitor {
91883
92058
  * Derived from the shared refSet's root reference.
91884
92059
  */
91885
92060
  get entryURI() {
91886
- return _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.stripHash(this.reference.refSet?.rootRef?.uri ?? '');
92061
+ return _util_url_mjs__WEBPACK_IMPORTED_MODULE_22__.stripHash(this.reference.refSet?.rootRef?.uri ?? '');
91887
92062
  }
91888
92063
 
91889
92064
  /**
@@ -91895,8 +92070,8 @@ class OpenAPI3_0BundleVisitor {
91895
92070
 
91896
92071
  /**
91897
92072
  * The entry document element. Hoisted external fragments are placed into its
91898
- * `components` object. The `canBundle` guard guarantees it is an
91899
- * OpenApi3_0Element.
92073
+ * top-level definition fields. The `canBundle` guard guarantees it is a
92074
+ * SwaggerElement.
91900
92075
  */
91901
92076
  get entryResult() {
91902
92077
  return this.entryParseResult.result;
@@ -91910,8 +92085,8 @@ class OpenAPI3_0BundleVisitor {
91910
92085
  assignments;
91911
92086
 
91912
92087
  /**
91913
- * Component names already reserved per Components Object field. Reserved
91914
- * before recursion so collision suffixing (`Pet`, `Pet-2`, ...) accounts for
92088
+ * Component names already reserved per definition field. Reserved before
92089
+ * recursion so collision suffixing (`Pet`, `Pet-2`, ...) accounts for
91915
92090
  * components that are still being bundled.
91916
92091
  */
91917
92092
  reservedNames;
@@ -91926,9 +92101,9 @@ class OpenAPI3_0BundleVisitor {
91926
92101
 
91927
92102
  /**
91928
92103
  * Canonical URIs of Path Item Objects currently being inlined. Path Items
91929
- * are not hoisted into Components Object (no `components.pathItems` in
91930
- * OpenAPI 3.0), so the `assignments` map can't break their cycles. This
91931
- * stack guards against circular external Path Item references.
92104
+ * are not a top-level definition field in OpenAPI 2.0, so the `assignments`
92105
+ * map can't break their cycles. This stack guards against circular external
92106
+ * Path Item references.
91932
92107
  */
91933
92108
  inlineStack;
91934
92109
  constructor({
@@ -91958,12 +92133,12 @@ class OpenAPI3_0BundleVisitor {
91958
92133
  byType.set(type, refracted);
91959
92134
  }
91960
92135
  toBaseURI(uri) {
91961
- return _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.resolve(this.reference.uri, _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.stripHash(uri)));
92136
+ return _util_url_mjs__WEBPACK_IMPORTED_MODULE_22__.resolve(this.reference.uri, _util_url_mjs__WEBPACK_IMPORTED_MODULE_22__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_22__.stripHash(uri)));
91962
92137
  }
91963
92138
  async toReference(uri) {
91964
92139
  // detect maximum depth of resolution
91965
92140
  if (this.reference.depth >= this.options.resolve.maxDepth) {
91966
- throw new _errors_MaximumResolveDepthError_mjs__WEBPACK_IMPORTED_MODULE_28__["default"](`Maximum resolution depth of ${this.options.resolve.maxDepth} has been exceeded by file "${this.reference.uri}"`, {
92141
+ throw new _errors_MaximumResolveDepthError_mjs__WEBPACK_IMPORTED_MODULE_21__["default"](`Maximum resolution depth of ${this.options.resolve.maxDepth} has been exceeded by file "${this.reference.uri}"`, {
91967
92142
  maxDepth: this.options.resolve.maxDepth,
91968
92143
  uri: this.reference.uri
91969
92144
  });
@@ -91977,14 +92152,14 @@ class OpenAPI3_0BundleVisitor {
91977
92152
  if (refSet.has(baseURI)) {
91978
92153
  return refSet.find((0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(baseURI, 'uri'));
91979
92154
  }
91980
- const parseResult = await (0,_parse_index_mjs__WEBPACK_IMPORTED_MODULE_30__["default"])(_util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.unsanitize(baseURI), {
92155
+ const parseResult = await (0,_parse_index_mjs__WEBPACK_IMPORTED_MODULE_23__["default"])(_util_url_mjs__WEBPACK_IMPORTED_MODULE_22__.unsanitize(baseURI), {
91981
92156
  ...this.options,
91982
92157
  parse: {
91983
92158
  ...this.options.parse,
91984
92159
  mediaType: 'text/plain'
91985
92160
  }
91986
92161
  });
91987
- const reference = new _Reference_mjs__WEBPACK_IMPORTED_MODULE_31__["default"]({
92162
+ const reference = new _Reference_mjs__WEBPACK_IMPORTED_MODULE_24__["default"]({
91988
92163
  uri: baseURI,
91989
92164
  value: parseResult,
91990
92165
  depth: this.reference.depth + 1
@@ -91994,12 +92169,12 @@ class OpenAPI3_0BundleVisitor {
91994
92169
  }
91995
92170
 
91996
92171
  /**
91997
- * Normalizes a self-file reference (e.g. `./root.json#/components/schemas/Pet`)
91998
- * to a bare fragment (`#/components/schemas/Pet`) so the bundled document stays
92172
+ * Normalizes a self-file reference (e.g. `./root.json#/definitions/Pet`)
92173
+ * to a bare fragment (`#/definitions/Pet`) so the bundled document stays
91999
92174
  * transferable. Bare fragments are returned unchanged.
92000
92175
  */
92001
92176
  normalizeSelfFileRef(ref) {
92002
- return ref.startsWith('#') ? ref : _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.getHash(ref);
92177
+ return ref.startsWith('#') ? ref : _util_url_mjs__WEBPACK_IMPORTED_MODULE_22__.getHash(ref);
92003
92178
  }
92004
92179
 
92005
92180
  /**
@@ -92018,13 +92193,13 @@ class OpenAPI3_0BundleVisitor {
92018
92193
  // breach (MaximumBundleDepthError, which also extends BundleError) is a
92019
92194
  // resolution failure and flows through below — wrapped and subject to
92020
92195
  // continueOnError, like dereferencing.
92021
- if (error instanceof _errors_BundleError_mjs__WEBPACK_IMPORTED_MODULE_25__["default"] && !(error instanceof _errors_MaximumBundleDepthError_mjs__WEBPACK_IMPORTED_MODULE_27__["default"])) {
92196
+ if (error instanceof _errors_BundleError_mjs__WEBPACK_IMPORTED_MODULE_18__["default"] && !(error instanceof _errors_MaximumBundleDepthError_mjs__WEBPACK_IMPORTED_MODULE_20__["default"])) {
92022
92197
  throw error;
92023
92198
  }
92024
92199
  const {
92025
92200
  continueOnError
92026
92201
  } = this.options.bundle;
92027
- const isEntryDocument = _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.stripHash(this.reference.refSet?.rootRef?.uri ?? '') === this.reference.uri;
92202
+ const isEntryDocument = _util_url_mjs__WEBPACK_IMPORTED_MODULE_22__.stripHash(this.reference.refSet?.rootRef?.uri ?? '') === this.reference.uri;
92028
92203
  const uri = this.reference.uri;
92029
92204
  const type = referencingElement.element;
92030
92205
  const codeFrame = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement);
@@ -92038,12 +92213,12 @@ class OpenAPI3_0BundleVisitor {
92038
92213
  codeFrame
92039
92214
  };
92040
92215
  let unresolvedError;
92041
- if (error instanceof _errors_UnresolvableReferenceError_mjs__WEBPACK_IMPORTED_MODULE_26__["default"]) {
92216
+ if (error instanceof _errors_UnresolvableReferenceError_mjs__WEBPACK_IMPORTED_MODULE_19__["default"]) {
92042
92217
  // @ts-ignore
92043
92218
  error.trace = [hop, ...error.trace];
92044
92219
  unresolvedError = error;
92045
92220
  } else {
92046
- unresolvedError = new _errors_UnresolvableReferenceError_mjs__WEBPACK_IMPORTED_MODULE_26__["default"](message, {
92221
+ unresolvedError = new _errors_UnresolvableReferenceError_mjs__WEBPACK_IMPORTED_MODULE_19__["default"](message, {
92047
92222
  cause: error,
92048
92223
  type,
92049
92224
  uri,
@@ -92059,21 +92234,16 @@ class OpenAPI3_0BundleVisitor {
92059
92234
  }
92060
92235
 
92061
92236
  /**
92062
- * Lazily creates the Components Object (and the requested field within it)
92063
- * on the entry document, returning the field where a fragment is hoisted.
92237
+ * Lazily creates the requested top-level definition field on the entry
92238
+ * document, returning the field where a fragment is hoisted.
92064
92239
  */
92065
- ensureComponentsField(field) {
92240
+ ensureField(field) {
92066
92241
  const entryResult = this.entryResult;
92067
- let components = entryResult.components;
92068
- if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(components)) {
92069
- components = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_12__["default"]();
92070
- entryResult.components = components;
92071
- }
92072
- let fieldElement = components.get(field);
92242
+ let fieldElement = entryResult.get(field);
92073
92243
  if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(fieldElement)) {
92074
- const FieldElement = componentFieldElementByField[field] ?? _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"];
92244
+ const FieldElement = fieldElementByField[field] ?? _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"];
92075
92245
  fieldElement = new FieldElement();
92076
- components.set(field, fieldElement);
92246
+ entryResult.set(field, fieldElement);
92077
92247
  }
92078
92248
  return fieldElement;
92079
92249
  }
@@ -92083,7 +92253,7 @@ class OpenAPI3_0BundleVisitor {
92083
92253
  * falling back to the referenced file's basename.
92084
92254
  */
92085
92255
  basenameOf(jsonPointer, baseURI) {
92086
- const tokens = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.parse)(jsonPointer).tree;
92256
+ const tokens = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__.parse)(jsonPointer).tree;
92087
92257
  let candidate = tokens.length > 0 ? tokens[tokens.length - 1] : '';
92088
92258
  if (candidate === '') {
92089
92259
  const lastSlash = baseURI.lastIndexOf('/');
@@ -92102,7 +92272,7 @@ class OpenAPI3_0BundleVisitor {
92102
92272
  */
92103
92273
  baseName(element, field, jsonPointer, baseURI) {
92104
92274
  // strategy specific options take precedence over the top-level bundle options
92105
- const componentNamesStrategy = this.options.bundle.strategyOpts['openapi-3-0']?.componentNamesStrategy ?? this.options.bundle.componentNamesStrategy;
92275
+ const componentNamesStrategy = this.options.bundle.strategyOpts['openapi-2']?.componentNamesStrategy ?? this.options.bundle.componentNamesStrategy;
92106
92276
  if (typeof componentNamesStrategy === 'function') {
92107
92277
  const resolved = componentNamesStrategy({
92108
92278
  element,
@@ -92118,7 +92288,7 @@ class OpenAPI3_0BundleVisitor {
92118
92288
  if (componentNamesStrategy === 'title') {
92119
92289
  const title = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(element) ? (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__["default"])(element.get('title')) : undefined;
92120
92290
  if (typeof title === 'string' && title.trim() !== '') {
92121
- const name = (0,_util_mjs__WEBPACK_IMPORTED_MODULE_32__.sanitizeComponentName)((0,_util_mjs__WEBPACK_IMPORTED_MODULE_32__.toPascalCase)(title));
92291
+ const name = (0,_util_mjs__WEBPACK_IMPORTED_MODULE_25__.sanitizeComponentName)((0,_util_mjs__WEBPACK_IMPORTED_MODULE_25__.toPascalCase)(title));
92122
92292
  if (name !== '') return name;
92123
92293
  }
92124
92294
  // fall back to basename when no usable title is present
@@ -92128,16 +92298,21 @@ class OpenAPI3_0BundleVisitor {
92128
92298
 
92129
92299
  /**
92130
92300
  * Computes a collision-free component name within the target field. A name is
92131
- * taken if it's already placed in components or reserved by a component that
92301
+ * taken if it's already placed in the field or reserved by a component that
92132
92302
  * is still being bundled (reserved before recursion).
92133
92303
  */
92134
92304
  uniqueName(candidate, field) {
92135
- const fieldElement = this.ensureComponentsField(field);
92305
+ const fieldElement = this.ensureField(field);
92136
92306
  const reserved = this.reservedNames.get(field) ?? new Set();
92137
- return (0,_util_mjs__WEBPACK_IMPORTED_MODULE_32__.uniqueName)(candidate, name => fieldElement.hasKey(name) || reserved.has(name));
92307
+ return (0,_util_mjs__WEBPACK_IMPORTED_MODULE_25__.uniqueName)(candidate, name => fieldElement.hasKey(name) || reserved.has(name));
92138
92308
  }
92139
- async ReferenceElement(path) {
92140
- const referencingElement = path.node;
92309
+
92310
+ /**
92311
+ * Bundles a Reference Object (parameters/responses) or a JSON Reference
92312
+ * Object (schemas). The two reference flavors differ only in their predicate
92313
+ * and refraction helpers, so the shared logic is parameterized here.
92314
+ */
92315
+ async bundleReference(path, referencingElement, isSemanticReference, isReferenceLike, refractReferenceFn, label) {
92141
92316
  const $ref = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__["default"])(referencingElement.$ref);
92142
92317
  const retrievalURI = this.toBaseURI($ref);
92143
92318
  const isInternalReference = this.entryURI === retrievalURI;
@@ -92155,16 +92330,16 @@ class OpenAPI3_0BundleVisitor {
92155
92330
  path.skip();
92156
92331
  return;
92157
92332
  }
92158
- const $refBaseURI = _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.resolve(retrievalURI, $ref);
92159
- const jsonPointer = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.URIFragmentIdentifier.fromURIReference($refBaseURI);
92333
+ const $refBaseURI = _util_url_mjs__WEBPACK_IMPORTED_MODULE_22__.resolve(retrievalURI, $ref);
92334
+ const jsonPointer = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__.URIFragmentIdentifier.fromURIReference($refBaseURI);
92160
92335
 
92161
- // the target bucket depends on the referencing context, so it's part of the
92336
+ // the target field depends on the referencing context, so it's part of the
92162
92337
  // identity: the same external target referenced as e.g. both a parameter and
92163
- // a response must be hoisted into both components fields. The refractor sets
92164
- // `referenced-element` for every Reference Object position; the `schemas`
92338
+ // a response must be hoisted into both fields. The refractor sets
92339
+ // `referenced-element` for every Reference Object position; the `schema`
92165
92340
  // fallback is a defensive default for the (unexpected) untagged case.
92166
92341
  const referencedElementType = referencingElement.meta.get('referenced-element');
92167
- const field = componentFieldByReferencedElement[referencedElementType] ?? componentFieldByReferencedElement.schema;
92342
+ const field = fieldByReferencedElement[referencedElementType] ?? fieldByReferencedElement.schema;
92168
92343
  const canonicalKey = `${field}\t${retrievalURI}#${jsonPointer}`;
92169
92344
 
92170
92345
  // already hoisted (or being hoisted) — just rewrite the pointer.
@@ -92184,7 +92359,7 @@ class OpenAPI3_0BundleVisitor {
92184
92359
  try {
92185
92360
  // detect maximum depth of bundling
92186
92361
  if (this.reference.depth >= this.options.bundle.maxDepth) {
92187
- throw new _errors_MaximumBundleDepthError_mjs__WEBPACK_IMPORTED_MODULE_27__["default"](`Maximum bundle depth of "${this.options.bundle.maxDepth}" has been exceeded in file "${this.reference.uri}"`, {
92362
+ throw new _errors_MaximumBundleDepthError_mjs__WEBPACK_IMPORTED_MODULE_20__["default"](`Maximum bundle depth of "${this.options.bundle.maxDepth}" has been exceeded in file "${this.reference.uri}"`, {
92188
92363
  maxDepth: this.options.bundle.maxDepth,
92189
92364
  uri: this.reference.uri
92190
92365
  });
@@ -92192,21 +92367,21 @@ class OpenAPI3_0BundleVisitor {
92192
92367
  const reference = await this.toReference($ref);
92193
92368
 
92194
92369
  // possibly non-semantic fragment
92195
- let referencedElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__.evaluate)(reference.value.result, jsonPointer);
92370
+ let referencedElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_9__.evaluate)(reference.value.result, jsonPointer);
92196
92371
 
92197
92372
  // apply semantics to the fragment so nested references become Reference Objects
92198
- if (referencedElement.element !== referencedElementType && !(0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_14__.isReferenceElement)(referencedElement)) {
92373
+ if (referencedElement.element !== referencedElementType && !isSemanticReference(referencedElement)) {
92199
92374
  const cached = this.getRefracted(referencedElement, referencedElementType);
92200
92375
  if (cached !== undefined) {
92201
92376
  referencedElement = cached;
92202
- } else if ((0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_15__.isReferenceLikeElement)(referencedElement)) {
92377
+ } else if (isReferenceLike(referencedElement)) {
92203
92378
  const sourceElement = referencedElement;
92204
- referencedElement = (0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_13__.refractReference)(referencedElement);
92379
+ referencedElement = refractReferenceFn(referencedElement);
92205
92380
  referencedElement.meta.set('referenced-element', referencedElementType);
92206
92381
  this.setRefracted(sourceElement, referencedElementType, referencedElement);
92207
92382
  } else {
92208
92383
  const sourceElement = referencedElement;
92209
- referencedElement = (0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_13__["default"])(referencedElement, {
92384
+ referencedElement = (0,_speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_13__["default"])(referencedElement, {
92210
92385
  element: referencedElementType
92211
92386
  });
92212
92387
  this.setRefracted(sourceElement, referencedElementType, referencedElement);
@@ -92214,16 +92389,16 @@ class OpenAPI3_0BundleVisitor {
92214
92389
  }
92215
92390
  const preferredName = this.baseName(referencedElement, field, jsonPointer, retrievalURI);
92216
92391
  const componentName = this.uniqueName(preferredName, field);
92217
- const internalPointer = `#/components/${field}/${(0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.escape)(componentName)}`;
92392
+ const internalPointer = `#/${field}/${(0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__.escape)(componentName)}`;
92218
92393
 
92219
92394
  // a rename means two distinct targets resolved to the same name; each
92220
92395
  // keeps its own component (and origin), so report the rename per severity.
92221
92396
  // strategy specific options take precedence over the top-level bundle options
92222
- const onComponentNameCollision = this.options.bundle.strategyOpts['openapi-3-0']?.onComponentNameCollision ?? this.options.bundle.onComponentNameCollision;
92397
+ const onComponentNameCollision = this.options.bundle.strategyOpts['openapi-2']?.onComponentNameCollision ?? this.options.bundle.onComponentNameCollision;
92223
92398
  if (componentName !== preferredName && onComponentNameCollision !== 'off') {
92224
- const message = `Component "${preferredName}" in components/${field} is referenced with the same name but different content. Renamed to "${componentName}".`;
92399
+ const message = `Component "${preferredName}" in ${field} is referenced with the same name but different content. Renamed to "${componentName}".`;
92225
92400
  if (onComponentNameCollision === 'error') {
92226
- throw new _errors_BundleError_mjs__WEBPACK_IMPORTED_MODULE_25__["default"](message);
92401
+ throw new _errors_BundleError_mjs__WEBPACK_IMPORTED_MODULE_18__["default"](message);
92227
92402
  }
92228
92403
  const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__["default"](message);
92229
92404
  annotation.classes.push('warning');
@@ -92240,7 +92415,7 @@ class OpenAPI3_0BundleVisitor {
92240
92415
 
92241
92416
  // own a copy of the fragment and bundle its own external references
92242
92417
  const hoistedElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(referencedElement);
92243
- const visitor = new OpenAPI3_0BundleVisitor({
92418
+ const visitor = new OpenAPI2BundleVisitor({
92244
92419
  reference,
92245
92420
  options: this.options,
92246
92421
  assignments: this.assignments,
@@ -92248,7 +92423,7 @@ class OpenAPI3_0BundleVisitor {
92248
92423
  refractCache: this.refractCache,
92249
92424
  inlineStack: this.inlineStack
92250
92425
  });
92251
- const bundledElement = await (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_9__.traverseAsync)(hoistedElement, visitor, {
92426
+ const bundledElement = await (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_8__.traverseAsync)(hoistedElement, visitor, {
92252
92427
  mutable: true
92253
92428
  });
92254
92429
 
@@ -92257,26 +92432,741 @@ class OpenAPI3_0BundleVisitor {
92257
92432
  bundledElement.meta.set('ref-origin', reference.uri);
92258
92433
  }
92259
92434
 
92260
- // place the bundled fragment into the entry document's components
92261
- this.ensureComponentsField(field).set(componentName, bundledElement);
92435
+ // place the bundled fragment into the entry document's definitions
92436
+ this.ensureField(field).set(componentName, bundledElement);
92262
92437
 
92263
92438
  // rewrite the referencing element to point at the hoisted fragment
92264
92439
  referencingElement.set('$ref', internalPointer);
92265
92440
  path.skip();
92266
92441
  } catch (error) {
92267
- this.handleError(`Error while bundling Reference Object. Cannot resolve $ref "${$ref}": ${error.message}`, error, referencingElement, '$ref', $ref, path);
92442
+ this.handleError(`Error while bundling ${label}. Cannot resolve $ref "${$ref}": ${error.message}`, error, referencingElement, '$ref', $ref, path);
92268
92443
  path.skip();
92269
92444
  }
92270
92445
  }
92271
92446
 
92272
92447
  /**
92273
- * Path Item Object is not a Components Object field in OpenAPI 3.0
92274
- * (unlike 3.1 which has `components.pathItems`). An external Path Item
92275
- * reference therefore cannot be hoisted; it is inlined in place instead,
92276
- * after bundling its own external references.
92448
+ * Reference Object covers reusable Parameter and Response Objects, which are
92449
+ * hoisted into the top-level `parameters` and `responses` fields.
92277
92450
  */
92278
- async PathItemElement(path) {
92279
- const pathItemElement = path.node;
92451
+ async ReferenceElement(path) {
92452
+ await this.bundleReference(path, path.node, _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_15__.isReferenceElement, _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_16__.isReferenceLikeElement, _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_13__.refractReference, 'Reference Object');
92453
+ }
92454
+
92455
+ /**
92456
+ * JSON Reference Object covers reusable Schema Objects, which are hoisted
92457
+ * into the top-level `definitions` field.
92458
+ */
92459
+ async JSONReferenceElement(path) {
92460
+ await this.bundleReference(path, path.node, _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_12__.isJSONReferenceElement, _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_14__.isJSONReferenceLikeElement, _speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_11__.refractJSONReference, 'JSON Reference Object');
92461
+ }
92462
+
92463
+ /**
92464
+ * Path Item Object is not a top-level definition field in OpenAPI 2.0, so an
92465
+ * external Path Item reference cannot be hoisted; it is inlined in place
92466
+ * instead, after bundling its own external references.
92467
+ */
92468
+ async PathItemElement(path) {
92469
+ const pathItemElement = path.node;
92470
+
92471
+ // ignore Path Item Objects without a $ref field
92472
+ if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isStringElement)(pathItemElement.$ref)) {
92473
+ return;
92474
+ }
92475
+ const $ref = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__["default"])(pathItemElement.$ref);
92476
+ const retrievalURI = this.toBaseURI($ref);
92477
+ const isInternalReference = this.entryURI === retrievalURI;
92478
+ const isExternalReference = !isInternalReference;
92479
+ if (isInternalReference) {
92480
+ // normalize self-file references to a bare fragment so the bundled
92481
+ // document stays transferable; bare fragments are left untouched
92482
+ pathItemElement.set('$ref', this.normalizeSelfFileRef($ref));
92483
+ return;
92484
+ }
92485
+
92486
+ // honor the resolve.external switch
92487
+ if (!this.options.resolve.external && isExternalReference) {
92488
+ return;
92489
+ }
92490
+ const $refBaseURI = _util_url_mjs__WEBPACK_IMPORTED_MODULE_22__.resolve(retrievalURI, $ref);
92491
+ const jsonPointer = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__.URIFragmentIdentifier.fromURIReference($refBaseURI);
92492
+ const canonicalKey = `${retrievalURI}#${jsonPointer}`;
92493
+
92494
+ // a circular external Path Item reference cannot be inlined without
92495
+ // recursing forever; leave the $ref in place to break the cycle
92496
+ if (this.inlineStack.has(canonicalKey)) {
92497
+ return;
92498
+ }
92499
+ try {
92500
+ // detect maximum depth of bundling
92501
+ if (this.reference.depth >= this.options.bundle.maxDepth) {
92502
+ throw new _errors_MaximumBundleDepthError_mjs__WEBPACK_IMPORTED_MODULE_20__["default"](`Maximum bundle depth of "${this.options.bundle.maxDepth}" has been exceeded in file "${this.reference.uri}"`, {
92503
+ maxDepth: this.options.bundle.maxDepth,
92504
+ uri: this.reference.uri
92505
+ });
92506
+ }
92507
+ const reference = await this.toReference($ref);
92508
+ let referencedElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_9__.evaluate)(reference.value.result, jsonPointer);
92509
+
92510
+ // apply Path Item semantics to the referenced fragment
92511
+ if (!(0,_speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_15__.isPathItemElement)(referencedElement)) {
92512
+ const cached = this.getRefracted(referencedElement, 'pathItem');
92513
+ if (cached !== undefined) {
92514
+ referencedElement = cached;
92515
+ } else {
92516
+ const sourceElement = referencedElement;
92517
+ referencedElement = (0,_speclynx_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_13__.refractPathItem)(referencedElement);
92518
+ this.setRefracted(sourceElement, 'pathItem', referencedElement);
92519
+ }
92520
+ }
92521
+
92522
+ // own a copy and bundle the external references it contains
92523
+ const inlinedElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(referencedElement);
92524
+ this.inlineStack.add(canonicalKey);
92525
+ const visitor = new OpenAPI2BundleVisitor({
92526
+ reference,
92527
+ options: this.options,
92528
+ assignments: this.assignments,
92529
+ reservedNames: this.reservedNames,
92530
+ refractCache: this.refractCache,
92531
+ inlineStack: this.inlineStack
92532
+ });
92533
+ let bundledElement;
92534
+ try {
92535
+ bundledElement = await (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_8__.traverseAsync)(inlinedElement, visitor, {
92536
+ mutable: true
92537
+ });
92538
+ } finally {
92539
+ this.inlineStack.delete(canonicalKey);
92540
+ }
92541
+
92542
+ // merge sibling fields from the referencing Path Item over the referenced
92543
+ // one. The referencing `$ref` is being resolved away and is skipped; the
92544
+ // referenced element keeps its own `$ref` if one survived (i.e. it was
92545
+ // left in place to break a circular external Path Item chain).
92546
+ pathItemElement.forEach((_value, keyElement, item) => {
92547
+ const key = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__["default"])(keyElement);
92548
+ if (key === '$ref') return;
92549
+ bundledElement.remove(key);
92550
+ bundledElement.content.push(item);
92551
+ });
92552
+ bundledElement.meta.set('ref-origin', reference.uri);
92553
+ path.replaceWith(bundledElement);
92554
+ } catch (error) {
92555
+ this.handleError(`Error while bundling Path Item Object. Cannot resolve $ref "${$ref}": ${error.message}`, error, pathItemElement, '$ref', $ref, path);
92556
+ }
92557
+ }
92558
+ }
92559
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OpenAPI2BundleVisitor);
92560
+
92561
+ /***/ },
92562
+
92563
+ /***/ 5138
92564
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
92565
+
92566
+ "use strict";
92567
+ __webpack_require__.r(__webpack_exports__);
92568
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
92569
+ /* harmony export */ OpenAPI3_0BundleVisitor: () => (/* reexport safe */ _visitor_mjs__WEBPACK_IMPORTED_MODULE_7__["default"]),
92570
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
92571
+ /* harmony export */ });
92572
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12111);
92573
+ /* harmony import */ var _speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(80796);
92574
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43151);
92575
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32131);
92576
+ /* harmony import */ var _Reference_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82302);
92577
+ /* harmony import */ var _ReferenceSet_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88526);
92578
+ /* harmony import */ var _BundleStrategy_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(73723);
92579
+ /* harmony import */ var _visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(98968);
92580
+
92581
+
92582
+
92583
+
92584
+
92585
+
92586
+
92587
+ /**
92588
+ * @public
92589
+ */
92590
+ /**
92591
+ * @public
92592
+ */
92593
+ class OpenAPI3_0BundleStrategy extends _BundleStrategy_mjs__WEBPACK_IMPORTED_MODULE_6__["default"] {
92594
+ constructor(options) {
92595
+ super({
92596
+ ...(options ?? {}),
92597
+ name: 'openapi-3-0'
92598
+ });
92599
+ }
92600
+ canBundle(file) {
92601
+ // assert by media type
92602
+ if (file.mediaType !== 'text/plain') {
92603
+ return _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__["default"].includes(file.mediaType);
92604
+ }
92605
+
92606
+ // assert by inspecting ApiDOM
92607
+ return (0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_3__.isOpenApi3_0Element)(file.parseResult?.result);
92608
+ }
92609
+ async bundle(file, options) {
92610
+ const immutableRefSet = options.bundle.refSet ?? new _ReferenceSet_mjs__WEBPACK_IMPORTED_MODULE_5__["default"]();
92611
+ const mutableRefSet = new _ReferenceSet_mjs__WEBPACK_IMPORTED_MODULE_5__["default"]();
92612
+ let refSet = immutableRefSet;
92613
+ let reference;
92614
+
92615
+ // determine the initial reference
92616
+ if (!immutableRefSet.has(file.uri)) {
92617
+ reference = new _Reference_mjs__WEBPACK_IMPORTED_MODULE_4__["default"]({
92618
+ uri: file.uri,
92619
+ value: file.parseResult
92620
+ });
92621
+ immutableRefSet.add(reference);
92622
+ } else {
92623
+ // pre-computed refSet was provided as configuration option
92624
+ reference = immutableRefSet.find(ref => ref.uri === file.uri);
92625
+ }
92626
+
92627
+ /**
92628
+ * Clone refSet due the bundling process being mutable.
92629
+ * We don't want to mutate the original refSet and the references.
92630
+ */
92631
+ if (options.bundle.immutable) {
92632
+ immutableRefSet.refs.map(ref => new _Reference_mjs__WEBPACK_IMPORTED_MODULE_4__["default"]({
92633
+ ...ref,
92634
+ value: (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.cloneDeep)(ref.value)
92635
+ })).forEach(ref => mutableRefSet.add(ref));
92636
+ reference = mutableRefSet.find(ref => ref.uri === file.uri);
92637
+ refSet = mutableRefSet;
92638
+ }
92639
+ const visitor = new _visitor_mjs__WEBPACK_IMPORTED_MODULE_7__["default"]({
92640
+ reference: reference,
92641
+ options
92642
+ });
92643
+ await (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_1__.traverseAsync)(refSet.rootRef.value, visitor, {
92644
+ mutable: true
92645
+ });
92646
+ const parseResult = reference.value;
92647
+
92648
+ /**
92649
+ * Release all memory if this refSet was not provided as a configuration option.
92650
+ * If provided as configuration option, then provider is responsible for cleanup.
92651
+ */
92652
+ if (options.bundle.refSet === null) {
92653
+ immutableRefSet.clean();
92654
+ }
92655
+ mutableRefSet.clean();
92656
+ return parseResult;
92657
+ }
92658
+ }
92659
+
92660
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OpenAPI3_0BundleStrategy);
92661
+
92662
+ /***/ },
92663
+
92664
+ /***/ 98968
92665
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
92666
+
92667
+ "use strict";
92668
+ __webpack_require__.r(__webpack_exports__);
92669
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
92670
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
92671
+ /* harmony export */ });
92672
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6352);
92673
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25162);
92674
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12111);
92675
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(97071);
92676
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(84660);
92677
+ /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(37205);
92678
+ /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(44673);
92679
+ /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(16280);
92680
+ /* harmony import */ var _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(44641);
92681
+ /* harmony import */ var _speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(80796);
92682
+ /* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(12020);
92683
+ /* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(61198);
92684
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(30609);
92685
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(64708);
92686
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(32131);
92687
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(21314);
92688
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(29881);
92689
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(23806);
92690
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(23031);
92691
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(63842);
92692
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(87455);
92693
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(55122);
92694
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(71117);
92695
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(72257);
92696
+ /* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(69511);
92697
+ /* harmony import */ var _errors_BundleError_mjs__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(89693);
92698
+ /* harmony import */ var _errors_UnresolvableReferenceError_mjs__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(34968);
92699
+ /* harmony import */ var _errors_MaximumBundleDepthError_mjs__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(55086);
92700
+ /* harmony import */ var _errors_MaximumResolveDepthError_mjs__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(10476);
92701
+ /* harmony import */ var _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(18917);
92702
+ /* harmony import */ var _parse_index_mjs__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(85533);
92703
+ /* harmony import */ var _Reference_mjs__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(82302);
92704
+ /* harmony import */ var _util_mjs__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(78814);
92705
+
92706
+
92707
+
92708
+
92709
+
92710
+
92711
+
92712
+
92713
+
92714
+
92715
+
92716
+
92717
+
92718
+
92719
+
92720
+ /**
92721
+ * Maps the `referenced-element` meta value (set during refraction) to the
92722
+ * Components Object field where the referenced element should be hoisted.
92723
+ * Field names are sourced from the Components Object fixed fields so they
92724
+ * cannot drift from the namespace definition.
92725
+ */
92726
+ const cf = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__.fixedFields)(_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_12__["default"], {
92727
+ indexed: true
92728
+ });
92729
+ const componentFieldByReferencedElement = {
92730
+ schema: cf.schemas.name,
92731
+ response: cf.responses.name,
92732
+ parameter: cf.parameters.name,
92733
+ example: cf.examples.name,
92734
+ requestBody: cf.requestBodies.name,
92735
+ header: cf.headers.name,
92736
+ securityScheme: cf.securitySchemes.name,
92737
+ link: cf.links.name,
92738
+ callback: cf.callbacks.name
92739
+ };
92740
+
92741
+ /**
92742
+ * Maps a Components Object field to the named-content element the namespace
92743
+ * uses for it, so a bundle-created field matches a parsed/refracted one
92744
+ * (e.g. carries the `components-schemas` class) rather than being a generic
92745
+ * object.
92746
+ */
92747
+ const componentFieldElementByField = {
92748
+ [cf.schemas.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_23__["default"],
92749
+ [cf.responses.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_22__["default"],
92750
+ [cf.parameters.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_20__["default"],
92751
+ [cf.examples.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_17__["default"],
92752
+ [cf.requestBodies.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_21__["default"],
92753
+ [cf.headers.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_18__["default"],
92754
+ [cf.securitySchemes.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_24__["default"],
92755
+ [cf.links.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_19__["default"],
92756
+ [cf.callbacks.name]: _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_16__["default"]
92757
+ };
92758
+
92759
+ /**
92760
+ * @public
92761
+ */
92762
+
92763
+ /**
92764
+ * @public
92765
+ */
92766
+ class OpenAPI3_0BundleVisitor {
92767
+ reference;
92768
+ options;
92769
+
92770
+ /**
92771
+ * The base URI (without hash) of the entry document. A reference is
92772
+ * considered internal when it resolves to this URI and external otherwise.
92773
+ * Derived from the shared refSet's root reference.
92774
+ */
92775
+ get entryURI() {
92776
+ return _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.stripHash(this.reference.refSet?.rootRef?.uri ?? '');
92777
+ }
92778
+
92779
+ /**
92780
+ * The entry parse result. Derived from the shared refSet's root reference.
92781
+ */
92782
+ get entryParseResult() {
92783
+ return this.reference.refSet.rootRef.value;
92784
+ }
92785
+
92786
+ /**
92787
+ * The entry document element. Hoisted external fragments are placed into its
92788
+ * `components` object. The `canBundle` guard guarantees it is an
92789
+ * OpenApi3_0Element.
92790
+ */
92791
+ get entryResult() {
92792
+ return this.entryParseResult.result;
92793
+ }
92794
+
92795
+ /**
92796
+ * Shared across the entry document and every external document visitor.
92797
+ * Guarantees each external fragment is hoisted exactly once and gives us a
92798
+ * stable internal pointer to rewrite every referencing element to.
92799
+ */
92800
+ assignments;
92801
+
92802
+ /**
92803
+ * Component names already reserved per Components Object field. Reserved
92804
+ * before recursion so collision suffixing (`Pet`, `Pet-2`, ...) accounts for
92805
+ * components that are still being bundled.
92806
+ */
92807
+ reservedNames;
92808
+
92809
+ /**
92810
+ * Caches refracted fragments keyed by source element and target element type.
92811
+ * The type is part of the key because the same source can be refracted into
92812
+ * different semantic elements depending on the referencing context (e.g. a
92813
+ * generic object referenced once as a Parameter and once as a Response).
92814
+ */
92815
+ refractCache;
92816
+
92817
+ /**
92818
+ * Canonical URIs of Path Item Objects currently being inlined. Path Items
92819
+ * are not hoisted into Components Object (no `components.pathItems` in
92820
+ * OpenAPI 3.0), so the `assignments` map can't break their cycles. This
92821
+ * stack guards against circular external Path Item references.
92822
+ */
92823
+ inlineStack;
92824
+ constructor({
92825
+ reference,
92826
+ options,
92827
+ assignments = new Map(),
92828
+ reservedNames = new Map(),
92829
+ refractCache = new WeakMap(),
92830
+ inlineStack = new Set()
92831
+ }) {
92832
+ this.reference = reference;
92833
+ this.options = options;
92834
+ this.inlineStack = inlineStack;
92835
+ this.assignments = assignments;
92836
+ this.reservedNames = reservedNames;
92837
+ this.refractCache = refractCache;
92838
+ }
92839
+ getRefracted(source, type) {
92840
+ return this.refractCache.get(source)?.get(type);
92841
+ }
92842
+ setRefracted(source, type, refracted) {
92843
+ let byType = this.refractCache.get(source);
92844
+ if (byType === undefined) {
92845
+ byType = new Map();
92846
+ this.refractCache.set(source, byType);
92847
+ }
92848
+ byType.set(type, refracted);
92849
+ }
92850
+ toBaseURI(uri) {
92851
+ return _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.resolve(this.reference.uri, _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.sanitize(_util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.stripHash(uri)));
92852
+ }
92853
+ async toReference(uri) {
92854
+ // detect maximum depth of resolution
92855
+ if (this.reference.depth >= this.options.resolve.maxDepth) {
92856
+ throw new _errors_MaximumResolveDepthError_mjs__WEBPACK_IMPORTED_MODULE_28__["default"](`Maximum resolution depth of ${this.options.resolve.maxDepth} has been exceeded by file "${this.reference.uri}"`, {
92857
+ maxDepth: this.options.resolve.maxDepth,
92858
+ uri: this.reference.uri
92859
+ });
92860
+ }
92861
+ const baseURI = this.toBaseURI(uri);
92862
+ const {
92863
+ refSet
92864
+ } = this.reference;
92865
+
92866
+ // we've already processed this Reference in past
92867
+ if (refSet.has(baseURI)) {
92868
+ return refSet.find((0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(baseURI, 'uri'));
92869
+ }
92870
+ const parseResult = await (0,_parse_index_mjs__WEBPACK_IMPORTED_MODULE_30__["default"])(_util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.unsanitize(baseURI), {
92871
+ ...this.options,
92872
+ parse: {
92873
+ ...this.options.parse,
92874
+ mediaType: 'text/plain'
92875
+ }
92876
+ });
92877
+ const reference = new _Reference_mjs__WEBPACK_IMPORTED_MODULE_31__["default"]({
92878
+ uri: baseURI,
92879
+ value: parseResult,
92880
+ depth: this.reference.depth + 1
92881
+ });
92882
+ refSet.add(reference);
92883
+ return reference;
92884
+ }
92885
+
92886
+ /**
92887
+ * Normalizes a self-file reference (e.g. `./root.json#/components/schemas/Pet`)
92888
+ * to a bare fragment (`#/components/schemas/Pet`) so the bundled document stays
92889
+ * transferable. Bare fragments are returned unchanged.
92890
+ */
92891
+ normalizeSelfFileRef(ref) {
92892
+ return ref.startsWith('#') ? ref : _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.getHash(ref);
92893
+ }
92894
+
92895
+ /**
92896
+ * Handles an error according to the `bundle.continueOnError` option.
92897
+ *
92898
+ * For new errors: wraps in UnresolvableReferenceError with structured
92899
+ * context. For errors already wrapped by a nested visitor: prepends the
92900
+ * current hop to the trace.
92901
+ *
92902
+ * Inner/intermediate visitors always throw to let the trace accumulate. Only
92903
+ * the entry document visitor respects continueOnError (callback/swallow/throw).
92904
+ */
92905
+ handleError(message, error, referencingElement, refFieldName, refFieldValue, visitorPath) {
92906
+ // a collision reported as `error` is a deliberate hard stop with no
92907
+ // resolution-failure analog, so pass it through unchanged. A maxDepth
92908
+ // breach (MaximumBundleDepthError, which also extends BundleError) is a
92909
+ // resolution failure and flows through below — wrapped and subject to
92910
+ // continueOnError, like dereferencing.
92911
+ if (error instanceof _errors_BundleError_mjs__WEBPACK_IMPORTED_MODULE_25__["default"] && !(error instanceof _errors_MaximumBundleDepthError_mjs__WEBPACK_IMPORTED_MODULE_27__["default"])) {
92912
+ throw error;
92913
+ }
92914
+ const {
92915
+ continueOnError
92916
+ } = this.options.bundle;
92917
+ const isEntryDocument = _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.stripHash(this.reference.refSet?.rootRef?.uri ?? '') === this.reference.uri;
92918
+ const uri = this.reference.uri;
92919
+ const type = referencingElement.element;
92920
+ const codeFrame = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement);
92921
+ const location = visitorPath.formatPath();
92922
+ const hop = {
92923
+ uri,
92924
+ type,
92925
+ refFieldName,
92926
+ refFieldValue,
92927
+ location,
92928
+ codeFrame
92929
+ };
92930
+ let unresolvedError;
92931
+ if (error instanceof _errors_UnresolvableReferenceError_mjs__WEBPACK_IMPORTED_MODULE_26__["default"]) {
92932
+ // @ts-ignore
92933
+ error.trace = [hop, ...error.trace];
92934
+ unresolvedError = error;
92935
+ } else {
92936
+ unresolvedError = new _errors_UnresolvableReferenceError_mjs__WEBPACK_IMPORTED_MODULE_26__["default"](message, {
92937
+ cause: error,
92938
+ type,
92939
+ uri,
92940
+ location,
92941
+ codeFrame,
92942
+ refFieldName,
92943
+ refFieldValue,
92944
+ trace: []
92945
+ });
92946
+ }
92947
+ if (!isEntryDocument || continueOnError === false) throw unresolvedError;
92948
+ if (typeof continueOnError === 'function') continueOnError(unresolvedError);
92949
+ }
92950
+
92951
+ /**
92952
+ * Lazily creates the Components Object (and the requested field within it)
92953
+ * on the entry document, returning the field where a fragment is hoisted.
92954
+ */
92955
+ ensureComponentsField(field) {
92956
+ const entryResult = this.entryResult;
92957
+ let components = entryResult.components;
92958
+ if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(components)) {
92959
+ components = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_12__["default"]();
92960
+ entryResult.components = components;
92961
+ }
92962
+ let fieldElement = components.get(field);
92963
+ if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(fieldElement)) {
92964
+ const FieldElement = componentFieldElementByField[field] ?? _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"];
92965
+ fieldElement = new FieldElement();
92966
+ components.set(field, fieldElement);
92967
+ }
92968
+ return fieldElement;
92969
+ }
92970
+
92971
+ /**
92972
+ * Derives a component name from the referenced JSON Pointer's last token,
92973
+ * falling back to the referenced file's basename.
92974
+ */
92975
+ basenameOf(jsonPointer, baseURI) {
92976
+ const tokens = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.parse)(jsonPointer).tree;
92977
+ let candidate = tokens.length > 0 ? tokens[tokens.length - 1] : '';
92978
+ if (candidate === '') {
92979
+ const lastSlash = baseURI.lastIndexOf('/');
92980
+ const lastDot = baseURI.lastIndexOf('.');
92981
+ const fileName = baseURI.slice(lastSlash + 1);
92982
+ // strip the extension only when the last dot belongs to the file name
92983
+ candidate = lastDot > lastSlash ? baseURI.slice(lastSlash + 1, lastDot) : fileName;
92984
+ }
92985
+ if (candidate === '') candidate = 'Schema';
92986
+ return candidate;
92987
+ }
92988
+
92989
+ /**
92990
+ * Computes the base component name (before collision suffixing) according to
92991
+ * the configured naming strategy.
92992
+ */
92993
+ baseName(element, field, jsonPointer, baseURI) {
92994
+ // strategy specific options take precedence over the top-level bundle options
92995
+ const componentNamesStrategy = this.options.bundle.strategyOpts['openapi-3-0']?.componentNamesStrategy ?? this.options.bundle.componentNamesStrategy;
92996
+ if (typeof componentNamesStrategy === 'function') {
92997
+ const resolved = componentNamesStrategy({
92998
+ element,
92999
+ field,
93000
+ jsonPointer,
93001
+ baseURI
93002
+ });
93003
+ if (typeof resolved === 'string' && resolved !== '') {
93004
+ return resolved;
93005
+ }
93006
+ return this.basenameOf(jsonPointer, baseURI);
93007
+ }
93008
+ if (componentNamesStrategy === 'title') {
93009
+ const title = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(element) ? (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__["default"])(element.get('title')) : undefined;
93010
+ if (typeof title === 'string' && title.trim() !== '') {
93011
+ const name = (0,_util_mjs__WEBPACK_IMPORTED_MODULE_32__.sanitizeComponentName)((0,_util_mjs__WEBPACK_IMPORTED_MODULE_32__.toPascalCase)(title));
93012
+ if (name !== '') return name;
93013
+ }
93014
+ // fall back to basename when no usable title is present
93015
+ }
93016
+ return this.basenameOf(jsonPointer, baseURI);
93017
+ }
93018
+
93019
+ /**
93020
+ * Computes a collision-free component name within the target field. A name is
93021
+ * taken if it's already placed in components or reserved by a component that
93022
+ * is still being bundled (reserved before recursion).
93023
+ */
93024
+ uniqueName(candidate, field) {
93025
+ const fieldElement = this.ensureComponentsField(field);
93026
+ const reserved = this.reservedNames.get(field) ?? new Set();
93027
+ return (0,_util_mjs__WEBPACK_IMPORTED_MODULE_32__.uniqueName)(candidate, name => fieldElement.hasKey(name) || reserved.has(name));
93028
+ }
93029
+ async ReferenceElement(path) {
93030
+ const referencingElement = path.node;
93031
+ const $ref = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__["default"])(referencingElement.$ref);
93032
+ const retrievalURI = this.toBaseURI($ref);
93033
+ const isInternalReference = this.entryURI === retrievalURI;
93034
+ const isExternalReference = !isInternalReference;
93035
+ if (isInternalReference) {
93036
+ // normalize self-file references to a bare fragment so the bundled
93037
+ // document stays transferable; bare fragments are left untouched
93038
+ referencingElement.set('$ref', this.normalizeSelfFileRef($ref));
93039
+ path.skip();
93040
+ return;
93041
+ }
93042
+
93043
+ // honor the resolve.external switch
93044
+ if (!this.options.resolve.external && isExternalReference) {
93045
+ path.skip();
93046
+ return;
93047
+ }
93048
+ const $refBaseURI = _util_url_mjs__WEBPACK_IMPORTED_MODULE_29__.resolve(retrievalURI, $ref);
93049
+ const jsonPointer = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.URIFragmentIdentifier.fromURIReference($refBaseURI);
93050
+
93051
+ // the target bucket depends on the referencing context, so it's part of the
93052
+ // identity: the same external target referenced as e.g. both a parameter and
93053
+ // a response must be hoisted into both components fields. The refractor sets
93054
+ // `referenced-element` for every Reference Object position; the `schemas`
93055
+ // fallback is a defensive default for the (unexpected) untagged case.
93056
+ const referencedElementType = referencingElement.meta.get('referenced-element');
93057
+ const field = componentFieldByReferencedElement[referencedElementType] ?? componentFieldByReferencedElement.schema;
93058
+ const canonicalKey = `${field}\t${retrievalURI}#${jsonPointer}`;
93059
+
93060
+ // already hoisted (or being hoisted) — just rewrite the pointer.
93061
+ //
93062
+ // this is also how circular references terminate: the assignment is
93063
+ // reserved BEFORE recursing into the fragment (see below), so a reference
93064
+ // that cycles back (directly or indirectly) finds its pointer already
93065
+ // reserved here and is rewritten without recursing. Cycles are deliberately
93066
+ // preserved as internal `$ref`s pointing at each other — that is valid,
93067
+ // serializable output; resolving the cycle (if desired) is dereferencing's
93068
+ // job, not bundling's.
93069
+ if (this.assignments.has(canonicalKey)) {
93070
+ referencingElement.set('$ref', this.assignments.get(canonicalKey));
93071
+ path.skip();
93072
+ return;
93073
+ }
93074
+ try {
93075
+ // detect maximum depth of bundling
93076
+ if (this.reference.depth >= this.options.bundle.maxDepth) {
93077
+ throw new _errors_MaximumBundleDepthError_mjs__WEBPACK_IMPORTED_MODULE_27__["default"](`Maximum bundle depth of "${this.options.bundle.maxDepth}" has been exceeded in file "${this.reference.uri}"`, {
93078
+ maxDepth: this.options.bundle.maxDepth,
93079
+ uri: this.reference.uri
93080
+ });
93081
+ }
93082
+ const reference = await this.toReference($ref);
93083
+
93084
+ // possibly non-semantic fragment
93085
+ let referencedElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__.evaluate)(reference.value.result, jsonPointer);
93086
+
93087
+ // apply semantics to the fragment so nested references become Reference Objects
93088
+ if (referencedElement.element !== referencedElementType && !(0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_14__.isReferenceElement)(referencedElement)) {
93089
+ const cached = this.getRefracted(referencedElement, referencedElementType);
93090
+ if (cached !== undefined) {
93091
+ referencedElement = cached;
93092
+ } else if ((0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_15__.isReferenceLikeElement)(referencedElement)) {
93093
+ const sourceElement = referencedElement;
93094
+ referencedElement = (0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_13__.refractReference)(referencedElement);
93095
+ referencedElement.meta.set('referenced-element', referencedElementType);
93096
+ this.setRefracted(sourceElement, referencedElementType, referencedElement);
93097
+ } else {
93098
+ const sourceElement = referencedElement;
93099
+ referencedElement = (0,_speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_13__["default"])(referencedElement, {
93100
+ element: referencedElementType
93101
+ });
93102
+ this.setRefracted(sourceElement, referencedElementType, referencedElement);
93103
+ }
93104
+ }
93105
+ const preferredName = this.baseName(referencedElement, field, jsonPointer, retrievalURI);
93106
+ const componentName = this.uniqueName(preferredName, field);
93107
+ const internalPointer = `#/components/${field}/${(0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.escape)(componentName)}`;
93108
+
93109
+ // a rename means two distinct targets resolved to the same name; each
93110
+ // keeps its own component (and origin), so report the rename per severity.
93111
+ // strategy specific options take precedence over the top-level bundle options
93112
+ const onComponentNameCollision = this.options.bundle.strategyOpts['openapi-3-0']?.onComponentNameCollision ?? this.options.bundle.onComponentNameCollision;
93113
+ if (componentName !== preferredName && onComponentNameCollision !== 'off') {
93114
+ const message = `Component "${preferredName}" in components/${field} is referenced with the same name but different content. Renamed to "${componentName}".`;
93115
+ if (onComponentNameCollision === 'error') {
93116
+ throw new _errors_BundleError_mjs__WEBPACK_IMPORTED_MODULE_25__["default"](message);
93117
+ }
93118
+ const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__["default"](message);
93119
+ annotation.classes.push('warning');
93120
+ annotation.code = 'bundle-component-name-collision';
93121
+ // append (never prepend) so the result element stays ahead of annotations
93122
+ this.entryParseResult.content.push(annotation);
93123
+ }
93124
+
93125
+ // reserve the assignment and component name before recursing so cyclic
93126
+ // references terminate
93127
+ this.assignments.set(canonicalKey, internalPointer);
93128
+ if (!this.reservedNames.has(field)) this.reservedNames.set(field, new Set());
93129
+ this.reservedNames.get(field).add(componentName);
93130
+
93131
+ // own a copy of the fragment and bundle its own external references
93132
+ const hoistedElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(referencedElement);
93133
+ const visitor = new OpenAPI3_0BundleVisitor({
93134
+ reference,
93135
+ options: this.options,
93136
+ assignments: this.assignments,
93137
+ reservedNames: this.reservedNames,
93138
+ refractCache: this.refractCache,
93139
+ inlineStack: this.inlineStack
93140
+ });
93141
+ const bundledElement = await (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_9__.traverseAsync)(hoistedElement, visitor, {
93142
+ mutable: true
93143
+ });
93144
+
93145
+ // annotate the hoisted fragment with info about its origin
93146
+ if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isElement)(bundledElement)) {
93147
+ bundledElement.meta.set('ref-origin', reference.uri);
93148
+ }
93149
+
93150
+ // place the bundled fragment into the entry document's components
93151
+ this.ensureComponentsField(field).set(componentName, bundledElement);
93152
+
93153
+ // rewrite the referencing element to point at the hoisted fragment
93154
+ referencingElement.set('$ref', internalPointer);
93155
+ path.skip();
93156
+ } catch (error) {
93157
+ this.handleError(`Error while bundling Reference Object. Cannot resolve $ref "${$ref}": ${error.message}`, error, referencingElement, '$ref', $ref, path);
93158
+ path.skip();
93159
+ }
93160
+ }
93161
+
93162
+ /**
93163
+ * Path Item Object is not a Components Object field in OpenAPI 3.0
93164
+ * (unlike 3.1 which has `components.pathItems`). An external Path Item
93165
+ * reference therefore cannot be hoisted; it is inlined in place instead,
93166
+ * after bundling its own external references.
93167
+ */
93168
+ async PathItemElement(path) {
93169
+ const pathItemElement = path.node;
92280
93170
 
92281
93171
  // ignore Path Item Objects without a $ref field
92282
93172
  if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isStringElement)(pathItemElement.$ref)) {
@@ -92552,48 +93442,48 @@ const uniqueName = (candidate, isTaken) => {
92552
93442
  "use strict";
92553
93443
  __webpack_require__.r(__webpack_exports__);
92554
93444
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
92555
- /* harmony export */ BundleError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.BundleError),
92556
- /* harmony export */ BundleStrategy: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.BundleStrategy),
92557
- /* harmony export */ DereferenceAncestorLineage: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.DereferenceAncestorLineage),
92558
- /* harmony export */ DereferenceError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.DereferenceError),
92559
- /* harmony export */ DereferenceStrategy: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.DereferenceStrategy),
92560
- /* harmony export */ EvaluationElementIdError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.EvaluationElementIdError),
92561
- /* harmony export */ EvaluationJsonSchema$anchorError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.EvaluationJsonSchema$anchorError),
92562
- /* harmony export */ EvaluationJsonSchemaUriError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.EvaluationJsonSchemaUriError),
92563
- /* harmony export */ File: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.File),
92564
- /* harmony export */ HTTPResolver: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.HTTPResolver),
92565
- /* harmony export */ InvalidJsonSchema$anchorError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.InvalidJsonSchema$anchorError),
92566
- /* harmony export */ JsonSchema$anchorError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.JsonSchema$anchorError),
92567
- /* harmony export */ JsonSchemaURIError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.JsonSchemaURIError),
92568
- /* harmony export */ MaximumBundleDepthError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.MaximumBundleDepthError),
92569
- /* harmony export */ MaximumDereferenceDepthError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.MaximumDereferenceDepthError),
92570
- /* harmony export */ MaximumResolveDepthError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.MaximumResolveDepthError),
92571
- /* harmony export */ ParseError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.ParseError),
92572
- /* harmony export */ Parser: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.Parser),
92573
- /* harmony export */ ParserError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.ParserError),
92574
- /* harmony export */ PluginError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.PluginError),
92575
- /* harmony export */ Reference: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.Reference),
92576
- /* harmony export */ ReferenceSet: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.ReferenceSet),
92577
- /* harmony export */ ResolveError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.ResolveError),
92578
- /* harmony export */ ResolveStrategy: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.ResolveStrategy),
92579
- /* harmony export */ Resolver: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.Resolver),
92580
- /* harmony export */ ResolverError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.ResolverError),
92581
- /* harmony export */ UnmatchedBundleStrategyError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.UnmatchedBundleStrategyError),
92582
- /* harmony export */ UnmatchedDereferenceStrategyError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.UnmatchedDereferenceStrategyError),
92583
- /* harmony export */ UnmatchedParserError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.UnmatchedParserError),
92584
- /* harmony export */ UnmatchedResolveStrategyError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.UnmatchedResolveStrategyError),
92585
- /* harmony export */ UnmatchedResolverError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.UnmatchedResolverError),
92586
- /* harmony export */ UnresolvableReferenceError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.UnresolvableReferenceError),
92587
- /* harmony export */ bundle: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.bundle),
92588
- /* harmony export */ dereference: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.dereference),
92589
- /* harmony export */ dereferenceApiDOM: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.dereferenceApiDOM),
92590
- /* harmony export */ mergeOptions: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.mergeOptions),
92591
- /* harmony export */ options: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.options),
92592
- /* harmony export */ parse: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.parse),
92593
- /* harmony export */ readFile: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.readFile),
92594
- /* harmony export */ resolve: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.resolve),
92595
- /* harmony export */ resolveApiDOM: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.resolveApiDOM),
92596
- /* harmony export */ url: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_35__.url)
93445
+ /* harmony export */ BundleError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.BundleError),
93446
+ /* harmony export */ BundleStrategy: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.BundleStrategy),
93447
+ /* harmony export */ DereferenceAncestorLineage: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.DereferenceAncestorLineage),
93448
+ /* harmony export */ DereferenceError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.DereferenceError),
93449
+ /* harmony export */ DereferenceStrategy: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.DereferenceStrategy),
93450
+ /* harmony export */ EvaluationElementIdError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.EvaluationElementIdError),
93451
+ /* harmony export */ EvaluationJsonSchema$anchorError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.EvaluationJsonSchema$anchorError),
93452
+ /* harmony export */ EvaluationJsonSchemaUriError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.EvaluationJsonSchemaUriError),
93453
+ /* harmony export */ File: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.File),
93454
+ /* harmony export */ HTTPResolver: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.HTTPResolver),
93455
+ /* harmony export */ InvalidJsonSchema$anchorError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.InvalidJsonSchema$anchorError),
93456
+ /* harmony export */ JsonSchema$anchorError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.JsonSchema$anchorError),
93457
+ /* harmony export */ JsonSchemaURIError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.JsonSchemaURIError),
93458
+ /* harmony export */ MaximumBundleDepthError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.MaximumBundleDepthError),
93459
+ /* harmony export */ MaximumDereferenceDepthError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.MaximumDereferenceDepthError),
93460
+ /* harmony export */ MaximumResolveDepthError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.MaximumResolveDepthError),
93461
+ /* harmony export */ ParseError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.ParseError),
93462
+ /* harmony export */ Parser: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.Parser),
93463
+ /* harmony export */ ParserError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.ParserError),
93464
+ /* harmony export */ PluginError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.PluginError),
93465
+ /* harmony export */ Reference: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.Reference),
93466
+ /* harmony export */ ReferenceSet: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.ReferenceSet),
93467
+ /* harmony export */ ResolveError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.ResolveError),
93468
+ /* harmony export */ ResolveStrategy: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.ResolveStrategy),
93469
+ /* harmony export */ Resolver: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.Resolver),
93470
+ /* harmony export */ ResolverError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.ResolverError),
93471
+ /* harmony export */ UnmatchedBundleStrategyError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.UnmatchedBundleStrategyError),
93472
+ /* harmony export */ UnmatchedDereferenceStrategyError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.UnmatchedDereferenceStrategyError),
93473
+ /* harmony export */ UnmatchedParserError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.UnmatchedParserError),
93474
+ /* harmony export */ UnmatchedResolveStrategyError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.UnmatchedResolveStrategyError),
93475
+ /* harmony export */ UnmatchedResolverError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.UnmatchedResolverError),
93476
+ /* harmony export */ UnresolvableReferenceError: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.UnresolvableReferenceError),
93477
+ /* harmony export */ bundle: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.bundle),
93478
+ /* harmony export */ dereference: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.dereference),
93479
+ /* harmony export */ dereferenceApiDOM: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.dereferenceApiDOM),
93480
+ /* harmony export */ mergeOptions: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.mergeOptions),
93481
+ /* harmony export */ options: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.options),
93482
+ /* harmony export */ parse: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.parse),
93483
+ /* harmony export */ readFile: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.readFile),
93484
+ /* harmony export */ resolve: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.resolve),
93485
+ /* harmony export */ resolveApiDOM: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.resolveApiDOM),
93486
+ /* harmony export */ url: () => (/* reexport safe */ _index_mjs__WEBPACK_IMPORTED_MODULE_36__.url)
92597
93487
  /* harmony export */ });
92598
93488
  /* harmony import */ var _resolve_resolvers_file_index_node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79948);
92599
93489
  /* harmony import */ var _resolve_resolvers_http_axios_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(352);
@@ -92627,10 +93517,12 @@ __webpack_require__.r(__webpack_exports__);
92627
93517
  /* harmony import */ var _dereference_strategies_asyncapi_2_index_mjs__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(35070);
92628
93518
  /* harmony import */ var _dereference_strategies_arazzo_1_index_mjs__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(880);
92629
93519
  /* harmony import */ var _dereference_strategies_overlay_1_index_mjs__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(67689);
92630
- /* harmony import */ var _bundle_strategies_openapi_3_0_index_mjs__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(5138);
92631
- /* harmony import */ var _bundle_strategies_openapi_3_1_index_mjs__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(58091);
92632
- /* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(30306);
92633
- /* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(37013);
93520
+ /* harmony import */ var _bundle_strategies_openapi_2_index_mjs__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(95416);
93521
+ /* harmony import */ var _bundle_strategies_openapi_3_0_index_mjs__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(5138);
93522
+ /* harmony import */ var _bundle_strategies_openapi_3_1_index_mjs__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(58091);
93523
+ /* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(30306);
93524
+ /* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(37013);
93525
+
92634
93526
 
92635
93527
 
92636
93528
 
@@ -92666,7 +93558,7 @@ __webpack_require__.r(__webpack_exports__);
92666
93558
 
92667
93559
 
92668
93560
 
92669
- _index_mjs__WEBPACK_IMPORTED_MODULE_34__["default"].parse.parsers = [new _parse_parsers_openapi_json_2_index_mjs__WEBPACK_IMPORTED_MODULE_9__["default"]({
93561
+ _index_mjs__WEBPACK_IMPORTED_MODULE_35__["default"].parse.parsers = [new _parse_parsers_openapi_json_2_index_mjs__WEBPACK_IMPORTED_MODULE_9__["default"]({
92670
93562
  allowEmpty: true,
92671
93563
  sourceMap: false
92672
93564
  }), new _parse_parsers_openapi_yaml_2_index_mjs__WEBPACK_IMPORTED_MODULE_10__["default"]({
@@ -92714,14 +93606,14 @@ _index_mjs__WEBPACK_IMPORTED_MODULE_34__["default"].parse.parsers = [new _parse_
92714
93606
  }), new _parse_parsers_binary_index_node_mjs__WEBPACK_IMPORTED_MODULE_24__["default"]({
92715
93607
  allowEmpty: true
92716
93608
  })];
92717
- _index_mjs__WEBPACK_IMPORTED_MODULE_34__["default"].resolve.resolvers = [new _resolve_resolvers_file_index_node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"](), new _resolve_resolvers_http_axios_index_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]({
93609
+ _index_mjs__WEBPACK_IMPORTED_MODULE_35__["default"].resolve.resolvers = [new _resolve_resolvers_file_index_node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"](), new _resolve_resolvers_http_axios_index_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]({
92718
93610
  timeout: 5000,
92719
93611
  redirects: 5,
92720
93612
  withCredentials: false
92721
93613
  })];
92722
- _index_mjs__WEBPACK_IMPORTED_MODULE_34__["default"].resolve.strategies = [new _resolve_strategies_openapi_2_index_mjs__WEBPACK_IMPORTED_MODULE_2__["default"](), new _resolve_strategies_openapi_3_0_index_mjs__WEBPACK_IMPORTED_MODULE_3__["default"](), new _resolve_strategies_openapi_3_1_index_mjs__WEBPACK_IMPORTED_MODULE_4__["default"](), new _resolve_strategies_asyncapi_2_index_mjs__WEBPACK_IMPORTED_MODULE_5__["default"](), new _resolve_strategies_arazzo_1_index_mjs__WEBPACK_IMPORTED_MODULE_6__["default"](), new _resolve_strategies_overlay_1_index_mjs__WEBPACK_IMPORTED_MODULE_7__["default"](), new _resolve_strategies_apidom_index_mjs__WEBPACK_IMPORTED_MODULE_8__["default"]()];
92723
- _index_mjs__WEBPACK_IMPORTED_MODULE_34__["default"].dereference.strategies = [new _dereference_strategies_openapi_2_index_mjs__WEBPACK_IMPORTED_MODULE_26__["default"](), new _dereference_strategies_openapi_3_0_index_mjs__WEBPACK_IMPORTED_MODULE_27__["default"](), new _dereference_strategies_openapi_3_1_index_mjs__WEBPACK_IMPORTED_MODULE_28__["default"](), new _dereference_strategies_asyncapi_2_index_mjs__WEBPACK_IMPORTED_MODULE_29__["default"](), new _dereference_strategies_arazzo_1_index_mjs__WEBPACK_IMPORTED_MODULE_30__["default"](), new _dereference_strategies_overlay_1_index_mjs__WEBPACK_IMPORTED_MODULE_31__["default"](), new _dereference_strategies_apidom_index_mjs__WEBPACK_IMPORTED_MODULE_25__["default"]()];
92724
- _index_mjs__WEBPACK_IMPORTED_MODULE_34__["default"].bundle.strategies = [new _bundle_strategies_openapi_3_0_index_mjs__WEBPACK_IMPORTED_MODULE_32__["default"](), new _bundle_strategies_openapi_3_1_index_mjs__WEBPACK_IMPORTED_MODULE_33__["default"]()];
93614
+ _index_mjs__WEBPACK_IMPORTED_MODULE_35__["default"].resolve.strategies = [new _resolve_strategies_openapi_2_index_mjs__WEBPACK_IMPORTED_MODULE_2__["default"](), new _resolve_strategies_openapi_3_0_index_mjs__WEBPACK_IMPORTED_MODULE_3__["default"](), new _resolve_strategies_openapi_3_1_index_mjs__WEBPACK_IMPORTED_MODULE_4__["default"](), new _resolve_strategies_asyncapi_2_index_mjs__WEBPACK_IMPORTED_MODULE_5__["default"](), new _resolve_strategies_arazzo_1_index_mjs__WEBPACK_IMPORTED_MODULE_6__["default"](), new _resolve_strategies_overlay_1_index_mjs__WEBPACK_IMPORTED_MODULE_7__["default"](), new _resolve_strategies_apidom_index_mjs__WEBPACK_IMPORTED_MODULE_8__["default"]()];
93615
+ _index_mjs__WEBPACK_IMPORTED_MODULE_35__["default"].dereference.strategies = [new _dereference_strategies_openapi_2_index_mjs__WEBPACK_IMPORTED_MODULE_26__["default"](), new _dereference_strategies_openapi_3_0_index_mjs__WEBPACK_IMPORTED_MODULE_27__["default"](), new _dereference_strategies_openapi_3_1_index_mjs__WEBPACK_IMPORTED_MODULE_28__["default"](), new _dereference_strategies_asyncapi_2_index_mjs__WEBPACK_IMPORTED_MODULE_29__["default"](), new _dereference_strategies_arazzo_1_index_mjs__WEBPACK_IMPORTED_MODULE_30__["default"](), new _dereference_strategies_overlay_1_index_mjs__WEBPACK_IMPORTED_MODULE_31__["default"](), new _dereference_strategies_apidom_index_mjs__WEBPACK_IMPORTED_MODULE_25__["default"]()];
93616
+ _index_mjs__WEBPACK_IMPORTED_MODULE_35__["default"].bundle.strategies = [new _bundle_strategies_openapi_2_index_mjs__WEBPACK_IMPORTED_MODULE_32__["default"](), new _bundle_strategies_openapi_3_0_index_mjs__WEBPACK_IMPORTED_MODULE_33__["default"](), new _bundle_strategies_openapi_3_1_index_mjs__WEBPACK_IMPORTED_MODULE_34__["default"]()];
92725
93617
 
92726
93618
 
92727
93619
  /***/ },