@swagger-api/apidom-core 0.76.2 → 0.77.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.
- package/CHANGELOG.md +11 -0
- package/README.md +53 -5
- package/cjs/clone/errors/CloneError.cjs +7 -0
- package/cjs/clone/errors/DeepCloneError.cjs +8 -0
- package/cjs/clone/errors/ShallowCloneError.cjs +8 -0
- package/cjs/clone/index.cjs +105 -0
- package/cjs/deepmerge.cjs +9 -7
- package/cjs/elements/Annotation.cjs +1 -2
- package/cjs/elements/Comment.cjs +1 -2
- package/cjs/elements/ParseResult.cjs +1 -2
- package/cjs/elements/SourceMap.cjs +1 -2
- package/cjs/index.cjs +61 -101
- package/cjs/media-types.cjs +1 -2
- package/cjs/namespace.cjs +1 -2
- package/cjs/predicates/helpers.cjs +1 -2
- package/cjs/predicates/index.cjs +14 -28
- package/cjs/refractor/index.cjs +1 -2
- package/cjs/refractor/plugins/element-identity.cjs +1 -2
- package/cjs/refractor/plugins/semantic-element-identity.cjs +1 -2
- package/cjs/refractor/toolbox.cjs +1 -2
- package/cjs/transcluder/Transcluder.cjs +1 -2
- package/cjs/transcluder/index.cjs +1 -2
- package/cjs/transformers/dehydrate.cjs +14 -0
- package/cjs/transformers/from.cjs +27 -0
- package/cjs/{serializers → transformers/serializers}/json.cjs +1 -2
- package/cjs/{serializers → transformers/serializers}/value/ast/ephemeral-array.cjs +1 -2
- package/cjs/{serializers → transformers/serializers}/value/ast/ephemeral-object.cjs +1 -2
- package/cjs/{serializers → transformers/serializers}/value/index.cjs +8 -2
- package/cjs/{serializers → transformers/serializers}/value/visitor.cjs +1 -1
- package/cjs/{serializers → transformers/serializers}/yaml-1-2.cjs +2 -3
- package/cjs/{sexprs.cjs → transformers/sexprs.cjs} +2 -3
- package/cjs/transformers/to-string.cjs +15 -0
- package/cjs/traversal/filter.cjs +1 -2
- package/cjs/traversal/find.cjs +1 -2
- package/cjs/traversal/findAtOffset.cjs +4 -4
- package/cjs/traversal/parents.cjs +1 -2
- package/cjs/traversal/reject.cjs +1 -2
- package/cjs/traversal/some.cjs +1 -2
- package/cjs/traversal/traverse.cjs +2 -4
- package/cjs/traversal/visitor.cjs +17 -8
- package/dist/apidom-core.browser.js +661 -375
- package/dist/apidom-core.browser.min.js +1 -1
- package/es/clone/errors/CloneError.mjs +3 -0
- package/es/clone/errors/DeepCloneError.mjs +3 -0
- package/es/clone/errors/ShallowCloneError.mjs +3 -0
- package/es/clone/index.mjs +98 -0
- package/es/deepmerge.mjs +9 -8
- package/es/index.mjs +12 -38
- package/es/transformers/dehydrate.mjs +9 -0
- package/es/transformers/from.mjs +22 -0
- package/es/{serializers → transformers/serializers}/value/index.mjs +7 -0
- package/es/{serializers → transformers/serializers}/value/visitor.mjs +1 -1
- package/es/{serializers → transformers/serializers}/yaml-1-2.mjs +1 -1
- package/es/{sexprs.mjs → transformers/sexprs.mjs} +1 -1
- package/es/transformers/to-string.mjs +10 -0
- package/es/traversal/findAtOffset.mjs +3 -2
- package/es/traversal/visitor.mjs +13 -2
- package/package.json +4 -4
- package/types/dist.d.ts +47 -32
- package/types/minim.d.ts +14 -2
- /package/es/{serializers → transformers/serializers}/json.mjs +0 -0
- /package/es/{serializers → transformers/serializers}/value/ast/ephemeral-array.mjs +0 -0
- /package/es/{serializers → transformers/serializers}/value/ast/ephemeral-object.mjs +0 -0
package/cjs/refractor/index.cjs
CHANGED
|
@@ -15,5 +15,4 @@ const transclude = (search, replace, element) => {
|
|
|
15
15
|
return transcluder.transclude(search, replace);
|
|
16
16
|
};
|
|
17
17
|
exports.transclude = transclude;
|
|
18
|
-
var _default = _Transcluder.default;
|
|
19
|
-
exports.default = _default;
|
|
18
|
+
var _default = exports.default = _Transcluder.default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.default = void 0;
|
|
6
|
+
var _namespace = _interopRequireDefault(require("../namespace.cjs"));
|
|
7
|
+
/**
|
|
8
|
+
* Creates a refract representation of an Element.
|
|
9
|
+
* https://github.com/refractproject/refract-spec
|
|
10
|
+
*/
|
|
11
|
+
const dehydrate = (element, namespace = _namespace.default) => {
|
|
12
|
+
return namespace.toRefract(element);
|
|
13
|
+
};
|
|
14
|
+
var _default = exports.default = dehydrate;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.default = void 0;
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
var _ramdaAdjunct = require("ramda-adjunct");
|
|
8
|
+
var _namespace = _interopRequireDefault(require("../namespace.cjs"));
|
|
9
|
+
/**
|
|
10
|
+
* Transforms data to an Element from a particular namespace.
|
|
11
|
+
*/
|
|
12
|
+
const from = (data, namespace = _namespace.default) => {
|
|
13
|
+
if ((0, _ramdaAdjunct.isString)(data)) {
|
|
14
|
+
// JSON serialized refract
|
|
15
|
+
try {
|
|
16
|
+
return namespace.fromRefract(JSON.parse(data));
|
|
17
|
+
} catch {
|
|
18
|
+
// noop
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if ((0, _ramdaAdjunct.isPlainObject)(data) && (0, _ramda.has)('element', data)) {
|
|
22
|
+
// refract javascript structure
|
|
23
|
+
return namespace.fromRefract(data);
|
|
24
|
+
}
|
|
25
|
+
return namespace.toElement(data);
|
|
26
|
+
};
|
|
27
|
+
var _default = exports.default = from;
|
|
@@ -5,5 +5,4 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _index = _interopRequireDefault(require("./value/index.cjs"));
|
|
7
7
|
const serializer = (element, replacer, space) => JSON.stringify((0, _index.default)(element), replacer, space);
|
|
8
|
-
var _default = serializer;
|
|
9
|
-
exports.default = _default;
|
|
8
|
+
var _default = exports.default = serializer;
|
|
@@ -7,6 +7,7 @@ var _stampit = _interopRequireDefault(require("stampit"));
|
|
|
7
7
|
var _visitor = require("./visitor.cjs");
|
|
8
8
|
var _ephemeralArray = _interopRequireDefault(require("./ast/ephemeral-array.cjs"));
|
|
9
9
|
var _ephemeralObject = _interopRequireDefault(require("./ast/ephemeral-object.cjs"));
|
|
10
|
+
var _index = require("../../../predicates/index.cjs");
|
|
10
11
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
11
12
|
const Visitor = _stampit.default.init(function _Visitor() {
|
|
12
13
|
const references = new WeakMap();
|
|
@@ -61,7 +62,12 @@ const Visitor = _stampit.default.init(function _Visitor() {
|
|
|
61
62
|
/* eslint-enable */
|
|
62
63
|
|
|
63
64
|
const serializer = element => {
|
|
65
|
+
if (!(0, _index.isElement)(element)) return element;
|
|
66
|
+
|
|
67
|
+
// shortcut optimization for certain element types
|
|
68
|
+
if ((0, _index.isStringElement)(element) || (0, _index.isNumberElement)(element) || (0, _index.isBooleanElement)(element) || (0, _index.isNullElement)(element)) {
|
|
69
|
+
return element.toValue();
|
|
70
|
+
}
|
|
64
71
|
return (0, _visitor.visit)(element, Visitor());
|
|
65
72
|
};
|
|
66
|
-
var _default = serializer;
|
|
67
|
-
exports.default = _default;
|
|
73
|
+
var _default = exports.default = serializer;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.visit = void 0;
|
|
5
5
|
var _ramda = require("ramda");
|
|
6
|
-
var _visitor = require("
|
|
6
|
+
var _visitor = require("../../../traversal/visitor.cjs");
|
|
7
7
|
const nodeTypeGetter = node => {
|
|
8
8
|
if (typeof (node == null ? void 0 : node.type) === 'string') {
|
|
9
9
|
return node.type;
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _stampit = _interopRequireDefault(require("stampit"));
|
|
7
|
-
var _visitor = require("
|
|
7
|
+
var _visitor = require("../../traversal/visitor.cjs");
|
|
8
8
|
var _index = _interopRequireDefault(require("./value/index.cjs"));
|
|
9
9
|
const YamlVisitor = (0, _stampit.default)({
|
|
10
10
|
props: {
|
|
@@ -88,5 +88,4 @@ const serializer = (element, {
|
|
|
88
88
|
(0, _visitor.visit)(element, visitor);
|
|
89
89
|
return visitor.result;
|
|
90
90
|
};
|
|
91
|
-
var _default = serializer;
|
|
92
|
-
exports.default = _default;
|
|
91
|
+
var _default = exports.default = serializer;
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _stampit = _interopRequireDefault(require("stampit"));
|
|
7
|
-
var _visitor = require("
|
|
7
|
+
var _visitor = require("../traversal/visitor.cjs");
|
|
8
8
|
const SymbolicExpressionsVisitor = (0, _stampit.default)({
|
|
9
9
|
props: {
|
|
10
10
|
nestingLevel: 0,
|
|
@@ -34,5 +34,4 @@ const sexprs = element => {
|
|
|
34
34
|
(0, _visitor.visit)(element, visitor);
|
|
35
35
|
return visitor.result;
|
|
36
36
|
};
|
|
37
|
-
var _default = sexprs;
|
|
38
|
-
exports.default = _default;
|
|
37
|
+
var _default = exports.default = sexprs;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.default = void 0;
|
|
6
|
+
var _namespace = _interopRequireDefault(require("../namespace.cjs"));
|
|
7
|
+
var _dehydrate = _interopRequireDefault(require("./dehydrate.cjs"));
|
|
8
|
+
/**
|
|
9
|
+
* Create a refracted string representation of an Element.
|
|
10
|
+
*/
|
|
11
|
+
const toString = (element, namespace = _namespace.default) => {
|
|
12
|
+
const refractStructure = (0, _dehydrate.default)(element, namespace);
|
|
13
|
+
return JSON.stringify(refractStructure);
|
|
14
|
+
};
|
|
15
|
+
var _default = exports.default = toString;
|
package/cjs/traversal/filter.cjs
CHANGED
package/cjs/traversal/find.cjs
CHANGED
|
@@ -8,6 +8,7 @@ var _ramda = require("ramda");
|
|
|
8
8
|
var _ramdaAdjunct = require("ramda-adjunct");
|
|
9
9
|
var _index = require("../predicates/index.cjs");
|
|
10
10
|
var _visitor = require("./visitor.cjs");
|
|
11
|
+
var _index2 = _interopRequireDefault(require("../transformers/serializers/value/index.cjs"));
|
|
11
12
|
const Visitor = (0, _stampit.default)({
|
|
12
13
|
props: {
|
|
13
14
|
result: [],
|
|
@@ -30,8 +31,8 @@ const Visitor = (0, _stampit.default)({
|
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
const sourceMapElement = element.getMetaProperty('sourceMap');
|
|
33
|
-
const charStart = sourceMapElement.positionStart.get(2)
|
|
34
|
-
const charEnd = sourceMapElement.positionEnd.get(2)
|
|
34
|
+
const charStart = (0, _index2.default)(sourceMapElement.positionStart.get(2));
|
|
35
|
+
const charEnd = (0, _index2.default)(sourceMapElement.positionEnd.get(2));
|
|
35
36
|
const isWithinOffsetRange = this.offset >= charStart && (this.offset < charEnd || this.includeRightBound && this.offset <= charEnd);
|
|
36
37
|
if (isWithinOffsetRange) {
|
|
37
38
|
this.result.push(element);
|
|
@@ -63,5 +64,4 @@ const findAtOffset = (options, element) => {
|
|
|
63
64
|
(0, _visitor.visit)(element, visitor);
|
|
64
65
|
return (0, _ramda.last)(visitor.result);
|
|
65
66
|
};
|
|
66
|
-
var _default = findAtOffset;
|
|
67
|
-
exports.default = _default;
|
|
67
|
+
var _default = exports.default = findAtOffset;
|
package/cjs/traversal/reject.cjs
CHANGED
|
@@ -9,5 +9,4 @@ var _filter = _interopRequireDefault(require("./filter.cjs"));
|
|
|
9
9
|
const reject = (predicate, element) => {
|
|
10
10
|
return (0, _filter.default)((0, _ramda.complement)(predicate), element);
|
|
11
11
|
};
|
|
12
|
-
var _default = reject;
|
|
13
|
-
exports.default = _default;
|
|
12
|
+
var _default = exports.default = reject;
|
package/cjs/traversal/some.cjs
CHANGED
|
@@ -9,5 +9,4 @@ var _find = _interopRequireDefault(require("./find.cjs"));
|
|
|
9
9
|
const some = (predicate, element) => {
|
|
10
10
|
return (0, _ramdaAdjunct.isNotUndefined)((0, _find.default)(predicate, element));
|
|
11
11
|
};
|
|
12
|
-
var _default = some;
|
|
13
|
-
exports.default = _default;
|
|
12
|
+
var _default = exports.default = some;
|
|
@@ -8,7 +8,7 @@ var _ramda = require("ramda");
|
|
|
8
8
|
var _ramdaAdjunct = require("ramda-adjunct");
|
|
9
9
|
var _visitor = require("./visitor.cjs");
|
|
10
10
|
var _index = require("../predicates/index.cjs");
|
|
11
|
-
const CallbackVisitor = (0, _stampit.default)(_visitor.PredicateVisitor, {
|
|
11
|
+
const CallbackVisitor = exports.CallbackVisitor = (0, _stampit.default)(_visitor.PredicateVisitor, {
|
|
12
12
|
props: {
|
|
13
13
|
callback: _ramdaAdjunct.noop
|
|
14
14
|
},
|
|
@@ -30,7 +30,6 @@ const CallbackVisitor = (0, _stampit.default)(_visitor.PredicateVisitor, {
|
|
|
30
30
|
});
|
|
31
31
|
|
|
32
32
|
// executes the callback on this element and all descendants
|
|
33
|
-
exports.CallbackVisitor = CallbackVisitor;
|
|
34
33
|
const traverse = (options, element) => {
|
|
35
34
|
let callback;
|
|
36
35
|
let predicate;
|
|
@@ -49,5 +48,4 @@ const traverse = (options, element) => {
|
|
|
49
48
|
// @ts-ignore
|
|
50
49
|
(0, _visitor.visit)(element, visitor);
|
|
51
50
|
};
|
|
52
|
-
var _default = traverse;
|
|
53
|
-
exports.default = _default;
|
|
51
|
+
var _default = exports.default = traverse;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
|
-
exports.visit = exports.keyMapDefault = exports.isNode = exports.getNodeType = exports.PredicateVisitor = void 0;
|
|
5
|
+
exports.visit = exports.keyMapDefault = exports.isNode = exports.getNodeType = exports.cloneNode = exports.PredicateVisitor = void 0;
|
|
6
6
|
var _stampit = _interopRequireDefault(require("stampit"));
|
|
7
7
|
var _ramda = require("ramda");
|
|
8
8
|
var _ramdaAdjunct = require("ramda-adjunct");
|
|
@@ -10,6 +10,7 @@ var _apidomAst = require("@swagger-api/apidom-ast");
|
|
|
10
10
|
exports.BREAK = _apidomAst.BREAK;
|
|
11
11
|
exports.mergeAllVisitors = _apidomAst.mergeAllVisitors;
|
|
12
12
|
var _index = require("../predicates/index.cjs");
|
|
13
|
+
var _index2 = require("../clone/index.cjs");
|
|
13
14
|
// getNodeType :: Node -> String
|
|
14
15
|
const getNodeType = element => {
|
|
15
16
|
/*
|
|
@@ -24,11 +25,19 @@ const getNodeType = element => {
|
|
|
24
25
|
/* eslint-enable */
|
|
25
26
|
};
|
|
26
27
|
|
|
27
|
-
//
|
|
28
|
+
// cloneNode :: a -> a
|
|
28
29
|
exports.getNodeType = getNodeType;
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
const cloneNode = node => {
|
|
31
|
+
if ((0, _index.isElement)(node)) {
|
|
32
|
+
return (0, _index2.cloneShallow)(node);
|
|
33
|
+
}
|
|
34
|
+
return (0, _apidomAst.cloneNode)(node);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// isNode :: Node -> Boolean
|
|
38
|
+
exports.cloneNode = cloneNode;
|
|
39
|
+
const isNode = exports.isNode = (0, _ramda.pipe)(getNodeType, _ramdaAdjunct.isString);
|
|
40
|
+
const keyMapDefault = exports.keyMapDefault = {
|
|
32
41
|
ObjectElement: ['content'],
|
|
33
42
|
ArrayElement: ['content'],
|
|
34
43
|
MemberElement: ['key', 'value'],
|
|
@@ -43,8 +52,7 @@ const keyMapDefault = {
|
|
|
43
52
|
ParseResultElement: ['content'],
|
|
44
53
|
SourceMap: ['content']
|
|
45
54
|
};
|
|
46
|
-
exports.
|
|
47
|
-
const PredicateVisitor = (0, _stampit.default)({
|
|
55
|
+
const PredicateVisitor = exports.PredicateVisitor = (0, _stampit.default)({
|
|
48
56
|
props: {
|
|
49
57
|
result: [],
|
|
50
58
|
predicate: _ramda.F,
|
|
@@ -76,7 +84,6 @@ const PredicateVisitor = (0, _stampit.default)({
|
|
|
76
84
|
});
|
|
77
85
|
|
|
78
86
|
// @ts-ignore
|
|
79
|
-
exports.PredicateVisitor = PredicateVisitor;
|
|
80
87
|
const visit = (root,
|
|
81
88
|
// @ts-ignore
|
|
82
89
|
visitor, {
|
|
@@ -90,6 +97,7 @@ visitor, {
|
|
|
90
97
|
// @ts-ignore
|
|
91
98
|
nodeTypeGetter: getNodeType,
|
|
92
99
|
nodePredicate: isNode,
|
|
100
|
+
nodeCloneFn: cloneNode,
|
|
93
101
|
...rest
|
|
94
102
|
});
|
|
95
103
|
};
|
|
@@ -109,6 +117,7 @@ visitor, {
|
|
|
109
117
|
// @ts-ignore
|
|
110
118
|
nodeTypeGetter: getNodeType,
|
|
111
119
|
nodePredicate: isNode,
|
|
120
|
+
nodeCloneFn: cloneNode,
|
|
112
121
|
...rest
|
|
113
122
|
});
|
|
114
123
|
};
|