@speclynx/apidom-ns-openapi-3-0 6.1.0 → 6.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/apidom-ns-openapi-3-0.browser.js +29 -36
- package/dist/apidom-ns-openapi-3-0.browser.min.js +1 -1
- package/package.json +9 -9
- package/src/refractor/plugins/replace-empty-element.cjs +6 -6
- package/src/refractor/plugins/replace-empty-element.mjs +7 -7
- package/types/apidom-ns-openapi-3-0.d.ts +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [6.1.1](https://github.com/speclynx/apidom/compare/v6.1.0...v6.1.1) (2026-10-29)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- parse empty YAML values as null elements ([#712](https://github.com/speclynx/apidom/issues/712)) ([388e842](https://github.com/speclynx/apidom/commit/388e842f3156fc94f46724f507cbf0dd92acae06)), closes [#655](https://github.com/speclynx/apidom/issues/655) [#709](https://github.com/speclynx/apidom/issues/709) [#694](https://github.com/speclynx/apidom/issues/694)
|
|
11
|
+
- serialize empty YAML mapping keys to the empty string ([#709](https://github.com/speclynx/apidom/issues/709)) ([3ecce30](https://github.com/speclynx/apidom/commit/3ecce3025b89e5bcdb1481525fe35a86685285f9)), closes [#655](https://github.com/speclynx/apidom/issues/655) [#694](https://github.com/speclynx/apidom/issues/694)
|
|
12
|
+
- skip empty keys in replace-empty-element refractor plugins ([#710](https://github.com/speclynx/apidom/issues/710)) ([ffdd3b8](https://github.com/speclynx/apidom/commit/ffdd3b8a1d297a92b081d0a8aacabd7a53bb0055)), closes [#694](https://github.com/speclynx/apidom/issues/694)
|
|
13
|
+
|
|
6
14
|
# [6.1.0](https://github.com/speclynx/apidom/compare/v6.0.6...v6.1.0) (2026-10-17)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @speclynx/apidom-ns-openapi-3-0
|
|
@@ -3851,8 +3851,8 @@ class NormalizeStorage {
|
|
|
3851
3851
|
__webpack_require__.r(__webpack_exports__);
|
|
3852
3852
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5162);
|
|
3853
3853
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2111);
|
|
3854
|
-
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
3855
|
-
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
3854
|
+
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7601);
|
|
3855
|
+
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8252);
|
|
3856
3856
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7071);
|
|
3857
3857
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5810);
|
|
3858
3858
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9686);
|
|
@@ -4012,7 +4012,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
4012
4012
|
* (OpenapiElement))
|
|
4013
4013
|
* (MemberElement
|
|
4014
4014
|
* (StringElement)
|
|
4015
|
-
* (
|
|
4015
|
+
* (NullElement))
|
|
4016
4016
|
*
|
|
4017
4017
|
* Refracting result with this plugin:
|
|
4018
4018
|
*
|
|
@@ -4025,7 +4025,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
4025
4025
|
* (InfoElement))
|
|
4026
4026
|
*/
|
|
4027
4027
|
|
|
4028
|
-
const isEmptyElement = element => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(element) && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.includesClasses)(element, ['yaml-e-node', 'yaml-e-scalar']);
|
|
4029
4028
|
const schema = {
|
|
4030
4029
|
// concrete types handling (CTs)
|
|
4031
4030
|
OpenApi3_0Element: {
|
|
@@ -4066,7 +4065,7 @@ const schema = {
|
|
|
4066
4065
|
},
|
|
4067
4066
|
ServerVariableElement: {
|
|
4068
4067
|
enum(...args) {
|
|
4069
|
-
return new
|
|
4068
|
+
return new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
|
|
4070
4069
|
}
|
|
4071
4070
|
},
|
|
4072
4071
|
PathsElement: {
|
|
@@ -4235,7 +4234,7 @@ const schema = {
|
|
|
4235
4234
|
},
|
|
4236
4235
|
SecurityRequirementElement: {
|
|
4237
4236
|
'[key: *]': function key(...args) {
|
|
4238
|
-
return new
|
|
4237
|
+
return new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
|
|
4239
4238
|
}
|
|
4240
4239
|
},
|
|
4241
4240
|
TagElement: {
|
|
@@ -4250,17 +4249,17 @@ const schema = {
|
|
|
4250
4249
|
return element;
|
|
4251
4250
|
},
|
|
4252
4251
|
allOf(...args) {
|
|
4253
|
-
const element = new
|
|
4252
|
+
const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
|
|
4254
4253
|
element.classes.push('json-schema-allOf');
|
|
4255
4254
|
return element;
|
|
4256
4255
|
},
|
|
4257
4256
|
anyOf(...args) {
|
|
4258
|
-
const element = new
|
|
4257
|
+
const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
|
|
4259
4258
|
element.classes.push('json-schema-anyOf');
|
|
4260
4259
|
return element;
|
|
4261
4260
|
},
|
|
4262
4261
|
oneOf(...args) {
|
|
4263
|
-
const element = new
|
|
4262
|
+
const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
|
|
4264
4263
|
element.classes.push('json-schema-oneOf');
|
|
4265
4264
|
return element;
|
|
4266
4265
|
},
|
|
@@ -4284,12 +4283,12 @@ const schema = {
|
|
|
4284
4283
|
return new _elements_Schema_ts__WEBPACK_IMPORTED_MODULE_17__["default"](...args);
|
|
4285
4284
|
},
|
|
4286
4285
|
enum(...args) {
|
|
4287
|
-
const element = new
|
|
4286
|
+
const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
|
|
4288
4287
|
element.classes.push('json-schema-enum');
|
|
4289
4288
|
return element;
|
|
4290
4289
|
},
|
|
4291
4290
|
required(...args) {
|
|
4292
|
-
const element = new
|
|
4291
|
+
const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
|
|
4293
4292
|
element.classes.push('json-schema-required');
|
|
4294
4293
|
return element;
|
|
4295
4294
|
},
|
|
@@ -4521,9 +4520,9 @@ const findElementFactory = (ancestor, keyName) => {
|
|
|
4521
4520
|
*/
|
|
4522
4521
|
const plugin = () => () => ({
|
|
4523
4522
|
visitor: {
|
|
4524
|
-
|
|
4523
|
+
NullElement(path) {
|
|
4525
4524
|
const element = path.node;
|
|
4526
|
-
if (!
|
|
4525
|
+
if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.includesClasses)(element, ['yaml-e-node', 'yaml-e-scalar'])) return;
|
|
4527
4526
|
const lineage = path.getAncestorNodes().reverse(); // root to parent
|
|
4528
4527
|
const parentElement = lineage.at(-1);
|
|
4529
4528
|
let elementFactory;
|
|
@@ -4531,7 +4530,8 @@ const plugin = () => () => ({
|
|
|
4531
4530
|
if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(parentElement)) {
|
|
4532
4531
|
context = element;
|
|
4533
4532
|
elementFactory = findElementFactory(parentElement, '<*>');
|
|
4534
|
-
} else if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isMemberElement)(parentElement)) {
|
|
4533
|
+
} else if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isMemberElement)(parentElement) && parentElement.value === element) {
|
|
4534
|
+
// an empty key is the name of its member; only an empty value stands for a missing element
|
|
4535
4535
|
context = lineage.at(-2);
|
|
4536
4536
|
elementFactory = findElementFactory(context, (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(parentElement.key));
|
|
4537
4537
|
}
|
|
@@ -4540,7 +4540,7 @@ const plugin = () => () => ({
|
|
|
4540
4540
|
if (typeof elementFactory !== 'function') return;
|
|
4541
4541
|
const newElement = elementFactory.call({
|
|
4542
4542
|
context
|
|
4543
|
-
},
|
|
4543
|
+
}, null, element.isMetaEmpty ? undefined : (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.meta), element.isAttributesEmpty ? undefined : (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.attributes));
|
|
4544
4544
|
_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_5__["default"].transfer(element, newElement);
|
|
4545
4545
|
_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_6__["default"].transfer(element, newElement);
|
|
4546
4546
|
path.replaceWith(newElement);
|
|
@@ -8839,9 +8839,8 @@ class AnyOfVisitor extends JSONSchemaAnyOfVisitor {
|
|
|
8839
8839
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8840
8840
|
|
|
8841
8841
|
__webpack_require__.r(__webpack_exports__);
|
|
8842
|
-
/*
|
|
8843
|
-
/* harmony import */ var
|
|
8844
|
-
/* harmony import */ var _predicates_ts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7269);
|
|
8842
|
+
/* harmony import */ var _speclynx_apidom_ns_json_schema_draft_4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6207);
|
|
8843
|
+
/* harmony import */ var _predicates_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7269);
|
|
8845
8844
|
|
|
8846
8845
|
|
|
8847
8846
|
|
|
@@ -8849,10 +8848,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8849
8848
|
/**
|
|
8850
8849
|
* @public
|
|
8851
8850
|
*/
|
|
8852
|
-
class ItemsVisitor extends
|
|
8851
|
+
class ItemsVisitor extends _speclynx_apidom_ns_json_schema_draft_4__WEBPACK_IMPORTED_MODULE_0__["default"] {
|
|
8853
8852
|
ObjectElement(path) {
|
|
8854
|
-
|
|
8855
|
-
if ((0,
|
|
8853
|
+
_speclynx_apidom_ns_json_schema_draft_4__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.ObjectElement.call(this, path);
|
|
8854
|
+
if ((0,_predicates_ts__WEBPACK_IMPORTED_MODULE_1__.isReferenceElement)(this.element)) {
|
|
8856
8855
|
this.element.meta.set('referenced-element', 'schema');
|
|
8857
8856
|
}
|
|
8858
8857
|
}
|
|
@@ -25521,11 +25520,8 @@ const resolveSpecification = specification => {
|
|
|
25521
25520
|
__webpack_require__.r(__webpack_exports__);
|
|
25522
25521
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5162);
|
|
25523
25522
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6911);
|
|
25524
|
-
/* harmony import */ var
|
|
25525
|
-
/* harmony import */ var _util_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(977);
|
|
25523
|
+
/* harmony import */ var _util_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(977);
|
|
25526
25524
|
|
|
25527
|
-
// an empty YAML node (YAML 1.2 §7.2) is a null parsed as an empty string with the yaml-e-node class
|
|
25528
|
-
const isEmptyNode = element => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(element) && element.toValue() === '' && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.includesClasses)(element, ['yaml-e-node']);
|
|
25529
25525
|
|
|
25530
25526
|
/**
|
|
25531
25527
|
* Transforms the ApiDOM into JavaScript POJO.
|
|
@@ -25535,7 +25531,6 @@ const isEmptyNode = element => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_M
|
|
|
25535
25531
|
*/
|
|
25536
25532
|
const serializer = element => {
|
|
25537
25533
|
if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isElement)(element)) return element;
|
|
25538
|
-
if (isEmptyNode(element)) return null;
|
|
25539
25534
|
|
|
25540
25535
|
// Shortcut optimization for primitive element types
|
|
25541
25536
|
if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(element) || (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isNumberElement)(element) || (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isBooleanElement)(element) || (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isNullElement)(element)) {
|
|
@@ -25553,8 +25548,8 @@ const serializer = element => {
|
|
|
25553
25548
|
node.forEach((value, key) => {
|
|
25554
25549
|
const k = serialize(key);
|
|
25555
25550
|
const v = serialize(value);
|
|
25556
|
-
const name = (0,
|
|
25557
|
-
if (name !== undefined) (0,
|
|
25551
|
+
const name = (0,_util_mjs__WEBPACK_IMPORTED_MODULE_2__.toPropertyName)(k);
|
|
25552
|
+
if (name !== undefined) (0,_util_mjs__WEBPACK_IMPORTED_MODULE_2__["default"])(obj, name, v);
|
|
25558
25553
|
});
|
|
25559
25554
|
return obj;
|
|
25560
25555
|
}
|
|
@@ -25569,7 +25564,6 @@ const serializer = element => {
|
|
|
25569
25564
|
if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isLinkElement)(node)) {
|
|
25570
25565
|
return (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(node.href) ? node.href.toValue() : '';
|
|
25571
25566
|
}
|
|
25572
|
-
if (isEmptyNode(node)) return null;
|
|
25573
25567
|
return node.toValue();
|
|
25574
25568
|
};
|
|
25575
25569
|
return serialize(element);
|
|
@@ -27574,11 +27568,10 @@ class CollectionElement extends _Element_mjs__WEBPACK_IMPORTED_MODULE_0__["defau
|
|
|
27574
27568
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
27575
27569
|
|
|
27576
27570
|
__webpack_require__.r(__webpack_exports__);
|
|
27577
|
-
/* empty/unused harmony star reexport */
|
|
27578
27571
|
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3654);
|
|
27579
27572
|
/* harmony import */ var _Metadata_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1844);
|
|
27580
|
-
/* harmony import */ var
|
|
27581
|
-
/* harmony import */ var
|
|
27573
|
+
/* harmony import */ var _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6663);
|
|
27574
|
+
/* harmony import */ var _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8504);
|
|
27582
27575
|
|
|
27583
27576
|
|
|
27584
27577
|
|
|
@@ -27748,13 +27741,13 @@ class Element {
|
|
|
27748
27741
|
}
|
|
27749
27742
|
|
|
27750
27743
|
// KeyValuePair
|
|
27751
|
-
if (value instanceof
|
|
27744
|
+
if (value instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
|
|
27752
27745
|
this._content = value;
|
|
27753
27746
|
return;
|
|
27754
27747
|
}
|
|
27755
27748
|
|
|
27756
27749
|
// ObjectSlice - extract elements array
|
|
27757
|
-
if (value instanceof
|
|
27750
|
+
if (value instanceof _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]) {
|
|
27758
27751
|
this._content = value.elements;
|
|
27759
27752
|
return;
|
|
27760
27753
|
}
|
|
@@ -27873,7 +27866,7 @@ class Element {
|
|
|
27873
27866
|
if (Array.isArray(content)) {
|
|
27874
27867
|
return content;
|
|
27875
27868
|
}
|
|
27876
|
-
if (content instanceof
|
|
27869
|
+
if (content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
|
|
27877
27870
|
const children = [];
|
|
27878
27871
|
if (content.key) children.push(content.key);
|
|
27879
27872
|
if (content.value) children.push(content.value);
|
|
@@ -27937,7 +27930,7 @@ class Element {
|
|
|
27937
27930
|
if (_content instanceof Element) {
|
|
27938
27931
|
return _content.toValue();
|
|
27939
27932
|
}
|
|
27940
|
-
if (_content instanceof
|
|
27933
|
+
if (_content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
|
|
27941
27934
|
return _content.toValue();
|
|
27942
27935
|
}
|
|
27943
27936
|
if (Array.isArray(_content)) {
|