@swagger-api/apidom-core 0.68.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 +366 -0
- package/LICENSES/Apache-2.0.txt +202 -0
- package/LICENSES/MIT.txt +9 -0
- package/README.md +679 -0
- package/cjs/deepmerge.cjs +87 -0
- package/cjs/elements/Annotation.cjs +21 -0
- package/cjs/elements/Comment.cjs +13 -0
- package/cjs/elements/ParseResult.cjs +51 -0
- package/cjs/elements/SourceMap.cjs +29 -0
- package/cjs/index.cjs +144 -0
- package/cjs/media-types.cjs +24 -0
- package/cjs/namespace.cjs +32 -0
- package/cjs/predicates/helpers.cjs +28 -0
- package/cjs/predicates/index.cjs +149 -0
- package/cjs/refractor/index.cjs +37 -0
- package/cjs/refractor/plugins/element-identity.cjs +36 -0
- package/cjs/refractor/plugins/semantic-element-identity.cjs +36 -0
- package/cjs/refractor/plugins/utils/index.cjs +26 -0
- package/cjs/refractor/registration.cjs +34 -0
- package/cjs/refractor/toolbox.cjs +20 -0
- package/cjs/serializers/json.cjs +9 -0
- package/cjs/serializers/value/ast/ephemeral-array.cjs +22 -0
- package/cjs/serializers/value/ast/ephemeral-object.cjs +21 -0
- package/cjs/serializers/value/index.cjs +67 -0
- package/cjs/serializers/value/visitor.cjs +54 -0
- package/cjs/serializers/yaml-1-2.cjs +93 -0
- package/cjs/sexprs.cjs +38 -0
- package/cjs/transcluder/Transcluder.cjs +110 -0
- package/cjs/transcluder/index.cjs +19 -0
- package/cjs/traversal/filter.cjs +20 -0
- package/cjs/traversal/find.cjs +20 -0
- package/cjs/traversal/findAtOffset.cjs +71 -0
- package/cjs/traversal/index.cjs +19 -0
- package/cjs/traversal/parents.cjs +47 -0
- package/cjs/traversal/reject.cjs +14 -0
- package/cjs/traversal/some.cjs +15 -0
- package/cjs/traversal/traverse.cjs +54 -0
- package/cjs/traversal/visitor.cjs +114 -0
- package/cjs/util.cjs +27 -0
- package/dist/apidom-core.browser.js +30952 -0
- package/dist/apidom-core.browser.min.js +1 -0
- package/es/deepmerge.js +84 -0
- package/es/elements/Annotation.js +16 -0
- package/es/elements/Comment.js +8 -0
- package/es/elements/ParseResult.js +46 -0
- package/es/elements/SourceMap.js +24 -0
- package/es/index.js +72 -0
- package/es/media-types.js +22 -0
- package/es/namespace.js +24 -0
- package/es/predicates/helpers.js +22 -0
- package/es/predicates/index.js +124 -0
- package/es/refractor/index.js +32 -0
- package/es/refractor/plugins/element-identity.js +30 -0
- package/es/refractor/plugins/semantic-element-identity.js +34 -0
- package/es/refractor/plugins/utils/index.js +19 -0
- package/es/refractor/registration.js +19 -0
- package/es/refractor/toolbox.js +13 -0
- package/es/serializers/json.js +3 -0
- package/es/serializers/value/ast/ephemeral-array.js +18 -0
- package/es/serializers/value/ast/ephemeral-object.js +17 -0
- package/es/serializers/value/index.js +61 -0
- package/es/serializers/value/visitor.js +54 -0
- package/es/serializers/yaml-1-2.js +87 -0
- package/es/sexprs.js +32 -0
- package/es/transcluder/Transcluder.js +104 -0
- package/es/transcluder/index.js +12 -0
- package/es/traversal/filter.js +14 -0
- package/es/traversal/find.js +14 -0
- package/es/traversal/findAtOffset.js +65 -0
- package/es/traversal/index.js +7 -0
- package/es/traversal/parents.js +40 -0
- package/es/traversal/reject.js +7 -0
- package/es/traversal/some.js +8 -0
- package/es/traversal/traverse.js +47 -0
- package/es/traversal/visitor.js +110 -0
- package/es/util.js +23 -0
- package/package.json +65 -0
- package/types/dist.d.ts +260 -0
- package/types/minim.d.ts +222 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = deepmerge;
|
|
5
|
+
var _minim = require("minim");
|
|
6
|
+
var _index = require("./predicates/index.cjs");
|
|
7
|
+
const emptyElement = element => {
|
|
8
|
+
const meta = element.meta.clone();
|
|
9
|
+
const attributes = element.attributes.clone();
|
|
10
|
+
|
|
11
|
+
// @ts-ignore
|
|
12
|
+
return new element.constructor(undefined, meta, attributes);
|
|
13
|
+
};
|
|
14
|
+
const cloneMemberElement = memberElement => new _minim.MemberElement(memberElement.key, memberElement.value, memberElement.meta.clone(), memberElement.attributes.clone());
|
|
15
|
+
const cloneUnlessOtherwiseSpecified = (element, options) => options.clone && options.isMergeableElement(element) ? deepmerge(emptyElement(element), element, options) : element;
|
|
16
|
+
const getMergeFunction = (keyElement, options) => {
|
|
17
|
+
if (typeof options.customMerge !== 'function') {
|
|
18
|
+
return deepmerge;
|
|
19
|
+
}
|
|
20
|
+
const customMerge = options.customMerge(keyElement, options);
|
|
21
|
+
return typeof customMerge === 'function' ? customMerge : deepmerge;
|
|
22
|
+
};
|
|
23
|
+
const mergeArrayElement = (targetElement, sourceElement, options) => targetElement.concat(sourceElement)['fantasy-land/map'](item => cloneUnlessOtherwiseSpecified(item, options));
|
|
24
|
+
const mergeObjectElement = (targetElement, sourceElement, options) => {
|
|
25
|
+
const destination = (0, _index.isObjectElement)(targetElement) ? emptyElement(targetElement) : emptyElement(sourceElement);
|
|
26
|
+
if ((0, _index.isObjectElement)(targetElement)) {
|
|
27
|
+
targetElement.forEach((value, key, member) => {
|
|
28
|
+
const clonedMember = cloneMemberElement(member);
|
|
29
|
+
clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
|
|
30
|
+
destination.content.push(clonedMember);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
sourceElement.forEach((value, key, member) => {
|
|
34
|
+
const keyValue = key.toValue();
|
|
35
|
+
let clonedMember;
|
|
36
|
+
if ((0, _index.isObjectElement)(targetElement) && targetElement.hasKey(keyValue) && options.isMergeableElement(value)) {
|
|
37
|
+
const targetValue = targetElement.get(keyValue);
|
|
38
|
+
clonedMember = cloneMemberElement(member);
|
|
39
|
+
clonedMember.value = getMergeFunction(key, options)(targetValue, value);
|
|
40
|
+
} else {
|
|
41
|
+
clonedMember = cloneMemberElement(member);
|
|
42
|
+
clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
|
|
43
|
+
}
|
|
44
|
+
destination.remove(keyValue);
|
|
45
|
+
destination.content.push(clonedMember);
|
|
46
|
+
});
|
|
47
|
+
return destination;
|
|
48
|
+
};
|
|
49
|
+
function deepmerge(targetElement, sourceElement, options) {
|
|
50
|
+
var _mergedOptions$isMerg, _mergedOptions$arrayE, _mergedOptions$object;
|
|
51
|
+
const defaultOptions = {
|
|
52
|
+
clone: true,
|
|
53
|
+
isMergeableElement: element => (0, _index.isObjectElement)(element) || (0, _index.isArrayElement)(element),
|
|
54
|
+
arrayElementMerge: mergeArrayElement,
|
|
55
|
+
objectElementMerge: mergeObjectElement,
|
|
56
|
+
customMerge: undefined
|
|
57
|
+
};
|
|
58
|
+
const mergedOptions = {
|
|
59
|
+
...defaultOptions,
|
|
60
|
+
...options
|
|
61
|
+
};
|
|
62
|
+
mergedOptions.isMergeableElement = (_mergedOptions$isMerg = mergedOptions.isMergeableElement) !== null && _mergedOptions$isMerg !== void 0 ? _mergedOptions$isMerg : defaultOptions.isMergeableElement;
|
|
63
|
+
mergedOptions.arrayElementMerge = (_mergedOptions$arrayE = mergedOptions.arrayElementMerge) !== null && _mergedOptions$arrayE !== void 0 ? _mergedOptions$arrayE : defaultOptions.arrayElementMerge;
|
|
64
|
+
mergedOptions.objectElementMerge = (_mergedOptions$object = mergedOptions.objectElementMerge) !== null && _mergedOptions$object !== void 0 ? _mergedOptions$object : defaultOptions.objectElementMerge;
|
|
65
|
+
const sourceIsArrayElement = (0, _index.isArrayElement)(sourceElement);
|
|
66
|
+
const targetIsArrayElement = (0, _index.isArrayElement)(targetElement);
|
|
67
|
+
const sourceAndTargetTypesMatch = sourceIsArrayElement === targetIsArrayElement;
|
|
68
|
+
if (!sourceAndTargetTypesMatch) {
|
|
69
|
+
return cloneUnlessOtherwiseSpecified(sourceElement, mergedOptions);
|
|
70
|
+
}
|
|
71
|
+
if (sourceIsArrayElement && typeof mergedOptions.arrayElementMerge === 'function') {
|
|
72
|
+
return mergedOptions.arrayElementMerge(targetElement, sourceElement, mergedOptions);
|
|
73
|
+
}
|
|
74
|
+
return mergedOptions.objectElementMerge(targetElement, sourceElement, mergedOptions);
|
|
75
|
+
}
|
|
76
|
+
deepmerge.all = (list, options) => {
|
|
77
|
+
if (!Array.isArray(list)) {
|
|
78
|
+
throw new Error('first argument should be an array');
|
|
79
|
+
}
|
|
80
|
+
if (list.length === 0) {
|
|
81
|
+
return new _minim.ObjectElement();
|
|
82
|
+
}
|
|
83
|
+
return list.reduce((target, source) => {
|
|
84
|
+
return deepmerge(target, source, options);
|
|
85
|
+
}, emptyElement(list[0]));
|
|
86
|
+
};
|
|
87
|
+
/* eslint-enable @typescript-eslint/no-use-before-define */
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _minim = require("minim");
|
|
6
|
+
class Annotation extends _minim.StringElement {
|
|
7
|
+
// classes: warning | error
|
|
8
|
+
|
|
9
|
+
constructor(content, meta, attributes) {
|
|
10
|
+
super(content, meta, attributes);
|
|
11
|
+
this.element = 'annotation';
|
|
12
|
+
}
|
|
13
|
+
get code() {
|
|
14
|
+
return this.attributes.get('code');
|
|
15
|
+
}
|
|
16
|
+
set code(value) {
|
|
17
|
+
this.attributes.set('code', value);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
var _default = Annotation;
|
|
21
|
+
exports.default = _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _minim = require("minim");
|
|
6
|
+
class Comment extends _minim.StringElement {
|
|
7
|
+
constructor(content, meta, attributes) {
|
|
8
|
+
super(content, meta, attributes);
|
|
9
|
+
this.element = 'comment';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
var _default = Comment;
|
|
13
|
+
exports.default = _default;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _minim = require("minim");
|
|
6
|
+
var _ramdaAdjunct = require("ramda-adjunct");
|
|
7
|
+
class ParseResult extends _minim.ArrayElement {
|
|
8
|
+
constructor(content, meta, attributes) {
|
|
9
|
+
super(content, meta, attributes);
|
|
10
|
+
this.element = 'parseResult';
|
|
11
|
+
}
|
|
12
|
+
get api() {
|
|
13
|
+
return this.children.filter(item => item.classes.contains('api')).first;
|
|
14
|
+
}
|
|
15
|
+
get results() {
|
|
16
|
+
return this.children.filter(item => item.classes.contains('result'));
|
|
17
|
+
}
|
|
18
|
+
get result() {
|
|
19
|
+
return this.results.first;
|
|
20
|
+
}
|
|
21
|
+
get annotations() {
|
|
22
|
+
return this.children.filter(item => item.element === 'annotation');
|
|
23
|
+
}
|
|
24
|
+
get warnings() {
|
|
25
|
+
return this.children.filter(item => item.element === 'annotation' && item.classes.contains('warning'));
|
|
26
|
+
}
|
|
27
|
+
get errors() {
|
|
28
|
+
return this.children.filter(item => item.element === 'annotation' && item.classes.contains('error'));
|
|
29
|
+
}
|
|
30
|
+
get isEmpty() {
|
|
31
|
+
return this.children.reject(item => item.element === 'annotation').isEmpty;
|
|
32
|
+
}
|
|
33
|
+
replaceResult(replacement) {
|
|
34
|
+
const {
|
|
35
|
+
result
|
|
36
|
+
} = this;
|
|
37
|
+
if ((0, _ramdaAdjunct.isUndefined)(result)) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
const searchIndex = this.content.findIndex(e => e === result);
|
|
43
|
+
if (searchIndex === -1) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
this.content[searchIndex] = replacement;
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
var _default = ParseResult;
|
|
51
|
+
exports.default = _default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _minim = require("minim");
|
|
6
|
+
class SourceMap extends _minim.ArrayElement {
|
|
7
|
+
constructor(content, meta, attributes) {
|
|
8
|
+
super(content, meta, attributes);
|
|
9
|
+
this.element = 'sourceMap';
|
|
10
|
+
}
|
|
11
|
+
get positionStart() {
|
|
12
|
+
return this.children.filter(item => item.classes.contains('position')).get(0);
|
|
13
|
+
}
|
|
14
|
+
get positionEnd() {
|
|
15
|
+
return this.children.filter(item => item.classes.contains('position')).get(1);
|
|
16
|
+
}
|
|
17
|
+
set position(position) {
|
|
18
|
+
if (position === null) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const start = new _minim.ArrayElement([position.start.row, position.start.column, position.start.char]);
|
|
22
|
+
const end = new _minim.ArrayElement([position.end.row, position.end.column, position.end.char]);
|
|
23
|
+
start.classes.push('position');
|
|
24
|
+
end.classes.push('position');
|
|
25
|
+
this.push(start).push(end);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
var _default = SourceMap;
|
|
29
|
+
exports.default = _default;
|
package/cjs/index.cjs
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.visit = exports.traverse = exports.transclude = exports.toYAML = exports.toValue = exports.toString = exports.toJSON = exports.some = exports.sexprs = exports.reject = exports.refractorPluginSemanticElementIdentity = exports.refractorPluginElementIdentity = exports.refract = exports.parents = exports.namespace = exports.mergeAllVisitors = exports.keyMap = exports.isStringElement = exports.isSourceMapElement = exports.isRefElement = exports.isPrimitiveElement = exports.isParseResultElement = exports.isObjectElement = exports.isNumberElement = exports.isNullElement = exports.isMemberElement = exports.isLinkElement = exports.isElement = exports.isBooleanElement = exports.isArrayElement = exports.isAnnotationElement = exports.includesSymbols = exports.includesClasses = exports.hasElementSourceMap = exports.getNodeType = exports.from = exports.findAtOffset = exports.find = exports.filter = exports.dispatchRefractorPlugins = exports.dereference = exports.dehydrate = exports.deepmerge = exports.createPredicate = exports.createNamespace = exports.Transcluder = exports.StringElement = exports.SourceMapElement = exports.RefElement = exports.ParseResultElement = exports.ObjectSlice = exports.ObjectElement = exports.NumberElement = exports.NullElement = exports.Namespace = exports.MemberElement = exports.MediaTypes = exports.LinkElement = exports.KeyValuePair = exports.Element = exports.CommentElement = exports.BooleanElement = exports.BREAK = exports.ArraySlice = exports.ArrayElement = exports.AnnotationElement = void 0;
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
var _ramdaAdjunct = require("ramda-adjunct");
|
|
8
|
+
var _namespace = _interopRequireWildcard(require("./namespace.cjs"));
|
|
9
|
+
exports.namespace = _namespace.default;
|
|
10
|
+
exports.Namespace = _namespace.Namespace;
|
|
11
|
+
exports.createNamespace = _namespace.createNamespace;
|
|
12
|
+
var _index = _interopRequireDefault(require("./serializers/value/index.cjs"));
|
|
13
|
+
var _json = _interopRequireDefault(require("./serializers/json.cjs"));
|
|
14
|
+
var _yaml = _interopRequireDefault(require("./serializers/yaml-1-2.cjs"));
|
|
15
|
+
var _index2 = require("./refractor/plugins/utils/index.cjs");
|
|
16
|
+
exports.dispatchRefractorPlugins = _index2.dispatchPlugins;
|
|
17
|
+
var _elementIdentity = _interopRequireDefault(require("./refractor/plugins/element-identity.cjs"));
|
|
18
|
+
exports.refractorPluginElementIdentity = _elementIdentity.default;
|
|
19
|
+
var _semanticElementIdentity = _interopRequireDefault(require("./refractor/plugins/semantic-element-identity.cjs"));
|
|
20
|
+
exports.refractorPluginSemanticElementIdentity = _semanticElementIdentity.default;
|
|
21
|
+
var _mediaTypes = _interopRequireDefault(require("./media-types.cjs"));
|
|
22
|
+
exports.MediaTypes = _mediaTypes.default;
|
|
23
|
+
var _minim = require("minim");
|
|
24
|
+
exports.Element = _minim.Element;
|
|
25
|
+
exports.MemberElement = _minim.MemberElement;
|
|
26
|
+
exports.KeyValuePair = _minim.KeyValuePair;
|
|
27
|
+
exports.ObjectSlice = _minim.ObjectSlice;
|
|
28
|
+
exports.ArraySlice = _minim.ArraySlice;
|
|
29
|
+
exports.refract = _minim.refract;
|
|
30
|
+
var _registration = require("./refractor/registration.cjs");
|
|
31
|
+
exports.ObjectElement = _registration.ObjectElement;
|
|
32
|
+
exports.ArrayElement = _registration.ArrayElement;
|
|
33
|
+
exports.BooleanElement = _registration.BooleanElement;
|
|
34
|
+
exports.NullElement = _registration.NullElement;
|
|
35
|
+
exports.NumberElement = _registration.NumberElement;
|
|
36
|
+
exports.StringElement = _registration.StringElement;
|
|
37
|
+
exports.LinkElement = _registration.LinkElement;
|
|
38
|
+
exports.RefElement = _registration.RefElement;
|
|
39
|
+
exports.AnnotationElement = _registration.AnnotationElement;
|
|
40
|
+
exports.CommentElement = _registration.CommentElement;
|
|
41
|
+
exports.ParseResultElement = _registration.ParseResultElement;
|
|
42
|
+
exports.SourceMapElement = _registration.SourceMapElement;
|
|
43
|
+
var _index3 = require("./predicates/index.cjs");
|
|
44
|
+
exports.isElement = _index3.isElement;
|
|
45
|
+
exports.isStringElement = _index3.isStringElement;
|
|
46
|
+
exports.isNumberElement = _index3.isNumberElement;
|
|
47
|
+
exports.isNullElement = _index3.isNullElement;
|
|
48
|
+
exports.isBooleanElement = _index3.isBooleanElement;
|
|
49
|
+
exports.isArrayElement = _index3.isArrayElement;
|
|
50
|
+
exports.isObjectElement = _index3.isObjectElement;
|
|
51
|
+
exports.isMemberElement = _index3.isMemberElement;
|
|
52
|
+
exports.isLinkElement = _index3.isLinkElement;
|
|
53
|
+
exports.isRefElement = _index3.isRefElement;
|
|
54
|
+
exports.isAnnotationElement = _index3.isAnnotationElement;
|
|
55
|
+
exports.isParseResultElement = _index3.isParseResultElement;
|
|
56
|
+
exports.isSourceMapElement = _index3.isSourceMapElement;
|
|
57
|
+
exports.isPrimitiveElement = _index3.isPrimitiveElement;
|
|
58
|
+
exports.hasElementSourceMap = _index3.hasElementSourceMap;
|
|
59
|
+
exports.includesSymbols = _index3.includesSymbols;
|
|
60
|
+
exports.includesClasses = _index3.includesClasses;
|
|
61
|
+
var _helpers = _interopRequireDefault(require("./predicates/helpers.cjs"));
|
|
62
|
+
exports.createPredicate = _helpers.default;
|
|
63
|
+
var _index4 = require("./traversal/index.cjs");
|
|
64
|
+
exports.filter = _index4.filter;
|
|
65
|
+
exports.reject = _index4.reject;
|
|
66
|
+
exports.find = _index4.find;
|
|
67
|
+
exports.findAtOffset = _index4.findAtOffset;
|
|
68
|
+
exports.some = _index4.some;
|
|
69
|
+
exports.traverse = _index4.traverse;
|
|
70
|
+
exports.parents = _index4.parents;
|
|
71
|
+
var _visitor = require("./traversal/visitor.cjs");
|
|
72
|
+
exports.visit = _visitor.visit;
|
|
73
|
+
exports.BREAK = _visitor.BREAK;
|
|
74
|
+
exports.mergeAllVisitors = _visitor.mergeAllVisitors;
|
|
75
|
+
exports.getNodeType = _visitor.getNodeType;
|
|
76
|
+
exports.keyMap = _visitor.keyMapDefault;
|
|
77
|
+
var _index5 = _interopRequireWildcard(require("./transcluder/index.cjs"));
|
|
78
|
+
exports.transclude = _index5.transclude;
|
|
79
|
+
exports.Transcluder = _index5.default;
|
|
80
|
+
var _util = require("./util.cjs");
|
|
81
|
+
exports.dereference = _util.dereference;
|
|
82
|
+
var _sexprs = _interopRequireDefault(require("./sexprs.cjs"));
|
|
83
|
+
exports.sexprs = _sexprs.default;
|
|
84
|
+
var _deepmerge = _interopRequireDefault(require("./deepmerge.cjs"));
|
|
85
|
+
exports.deepmerge = _deepmerge.default;
|
|
86
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
87
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
88
|
+
/**
|
|
89
|
+
* Transforms data to an Element from a particular namespace.
|
|
90
|
+
*/
|
|
91
|
+
const from = (data, namespace = _namespace.default) => {
|
|
92
|
+
if ((0, _ramdaAdjunct.isString)(data)) {
|
|
93
|
+
// JSON serialized refract
|
|
94
|
+
try {
|
|
95
|
+
return namespace.fromRefract(JSON.parse(data));
|
|
96
|
+
} catch {
|
|
97
|
+
// noop
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if ((0, _ramdaAdjunct.isPlainObject)(data) && (0, _ramda.has)('element', data)) {
|
|
101
|
+
// refract javascript structure
|
|
102
|
+
return namespace.fromRefract(data);
|
|
103
|
+
}
|
|
104
|
+
return namespace.toElement(data);
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Transforms the ApiDOM into JavaScript POJO.
|
|
109
|
+
* This POJO would be the result of interpreting the ApiDOM
|
|
110
|
+
* into JavaScript structure.
|
|
111
|
+
*/
|
|
112
|
+
exports.from = from;
|
|
113
|
+
const toValue = _index.default;
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Transforms the ApiDOM into JSON string.
|
|
117
|
+
*/
|
|
118
|
+
exports.toValue = toValue;
|
|
119
|
+
const toJSON = _json.default;
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Transforms the ApiDOM into YAML string.
|
|
123
|
+
*/
|
|
124
|
+
exports.toJSON = toJSON;
|
|
125
|
+
const toYAML = _yaml.default;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Creates a refract representation of an Element.
|
|
129
|
+
* https://github.com/refractproject/refract-spec
|
|
130
|
+
*/
|
|
131
|
+
exports.toYAML = toYAML;
|
|
132
|
+
const dehydrate = (element, namespace = _namespace.default) => {
|
|
133
|
+
return namespace.toRefract(element);
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Create a refracted string representation of an Element.
|
|
138
|
+
*/
|
|
139
|
+
exports.dehydrate = dehydrate;
|
|
140
|
+
const toString = (element, namespace = _namespace.default) => {
|
|
141
|
+
const refractStructure = dehydrate(element, namespace);
|
|
142
|
+
return JSON.stringify(refractStructure);
|
|
143
|
+
};
|
|
144
|
+
exports.toString = toString;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
class MediaTypes extends Array {
|
|
6
|
+
unknownMediaType = 'application/octet-stream';
|
|
7
|
+
|
|
8
|
+
// eslint-disable-next-line class-methods-use-this
|
|
9
|
+
filterByFormat() {
|
|
10
|
+
throw new Error('Not implemented!');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// eslint-disable-next-line class-methods-use-this
|
|
14
|
+
findBy() {
|
|
15
|
+
throw new Error('Not implemented');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// eslint-disable-next-line class-methods-use-this
|
|
19
|
+
latest() {
|
|
20
|
+
throw new Error('Not implemented!');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
var _default = MediaTypes;
|
|
24
|
+
exports.default = _default;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.default = exports.createNamespace = exports.Namespace = void 0;
|
|
6
|
+
var _minim = require("minim");
|
|
7
|
+
var _ramdaAdjunct = require("ramda-adjunct");
|
|
8
|
+
var _Annotation = _interopRequireDefault(require("./elements/Annotation.cjs"));
|
|
9
|
+
var _Comment = _interopRequireDefault(require("./elements/Comment.cjs"));
|
|
10
|
+
var _ParseResult = _interopRequireDefault(require("./elements/ParseResult.cjs"));
|
|
11
|
+
var _SourceMap = _interopRequireDefault(require("./elements/SourceMap.cjs"));
|
|
12
|
+
class Namespace extends _minim.Namespace {
|
|
13
|
+
constructor() {
|
|
14
|
+
super();
|
|
15
|
+
this.register('annotation', _Annotation.default);
|
|
16
|
+
this.register('comment', _Comment.default);
|
|
17
|
+
this.register('parseResult', _ParseResult.default);
|
|
18
|
+
this.register('sourceMap', _SourceMap.default);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.Namespace = Namespace;
|
|
22
|
+
const namespace = new Namespace();
|
|
23
|
+
const createNamespace = namespacePlugin => {
|
|
24
|
+
const namespaceInstance = new Namespace();
|
|
25
|
+
if ((0, _ramdaAdjunct.isPlainObject)(namespacePlugin)) {
|
|
26
|
+
namespaceInstance.use(namespacePlugin);
|
|
27
|
+
}
|
|
28
|
+
return namespaceInstance;
|
|
29
|
+
};
|
|
30
|
+
exports.createNamespace = createNamespace;
|
|
31
|
+
var _default = namespace;
|
|
32
|
+
exports.default = _default;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.isElementType = exports.default = void 0;
|
|
5
|
+
const hasMethod = (name, obj) => typeof (obj === null || obj === void 0 ? void 0 : obj[name]) === 'function';
|
|
6
|
+
const hasBasicElementProps = element => element != null && Object.prototype.hasOwnProperty.call(element, '_storedElement') && Object.prototype.hasOwnProperty.call(element, '_content');
|
|
7
|
+
const primitiveEq = (val, obj) => {
|
|
8
|
+
var _obj$primitive;
|
|
9
|
+
return (obj === null || obj === void 0 ? void 0 : (_obj$primitive = obj.primitive) === null || _obj$primitive === void 0 ? void 0 : _obj$primitive.call(obj)) === val;
|
|
10
|
+
};
|
|
11
|
+
const hasClass = (cls, obj) => {
|
|
12
|
+
var _obj$classes, _obj$classes$includes;
|
|
13
|
+
return (obj === null || obj === void 0 ? void 0 : (_obj$classes = obj.classes) === null || _obj$classes === void 0 ? void 0 : (_obj$classes$includes = _obj$classes.includes) === null || _obj$classes$includes === void 0 ? void 0 : _obj$classes$includes.call(_obj$classes, cls)) || false;
|
|
14
|
+
};
|
|
15
|
+
const isElementType = (name, element) => (element === null || element === void 0 ? void 0 : element.element) === name;
|
|
16
|
+
exports.isElementType = isElementType;
|
|
17
|
+
const createPredicate = predicateCreator => {
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
return predicateCreator({
|
|
20
|
+
hasMethod,
|
|
21
|
+
hasBasicElementProps,
|
|
22
|
+
primitiveEq,
|
|
23
|
+
isElementType,
|
|
24
|
+
hasClass
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
var _default = createPredicate;
|
|
28
|
+
exports.default = _default;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.isStringElement = exports.isSourceMapElement = exports.isRefElement = exports.isPrimitiveElement = exports.isParseResultElement = exports.isObjectElement = exports.isNumberElement = exports.isNullElement = exports.isMemberElement = exports.isLinkElement = exports.isElement = exports.isCommentElement = exports.isBooleanElement = exports.isArrayElement = exports.isAnnotationElement = exports.includesSymbols = exports.includesClasses = exports.hasElementSourceMap = void 0;
|
|
6
|
+
var _minim = require("minim");
|
|
7
|
+
var _ramda = require("ramda");
|
|
8
|
+
var _ramdaAdjunct = require("ramda-adjunct");
|
|
9
|
+
var _Annotation = _interopRequireDefault(require("../elements/Annotation.cjs"));
|
|
10
|
+
var _Comment = _interopRequireDefault(require("../elements/Comment.cjs"));
|
|
11
|
+
var _ParseResult = _interopRequireDefault(require("../elements/ParseResult.cjs"));
|
|
12
|
+
var _SourceMap = _interopRequireDefault(require("../elements/SourceMap.cjs"));
|
|
13
|
+
var _helpers = _interopRequireWildcard(require("./helpers.cjs"));
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
+
const isElement = (0, _helpers.default)(({
|
|
17
|
+
hasBasicElementProps,
|
|
18
|
+
primitiveEq
|
|
19
|
+
}) => {
|
|
20
|
+
return element => element instanceof _minim.Element || hasBasicElementProps(element) && primitiveEq(undefined, element);
|
|
21
|
+
});
|
|
22
|
+
exports.isElement = isElement;
|
|
23
|
+
const isStringElement = (0, _helpers.default)(({
|
|
24
|
+
hasBasicElementProps,
|
|
25
|
+
primitiveEq
|
|
26
|
+
}) => {
|
|
27
|
+
return element => element instanceof _minim.StringElement || hasBasicElementProps(element) && primitiveEq('string', element);
|
|
28
|
+
});
|
|
29
|
+
exports.isStringElement = isStringElement;
|
|
30
|
+
const isNumberElement = (0, _helpers.default)(({
|
|
31
|
+
hasBasicElementProps,
|
|
32
|
+
primitiveEq
|
|
33
|
+
}) => {
|
|
34
|
+
return element => element instanceof _minim.NumberElement || hasBasicElementProps(element) && primitiveEq('number', element);
|
|
35
|
+
});
|
|
36
|
+
exports.isNumberElement = isNumberElement;
|
|
37
|
+
const isNullElement = (0, _helpers.default)(({
|
|
38
|
+
hasBasicElementProps,
|
|
39
|
+
primitiveEq
|
|
40
|
+
}) => {
|
|
41
|
+
return element => element instanceof _minim.NullElement || hasBasicElementProps(element) && primitiveEq('null', element);
|
|
42
|
+
});
|
|
43
|
+
exports.isNullElement = isNullElement;
|
|
44
|
+
const isBooleanElement = (0, _helpers.default)(({
|
|
45
|
+
hasBasicElementProps,
|
|
46
|
+
primitiveEq
|
|
47
|
+
}) => {
|
|
48
|
+
return element => element instanceof _minim.BooleanElement || hasBasicElementProps(element) && primitiveEq('boolean', element);
|
|
49
|
+
});
|
|
50
|
+
exports.isBooleanElement = isBooleanElement;
|
|
51
|
+
const isObjectElement = (0, _helpers.default)(({
|
|
52
|
+
hasBasicElementProps,
|
|
53
|
+
primitiveEq,
|
|
54
|
+
hasMethod
|
|
55
|
+
}) => {
|
|
56
|
+
return element => element instanceof _minim.ObjectElement || hasBasicElementProps(element) && primitiveEq('object', element) && hasMethod('keys', element) && hasMethod('values', element) && hasMethod('items', element);
|
|
57
|
+
});
|
|
58
|
+
exports.isObjectElement = isObjectElement;
|
|
59
|
+
const isArrayElement = (0, _helpers.default)(({
|
|
60
|
+
hasBasicElementProps,
|
|
61
|
+
primitiveEq,
|
|
62
|
+
hasMethod
|
|
63
|
+
}) => {
|
|
64
|
+
return element => element instanceof _minim.ArrayElement && !(element instanceof _minim.ObjectElement) || hasBasicElementProps(element) && primitiveEq('array', element) && hasMethod('push', element) && hasMethod('unshift', element) && hasMethod('map', element) && hasMethod('reduce', element);
|
|
65
|
+
});
|
|
66
|
+
exports.isArrayElement = isArrayElement;
|
|
67
|
+
const isMemberElement = (0, _helpers.default)(({
|
|
68
|
+
hasBasicElementProps,
|
|
69
|
+
isElementType,
|
|
70
|
+
primitiveEq
|
|
71
|
+
}) => {
|
|
72
|
+
return element => element instanceof _minim.MemberElement || hasBasicElementProps(element) && isElementType('member', element) && primitiveEq(undefined, element);
|
|
73
|
+
});
|
|
74
|
+
exports.isMemberElement = isMemberElement;
|
|
75
|
+
const isLinkElement = (0, _helpers.default)(({
|
|
76
|
+
hasBasicElementProps,
|
|
77
|
+
isElementType,
|
|
78
|
+
primitiveEq
|
|
79
|
+
}) => {
|
|
80
|
+
return element => element instanceof _minim.LinkElement || hasBasicElementProps(element) && isElementType('link', element) && primitiveEq(undefined, element);
|
|
81
|
+
});
|
|
82
|
+
exports.isLinkElement = isLinkElement;
|
|
83
|
+
const isRefElement = (0, _helpers.default)(({
|
|
84
|
+
hasBasicElementProps,
|
|
85
|
+
isElementType,
|
|
86
|
+
primitiveEq
|
|
87
|
+
}) => {
|
|
88
|
+
return element => element instanceof _minim.RefElement || hasBasicElementProps(element) && isElementType('ref', element) && primitiveEq(undefined, element);
|
|
89
|
+
});
|
|
90
|
+
exports.isRefElement = isRefElement;
|
|
91
|
+
const isAnnotationElement = (0, _helpers.default)(({
|
|
92
|
+
hasBasicElementProps,
|
|
93
|
+
isElementType,
|
|
94
|
+
primitiveEq
|
|
95
|
+
}) => {
|
|
96
|
+
return element => element instanceof _Annotation.default || hasBasicElementProps(element) && isElementType('annotation', element) && primitiveEq('array', element);
|
|
97
|
+
});
|
|
98
|
+
exports.isAnnotationElement = isAnnotationElement;
|
|
99
|
+
const isCommentElement = (0, _helpers.default)(({
|
|
100
|
+
hasBasicElementProps,
|
|
101
|
+
isElementType,
|
|
102
|
+
primitiveEq
|
|
103
|
+
}) => {
|
|
104
|
+
return element => element instanceof _Comment.default || hasBasicElementProps(element) && isElementType('comment', element) && primitiveEq('string', element);
|
|
105
|
+
});
|
|
106
|
+
exports.isCommentElement = isCommentElement;
|
|
107
|
+
const isParseResultElement = (0, _helpers.default)(({
|
|
108
|
+
hasBasicElementProps,
|
|
109
|
+
isElementType,
|
|
110
|
+
primitiveEq
|
|
111
|
+
}) => {
|
|
112
|
+
return element => element instanceof _ParseResult.default || hasBasicElementProps(element) && isElementType('parseResult', element) && primitiveEq('array', element);
|
|
113
|
+
});
|
|
114
|
+
exports.isParseResultElement = isParseResultElement;
|
|
115
|
+
const isSourceMapElement = (0, _helpers.default)(({
|
|
116
|
+
hasBasicElementProps,
|
|
117
|
+
isElementType,
|
|
118
|
+
primitiveEq
|
|
119
|
+
}) => {
|
|
120
|
+
return element => element instanceof _SourceMap.default || hasBasicElementProps(element) && isElementType('sourceMap', element) && primitiveEq('array', element);
|
|
121
|
+
});
|
|
122
|
+
exports.isSourceMapElement = isSourceMapElement;
|
|
123
|
+
const isPrimitiveElement = element => {
|
|
124
|
+
return (0, _helpers.isElementType)('object', element) || (0, _helpers.isElementType)('array', element) || (0, _helpers.isElementType)('boolean', element) || (0, _helpers.isElementType)('number', element) || (0, _helpers.isElementType)('string', element) || (0, _helpers.isElementType)('null', element) || (0, _helpers.isElementType)('member', element);
|
|
125
|
+
};
|
|
126
|
+
exports.isPrimitiveElement = isPrimitiveElement;
|
|
127
|
+
const hasElementSourceMap = element => {
|
|
128
|
+
var _element$meta, _element$meta$get;
|
|
129
|
+
return isSourceMapElement(element === null || element === void 0 ? void 0 : (_element$meta = element.meta) === null || _element$meta === void 0 ? void 0 : (_element$meta$get = _element$meta.get) === null || _element$meta$get === void 0 ? void 0 : _element$meta$get.call(_element$meta, 'sourceMap'));
|
|
130
|
+
};
|
|
131
|
+
exports.hasElementSourceMap = hasElementSourceMap;
|
|
132
|
+
const includesSymbols = (symbols, element) => {
|
|
133
|
+
if (symbols.length === 0) {
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
const elementSymbols = element.attributes.get('symbols');
|
|
137
|
+
if (!isArrayElement(elementSymbols)) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
return (0, _ramda.all)((0, _ramdaAdjunct.included)(elementSymbols.toValue()), symbols);
|
|
141
|
+
};
|
|
142
|
+
exports.includesSymbols = includesSymbols;
|
|
143
|
+
const includesClasses = (classes, element) => {
|
|
144
|
+
if (classes.length === 0) {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
return (0, _ramda.all)((0, _ramdaAdjunct.included)(element.classes.toValue()), classes);
|
|
148
|
+
};
|
|
149
|
+
exports.includesClasses = includesClasses;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.default = exports.createRefractor = void 0;
|
|
6
|
+
var _index = require("./plugins/utils/index.cjs");
|
|
7
|
+
var _visitor = require("../traversal/visitor.cjs");
|
|
8
|
+
var _toolbox = _interopRequireDefault(require("./toolbox.cjs"));
|
|
9
|
+
const refract = (value, {
|
|
10
|
+
Type,
|
|
11
|
+
plugins = []
|
|
12
|
+
}) => {
|
|
13
|
+
/**
|
|
14
|
+
* This is where values gets refracted into generic ApiDOM.
|
|
15
|
+
* We don't allow consumers to hook into this translation.
|
|
16
|
+
* Though we allow consumers to define their onw plugins on already transformed ApiDOM.
|
|
17
|
+
*/
|
|
18
|
+
const element = new Type(value);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Run plugins only when necessary.
|
|
22
|
+
* Running plugins visitors means extra single traversal === performance hit.
|
|
23
|
+
*/
|
|
24
|
+
return (0, _index.dispatchPlugins)(element, plugins, {
|
|
25
|
+
toolboxCreator: _toolbox.default,
|
|
26
|
+
visitorOptions: {
|
|
27
|
+
nodeTypeGetter: _visitor.getNodeType
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
const createRefractor = Type => (value, options = {}) => refract(value, {
|
|
32
|
+
...options,
|
|
33
|
+
Type
|
|
34
|
+
});
|
|
35
|
+
exports.createRefractor = createRefractor;
|
|
36
|
+
var _default = refract;
|
|
37
|
+
exports.default = _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.default = void 0;
|
|
6
|
+
var _shortUniqueId = _interopRequireDefault(require("short-unique-id"));
|
|
7
|
+
var _minim = require("minim");
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Plugin for decorating every element in ApiDOM tree with UUID.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const plugin = ({
|
|
15
|
+
length = 6
|
|
16
|
+
} = {}) => () => {
|
|
17
|
+
let uuid;
|
|
18
|
+
return {
|
|
19
|
+
pre() {
|
|
20
|
+
uuid = new _shortUniqueId.default({
|
|
21
|
+
length
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
visitor: {
|
|
25
|
+
enter(element) {
|
|
26
|
+
// eslint-disable-next-line no-param-reassign
|
|
27
|
+
element.id = new _minim.StringElement(uuid());
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
post() {
|
|
31
|
+
uuid = null;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
var _default = plugin;
|
|
36
|
+
exports.default = _default;
|