@speclynx/apidom-core 1.12.2 → 2.1.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 +25 -0
- package/NOTICE +16 -7
- package/README.md +102 -330
- package/dist/apidom-core.browser.js +13110 -10559
- package/dist/apidom-core.browser.min.js +1 -1
- package/package.json +7 -12
- package/src/identity/index.cjs +8 -6
- package/src/identity/index.mjs +6 -4
- package/src/index.cjs +13 -79
- package/src/index.mjs +3 -13
- package/src/merge/deepmerge.cjs +22 -20
- package/src/merge/deepmerge.mjs +9 -7
- package/src/merge/merge-right.cjs +2 -2
- package/src/merge/merge-right.mjs +1 -1
- package/src/namespace.cjs +4 -36
- package/src/namespace.mjs +2 -30
- package/src/refractor/plugins/dispatcher/index.cjs +5 -12
- package/src/refractor/plugins/dispatcher/index.mjs +5 -12
- package/src/refractor/plugins/element-identity.cjs +2 -2
- package/src/refractor/plugins/element-identity.mjs +2 -2
- package/src/refractor/plugins/semantic-element-identity.cjs +5 -10
- package/src/refractor/plugins/semantic-element-identity.mjs +5 -9
- package/src/refractor/toolbox.cjs +22 -5
- package/src/refractor/toolbox.mjs +25 -6
- package/src/specification.cjs +51 -0
- package/src/specification.mjs +47 -0
- package/src/transcluder/Transcluder.cjs +8 -8
- package/src/transcluder/Transcluder.mjs +1 -1
- package/src/transformers/from.mjs +2 -2
- package/src/transformers/serializers/json.cjs +2 -2
- package/src/transformers/serializers/json.mjs +1 -1
- package/src/transformers/serializers/value.cjs +50 -0
- package/src/transformers/serializers/value.mjs +47 -0
- package/src/transformers/serializers/yaml-1-2.cjs +22 -18
- package/src/transformers/serializers/yaml-1-2.mjs +22 -18
- package/src/transformers/sexprs.cjs +20 -23
- package/src/transformers/sexprs.mjs +20 -22
- package/src/transformers/to-string.mjs +2 -2
- package/types/apidom-core.d.ts +67 -519
- package/src/clone/errors/CloneError.cjs +0 -22
- package/src/clone/errors/CloneError.mjs +0 -19
- package/src/clone/errors/DeepCloneError.cjs +0 -11
- package/src/clone/errors/DeepCloneError.mjs +0 -6
- package/src/clone/errors/ShallowCloneError.cjs +0 -11
- package/src/clone/errors/ShallowCloneError.mjs +0 -6
- package/src/clone/index.cjs +0 -155
- package/src/clone/index.mjs +0 -146
- package/src/elements/Annotation.cjs +0 -23
- package/src/elements/Annotation.mjs +0 -20
- package/src/elements/Comment.cjs +0 -15
- package/src/elements/Comment.mjs +0 -12
- package/src/elements/ParseResult.cjs +0 -53
- package/src/elements/ParseResult.mjs +0 -50
- package/src/elements/SourceMap.cjs +0 -39
- package/src/elements/SourceMap.mjs +0 -36
- package/src/predicates/helpers.cjs +0 -85
- package/src/predicates/helpers.mjs +0 -77
- package/src/predicates/index.cjs +0 -208
- package/src/predicates/index.mjs +0 -198
- package/src/refractor/index.cjs +0 -46
- package/src/refractor/index.mjs +0 -40
- package/src/refractor/registration.cjs +0 -34
- package/src/refractor/registration.mjs +0 -19
- package/src/transformers/serializers/value/ast/ephemeral-array.cjs +0 -21
- package/src/transformers/serializers/value/ast/ephemeral-array.mjs +0 -17
- package/src/transformers/serializers/value/ast/ephemeral-object.cjs +0 -20
- package/src/transformers/serializers/value/ast/ephemeral-object.mjs +0 -16
- package/src/transformers/serializers/value/index.cjs +0 -85
- package/src/transformers/serializers/value/index.mjs +0 -80
- package/src/transformers/serializers/value/visitor.cjs +0 -52
- package/src/transformers/serializers/value/visitor.mjs +0 -47
- package/src/traversal/filter.cjs +0 -18
- package/src/traversal/filter.mjs +0 -14
- package/src/traversal/find.cjs +0 -19
- package/src/traversal/find.mjs +0 -15
- package/src/traversal/findAtOffset.cjs +0 -65
- package/src/traversal/findAtOffset.mjs +0 -60
- package/src/traversal/index.cjs +0 -19
- package/src/traversal/index.mjs +0 -7
- package/src/traversal/parents.cjs +0 -38
- package/src/traversal/parents.mjs +0 -34
- package/src/traversal/reject.cjs +0 -15
- package/src/traversal/reject.mjs +0 -10
- package/src/traversal/some.cjs +0 -15
- package/src/traversal/some.mjs +0 -10
- package/src/traversal/traverse.cjs +0 -60
- package/src/traversal/traverse.mjs +0 -53
- package/src/traversal/visitor.cjs +0 -123
- package/src/traversal/visitor.mjs +0 -115
- package/src/util.cjs +0 -28
- package/src/util.mjs +0 -24
- package/types/minim.d.ts +0 -236
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.primitiveEq = exports.isElementType = exports.hasMethod = exports.hasClass = exports.hasBasicElementProps = exports.default = void 0;
|
|
5
|
-
var _minim = require("minim");
|
|
6
|
-
/**
|
|
7
|
-
* @public
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @public
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @public
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* @public
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @public
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @public
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* @public
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @public
|
|
36
|
-
*/
|
|
37
|
-
const hasMethod = (name, element) => {
|
|
38
|
-
return typeof element === 'object' && element !== null && name in element && typeof element[name] === 'function';
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* @public
|
|
43
|
-
*/
|
|
44
|
-
exports.hasMethod = hasMethod;
|
|
45
|
-
const hasBasicElementProps = element => typeof element === 'object' && element != null && '_storedElement' in element && typeof element._storedElement === 'string' && '_content' in element;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* @public
|
|
49
|
-
*/
|
|
50
|
-
exports.hasBasicElementProps = hasBasicElementProps;
|
|
51
|
-
const primitiveEq = (val, element) => {
|
|
52
|
-
if (typeof element === 'object' && element !== null && 'primitive' in element) {
|
|
53
|
-
return typeof element.primitive === 'function' && element.primitive() === val;
|
|
54
|
-
}
|
|
55
|
-
return false;
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* @public
|
|
60
|
-
*/
|
|
61
|
-
exports.primitiveEq = primitiveEq;
|
|
62
|
-
const hasClass = (cls, element) => {
|
|
63
|
-
return typeof element === 'object' && element !== null && 'classes' in element && (Array.isArray(element.classes) || element.classes instanceof _minim.ArrayElement) && element.classes.includes(cls);
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* @public
|
|
68
|
-
*/
|
|
69
|
-
exports.hasClass = hasClass;
|
|
70
|
-
const isElementType = (name, element) => typeof element === 'object' && element !== null && 'element' in element && element.element === name;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* @public
|
|
74
|
-
*/
|
|
75
|
-
exports.isElementType = isElementType;
|
|
76
|
-
const createPredicate = predicateCreator => {
|
|
77
|
-
return predicateCreator({
|
|
78
|
-
hasMethod,
|
|
79
|
-
hasBasicElementProps,
|
|
80
|
-
primitiveEq,
|
|
81
|
-
isElementType,
|
|
82
|
-
hasClass
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
var _default = exports.default = createPredicate;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { ArrayElement } from 'minim';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @public
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @public
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* @public
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @public
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* @public
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* @public
|
|
33
|
-
*/
|
|
34
|
-
export const hasMethod = (name, element) => {
|
|
35
|
-
return typeof element === 'object' && element !== null && name in element && typeof element[name] === 'function';
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* @public
|
|
40
|
-
*/
|
|
41
|
-
export const hasBasicElementProps = element => typeof element === 'object' && element != null && '_storedElement' in element && typeof element._storedElement === 'string' && '_content' in element;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* @public
|
|
45
|
-
*/
|
|
46
|
-
export const primitiveEq = (val, element) => {
|
|
47
|
-
if (typeof element === 'object' && element !== null && 'primitive' in element) {
|
|
48
|
-
return typeof element.primitive === 'function' && element.primitive() === val;
|
|
49
|
-
}
|
|
50
|
-
return false;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* @public
|
|
55
|
-
*/
|
|
56
|
-
export const hasClass = (cls, element) => {
|
|
57
|
-
return typeof element === 'object' && element !== null && 'classes' in element && (Array.isArray(element.classes) || element.classes instanceof ArrayElement) && element.classes.includes(cls);
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* @public
|
|
62
|
-
*/
|
|
63
|
-
export const isElementType = (name, element) => typeof element === 'object' && element !== null && 'element' in element && element.element === name;
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* @public
|
|
67
|
-
*/
|
|
68
|
-
const createPredicate = predicateCreator => {
|
|
69
|
-
return predicateCreator({
|
|
70
|
-
hasMethod,
|
|
71
|
-
hasBasicElementProps,
|
|
72
|
-
primitiveEq,
|
|
73
|
-
isElementType,
|
|
74
|
-
hasClass
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
export default createPredicate;
|
package/src/predicates/index.cjs
DELETED
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
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;
|
|
7
|
-
var _minim = require("minim");
|
|
8
|
-
var _ramda = require("ramda");
|
|
9
|
-
var _ramdaAdjunct = require("ramda-adjunct");
|
|
10
|
-
var _Annotation = _interopRequireDefault(require("../elements/Annotation.cjs"));
|
|
11
|
-
var _Comment = _interopRequireDefault(require("../elements/Comment.cjs"));
|
|
12
|
-
var _ParseResult = _interopRequireDefault(require("../elements/ParseResult.cjs"));
|
|
13
|
-
var _SourceMap = _interopRequireDefault(require("../elements/SourceMap.cjs"));
|
|
14
|
-
var _helpers = _interopRequireWildcard(require("./helpers.cjs"));
|
|
15
|
-
/**
|
|
16
|
-
* @public
|
|
17
|
-
*/
|
|
18
|
-
const isElement = exports.isElement = (0, _helpers.default)(({
|
|
19
|
-
hasBasicElementProps,
|
|
20
|
-
primitiveEq
|
|
21
|
-
}) => {
|
|
22
|
-
return element => element instanceof _minim.Element || hasBasicElementProps(element) && primitiveEq(undefined, element);
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* @public
|
|
27
|
-
*/
|
|
28
|
-
const isStringElement = exports.isStringElement = (0, _helpers.default)(({
|
|
29
|
-
hasBasicElementProps,
|
|
30
|
-
primitiveEq
|
|
31
|
-
}) => {
|
|
32
|
-
return element => element instanceof _minim.StringElement || hasBasicElementProps(element) && primitiveEq('string', element);
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* @public
|
|
37
|
-
*/
|
|
38
|
-
const isNumberElement = exports.isNumberElement = (0, _helpers.default)(({
|
|
39
|
-
hasBasicElementProps,
|
|
40
|
-
primitiveEq
|
|
41
|
-
}) => {
|
|
42
|
-
return element => element instanceof _minim.NumberElement || hasBasicElementProps(element) && primitiveEq('number', element);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* @public
|
|
47
|
-
*/
|
|
48
|
-
const isNullElement = exports.isNullElement = (0, _helpers.default)(({
|
|
49
|
-
hasBasicElementProps,
|
|
50
|
-
primitiveEq
|
|
51
|
-
}) => {
|
|
52
|
-
return element => element instanceof _minim.NullElement || hasBasicElementProps(element) && primitiveEq('null', element);
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* @public
|
|
57
|
-
*/
|
|
58
|
-
const isBooleanElement = exports.isBooleanElement = (0, _helpers.default)(({
|
|
59
|
-
hasBasicElementProps,
|
|
60
|
-
primitiveEq
|
|
61
|
-
}) => {
|
|
62
|
-
return element => element instanceof _minim.BooleanElement || hasBasicElementProps(element) && primitiveEq('boolean', element);
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* @public
|
|
67
|
-
*/
|
|
68
|
-
const isObjectElement = exports.isObjectElement = (0, _helpers.default)(({
|
|
69
|
-
hasBasicElementProps,
|
|
70
|
-
primitiveEq,
|
|
71
|
-
hasMethod
|
|
72
|
-
}) => {
|
|
73
|
-
return element => element instanceof _minim.ObjectElement || hasBasicElementProps(element) && primitiveEq('object', element) && hasMethod('keys', element) && hasMethod('values', element) && hasMethod('items', element);
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* @public
|
|
78
|
-
*/
|
|
79
|
-
const isArrayElement = exports.isArrayElement = (0, _helpers.default)(({
|
|
80
|
-
hasBasicElementProps,
|
|
81
|
-
primitiveEq,
|
|
82
|
-
hasMethod
|
|
83
|
-
}) => {
|
|
84
|
-
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);
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* @public
|
|
89
|
-
*/
|
|
90
|
-
const isMemberElement = exports.isMemberElement = (0, _helpers.default)(({
|
|
91
|
-
hasBasicElementProps,
|
|
92
|
-
isElementType,
|
|
93
|
-
primitiveEq
|
|
94
|
-
}) => {
|
|
95
|
-
return element => element instanceof _minim.MemberElement || hasBasicElementProps(element) && isElementType('member', element) && primitiveEq(undefined, element);
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* @public
|
|
100
|
-
*/
|
|
101
|
-
const isLinkElement = exports.isLinkElement = (0, _helpers.default)(({
|
|
102
|
-
hasBasicElementProps,
|
|
103
|
-
isElementType,
|
|
104
|
-
primitiveEq
|
|
105
|
-
}) => {
|
|
106
|
-
return element => element instanceof _minim.LinkElement || hasBasicElementProps(element) && isElementType('link', element) && primitiveEq(undefined, element);
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* @public
|
|
111
|
-
*/
|
|
112
|
-
const isRefElement = exports.isRefElement = (0, _helpers.default)(({
|
|
113
|
-
hasBasicElementProps,
|
|
114
|
-
isElementType,
|
|
115
|
-
primitiveEq
|
|
116
|
-
}) => {
|
|
117
|
-
return element => element instanceof _minim.RefElement || hasBasicElementProps(element) && isElementType('ref', element) && primitiveEq(undefined, element);
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* @public
|
|
122
|
-
*/
|
|
123
|
-
const isAnnotationElement = exports.isAnnotationElement = (0, _helpers.default)(({
|
|
124
|
-
hasBasicElementProps,
|
|
125
|
-
isElementType,
|
|
126
|
-
primitiveEq
|
|
127
|
-
}) => {
|
|
128
|
-
return element => element instanceof _Annotation.default || hasBasicElementProps(element) && isElementType('annotation', element) && primitiveEq('array', element);
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* @public
|
|
133
|
-
*/
|
|
134
|
-
const isCommentElement = exports.isCommentElement = (0, _helpers.default)(({
|
|
135
|
-
hasBasicElementProps,
|
|
136
|
-
isElementType,
|
|
137
|
-
primitiveEq
|
|
138
|
-
}) => {
|
|
139
|
-
return element => element instanceof _Comment.default || hasBasicElementProps(element) && isElementType('comment', element) && primitiveEq('string', element);
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* @public
|
|
144
|
-
*/
|
|
145
|
-
const isParseResultElement = exports.isParseResultElement = (0, _helpers.default)(({
|
|
146
|
-
hasBasicElementProps,
|
|
147
|
-
isElementType,
|
|
148
|
-
primitiveEq
|
|
149
|
-
}) => {
|
|
150
|
-
return element => element instanceof _ParseResult.default || hasBasicElementProps(element) && isElementType('parseResult', element) && primitiveEq('array', element);
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* @public
|
|
155
|
-
*/
|
|
156
|
-
const isSourceMapElement = exports.isSourceMapElement = (0, _helpers.default)(({
|
|
157
|
-
hasBasicElementProps,
|
|
158
|
-
isElementType,
|
|
159
|
-
primitiveEq
|
|
160
|
-
}) => {
|
|
161
|
-
return element => element instanceof _SourceMap.default || hasBasicElementProps(element) && isElementType('sourceMap', element) && primitiveEq('array', element);
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* @public
|
|
166
|
-
*/
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* @public
|
|
170
|
-
*/
|
|
171
|
-
const isPrimitiveElement = element => {
|
|
172
|
-
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);
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* @public
|
|
177
|
-
*/
|
|
178
|
-
exports.isPrimitiveElement = isPrimitiveElement;
|
|
179
|
-
const hasElementSourceMap = element => {
|
|
180
|
-
return isSourceMapElement(element.meta.get('sourceMap'));
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* @public
|
|
185
|
-
*/
|
|
186
|
-
exports.hasElementSourceMap = hasElementSourceMap;
|
|
187
|
-
const includesSymbols = (symbols, element) => {
|
|
188
|
-
if (symbols.length === 0) {
|
|
189
|
-
return true;
|
|
190
|
-
}
|
|
191
|
-
const elementSymbols = element.attributes.get('symbols');
|
|
192
|
-
if (!isArrayElement(elementSymbols)) {
|
|
193
|
-
return false;
|
|
194
|
-
}
|
|
195
|
-
return (0, _ramda.all)((0, _ramdaAdjunct.included)(elementSymbols.toValue()), symbols);
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* @public
|
|
200
|
-
*/
|
|
201
|
-
exports.includesSymbols = includesSymbols;
|
|
202
|
-
const includesClasses = (classes, element) => {
|
|
203
|
-
if (classes.length === 0) {
|
|
204
|
-
return true;
|
|
205
|
-
}
|
|
206
|
-
return (0, _ramda.all)((0, _ramdaAdjunct.included)(element.classes.toValue()), classes);
|
|
207
|
-
};
|
|
208
|
-
exports.includesClasses = includesClasses;
|
package/src/predicates/index.mjs
DELETED
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { Element, StringElement, NumberElement, NullElement, BooleanElement, ArrayElement, ObjectElement, MemberElement, LinkElement, RefElement } from 'minim';
|
|
2
|
-
import { all } from 'ramda';
|
|
3
|
-
import { included } from 'ramda-adjunct';
|
|
4
|
-
import AnnotationElement from "../elements/Annotation.mjs";
|
|
5
|
-
import CommentElement from "../elements/Comment.mjs";
|
|
6
|
-
import ParserResultElement from "../elements/ParseResult.mjs";
|
|
7
|
-
import SourceMapElement from "../elements/SourceMap.mjs";
|
|
8
|
-
import createPredicate, { isElementType as isElementTypeHelper } from "./helpers.mjs";
|
|
9
|
-
/**
|
|
10
|
-
* @public
|
|
11
|
-
*/
|
|
12
|
-
export const isElement = createPredicate(({
|
|
13
|
-
hasBasicElementProps,
|
|
14
|
-
primitiveEq
|
|
15
|
-
}) => {
|
|
16
|
-
return element => element instanceof Element || hasBasicElementProps(element) && primitiveEq(undefined, element);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* @public
|
|
21
|
-
*/
|
|
22
|
-
export const isStringElement = createPredicate(({
|
|
23
|
-
hasBasicElementProps,
|
|
24
|
-
primitiveEq
|
|
25
|
-
}) => {
|
|
26
|
-
return element => element instanceof StringElement || hasBasicElementProps(element) && primitiveEq('string', element);
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* @public
|
|
31
|
-
*/
|
|
32
|
-
export const isNumberElement = createPredicate(({
|
|
33
|
-
hasBasicElementProps,
|
|
34
|
-
primitiveEq
|
|
35
|
-
}) => {
|
|
36
|
-
return element => element instanceof NumberElement || hasBasicElementProps(element) && primitiveEq('number', element);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* @public
|
|
41
|
-
*/
|
|
42
|
-
export const isNullElement = createPredicate(({
|
|
43
|
-
hasBasicElementProps,
|
|
44
|
-
primitiveEq
|
|
45
|
-
}) => {
|
|
46
|
-
return element => element instanceof NullElement || hasBasicElementProps(element) && primitiveEq('null', element);
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* @public
|
|
51
|
-
*/
|
|
52
|
-
export const isBooleanElement = createPredicate(({
|
|
53
|
-
hasBasicElementProps,
|
|
54
|
-
primitiveEq
|
|
55
|
-
}) => {
|
|
56
|
-
return element => element instanceof BooleanElement || hasBasicElementProps(element) && primitiveEq('boolean', element);
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* @public
|
|
61
|
-
*/
|
|
62
|
-
export const isObjectElement = createPredicate(({
|
|
63
|
-
hasBasicElementProps,
|
|
64
|
-
primitiveEq,
|
|
65
|
-
hasMethod
|
|
66
|
-
}) => {
|
|
67
|
-
return element => element instanceof ObjectElement || hasBasicElementProps(element) && primitiveEq('object', element) && hasMethod('keys', element) && hasMethod('values', element) && hasMethod('items', element);
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* @public
|
|
72
|
-
*/
|
|
73
|
-
export const isArrayElement = createPredicate(({
|
|
74
|
-
hasBasicElementProps,
|
|
75
|
-
primitiveEq,
|
|
76
|
-
hasMethod
|
|
77
|
-
}) => {
|
|
78
|
-
return element => element instanceof ArrayElement && !(element instanceof ObjectElement) || hasBasicElementProps(element) && primitiveEq('array', element) && hasMethod('push', element) && hasMethod('unshift', element) && hasMethod('map', element) && hasMethod('reduce', element);
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* @public
|
|
83
|
-
*/
|
|
84
|
-
export const isMemberElement = createPredicate(({
|
|
85
|
-
hasBasicElementProps,
|
|
86
|
-
isElementType,
|
|
87
|
-
primitiveEq
|
|
88
|
-
}) => {
|
|
89
|
-
return element => element instanceof MemberElement || hasBasicElementProps(element) && isElementType('member', element) && primitiveEq(undefined, element);
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* @public
|
|
94
|
-
*/
|
|
95
|
-
export const isLinkElement = createPredicate(({
|
|
96
|
-
hasBasicElementProps,
|
|
97
|
-
isElementType,
|
|
98
|
-
primitiveEq
|
|
99
|
-
}) => {
|
|
100
|
-
return element => element instanceof LinkElement || hasBasicElementProps(element) && isElementType('link', element) && primitiveEq(undefined, element);
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* @public
|
|
105
|
-
*/
|
|
106
|
-
export const isRefElement = createPredicate(({
|
|
107
|
-
hasBasicElementProps,
|
|
108
|
-
isElementType,
|
|
109
|
-
primitiveEq
|
|
110
|
-
}) => {
|
|
111
|
-
return element => element instanceof RefElement || hasBasicElementProps(element) && isElementType('ref', element) && primitiveEq(undefined, element);
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* @public
|
|
116
|
-
*/
|
|
117
|
-
export const isAnnotationElement = createPredicate(({
|
|
118
|
-
hasBasicElementProps,
|
|
119
|
-
isElementType,
|
|
120
|
-
primitiveEq
|
|
121
|
-
}) => {
|
|
122
|
-
return element => element instanceof AnnotationElement || hasBasicElementProps(element) && isElementType('annotation', element) && primitiveEq('array', element);
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* @public
|
|
127
|
-
*/
|
|
128
|
-
export const isCommentElement = createPredicate(({
|
|
129
|
-
hasBasicElementProps,
|
|
130
|
-
isElementType,
|
|
131
|
-
primitiveEq
|
|
132
|
-
}) => {
|
|
133
|
-
return element => element instanceof CommentElement || hasBasicElementProps(element) && isElementType('comment', element) && primitiveEq('string', element);
|
|
134
|
-
});
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* @public
|
|
138
|
-
*/
|
|
139
|
-
export const isParseResultElement = createPredicate(({
|
|
140
|
-
hasBasicElementProps,
|
|
141
|
-
isElementType,
|
|
142
|
-
primitiveEq
|
|
143
|
-
}) => {
|
|
144
|
-
return element => element instanceof ParserResultElement || hasBasicElementProps(element) && isElementType('parseResult', element) && primitiveEq('array', element);
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* @public
|
|
149
|
-
*/
|
|
150
|
-
export const isSourceMapElement = createPredicate(({
|
|
151
|
-
hasBasicElementProps,
|
|
152
|
-
isElementType,
|
|
153
|
-
primitiveEq
|
|
154
|
-
}) => {
|
|
155
|
-
return element => element instanceof SourceMapElement || hasBasicElementProps(element) && isElementType('sourceMap', element) && primitiveEq('array', element);
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* @public
|
|
160
|
-
*/
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* @public
|
|
164
|
-
*/
|
|
165
|
-
export const isPrimitiveElement = element => {
|
|
166
|
-
return isElementTypeHelper('object', element) || isElementTypeHelper('array', element) || isElementTypeHelper('boolean', element) || isElementTypeHelper('number', element) || isElementTypeHelper('string', element) || isElementTypeHelper('null', element) || isElementTypeHelper('member', element);
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* @public
|
|
171
|
-
*/
|
|
172
|
-
export const hasElementSourceMap = element => {
|
|
173
|
-
return isSourceMapElement(element.meta.get('sourceMap'));
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* @public
|
|
178
|
-
*/
|
|
179
|
-
export const includesSymbols = (symbols, element) => {
|
|
180
|
-
if (symbols.length === 0) {
|
|
181
|
-
return true;
|
|
182
|
-
}
|
|
183
|
-
const elementSymbols = element.attributes.get('symbols');
|
|
184
|
-
if (!isArrayElement(elementSymbols)) {
|
|
185
|
-
return false;
|
|
186
|
-
}
|
|
187
|
-
return all(included(elementSymbols.toValue()), symbols);
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* @public
|
|
192
|
-
*/
|
|
193
|
-
export const includesClasses = (classes, element) => {
|
|
194
|
-
if (classes.length === 0) {
|
|
195
|
-
return true;
|
|
196
|
-
}
|
|
197
|
-
return all(included(element.classes.toValue()), classes);
|
|
198
|
-
};
|
package/src/refractor/index.cjs
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
-
exports.__esModule = true;
|
|
5
|
-
exports.default = exports.createRefractor = void 0;
|
|
6
|
-
var _index = require("./plugins/dispatcher/index.cjs");
|
|
7
|
-
var _visitor = require("../traversal/visitor.cjs");
|
|
8
|
-
var _index2 = require("../clone/index.cjs");
|
|
9
|
-
var _index3 = require("../predicates/index.cjs");
|
|
10
|
-
var _toolbox = _interopRequireDefault(require("./toolbox.cjs"));
|
|
11
|
-
const refract = (value, {
|
|
12
|
-
Type,
|
|
13
|
-
plugins = []
|
|
14
|
-
}) => {
|
|
15
|
-
/**
|
|
16
|
-
* This is where values gets refracted into generic ApiDOM.
|
|
17
|
-
* We don't allow consumers to hook into this translation.
|
|
18
|
-
* Though we allow consumers to define their onw plugins on already transformed ApiDOM.
|
|
19
|
-
*/
|
|
20
|
-
const element = new Type(value);
|
|
21
|
-
if ((0, _index3.isElement)(value)) {
|
|
22
|
-
if (value.meta.length > 0) {
|
|
23
|
-
element.meta = (0, _index2.cloneDeep)(value.meta);
|
|
24
|
-
}
|
|
25
|
-
if (value.attributes.length > 0) {
|
|
26
|
-
element.attributes = (0, _index2.cloneDeep)(value.attributes);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Run plugins only when necessary.
|
|
32
|
-
* Running plugins visitors means extra single traversal === performance hit.
|
|
33
|
-
*/
|
|
34
|
-
return (0, _index.dispatchPluginsSync)(element, plugins, {
|
|
35
|
-
toolboxCreator: _toolbox.default,
|
|
36
|
-
visitorOptions: {
|
|
37
|
-
nodeTypeGetter: _visitor.getNodeType
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
const createRefractor = Type => (value, options = {}) => refract(value, {
|
|
42
|
-
...options,
|
|
43
|
-
Type
|
|
44
|
-
});
|
|
45
|
-
exports.createRefractor = createRefractor;
|
|
46
|
-
var _default = exports.default = refract;
|
package/src/refractor/index.mjs
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { dispatchPluginsSync } from "./plugins/dispatcher/index.mjs";
|
|
2
|
-
import { getNodeType } from "../traversal/visitor.mjs";
|
|
3
|
-
import { cloneDeep } from "../clone/index.mjs";
|
|
4
|
-
import { isElement } from "../predicates/index.mjs";
|
|
5
|
-
import createToolbox from "./toolbox.mjs";
|
|
6
|
-
const refract = (value, {
|
|
7
|
-
Type,
|
|
8
|
-
plugins = []
|
|
9
|
-
}) => {
|
|
10
|
-
/**
|
|
11
|
-
* This is where values gets refracted into generic ApiDOM.
|
|
12
|
-
* We don't allow consumers to hook into this translation.
|
|
13
|
-
* Though we allow consumers to define their onw plugins on already transformed ApiDOM.
|
|
14
|
-
*/
|
|
15
|
-
const element = new Type(value);
|
|
16
|
-
if (isElement(value)) {
|
|
17
|
-
if (value.meta.length > 0) {
|
|
18
|
-
element.meta = cloneDeep(value.meta);
|
|
19
|
-
}
|
|
20
|
-
if (value.attributes.length > 0) {
|
|
21
|
-
element.attributes = cloneDeep(value.attributes);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Run plugins only when necessary.
|
|
27
|
-
* Running plugins visitors means extra single traversal === performance hit.
|
|
28
|
-
*/
|
|
29
|
-
return dispatchPluginsSync(element, plugins, {
|
|
30
|
-
toolboxCreator: createToolbox,
|
|
31
|
-
visitorOptions: {
|
|
32
|
-
nodeTypeGetter: getNodeType
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
export const createRefractor = Type => (value, options = {}) => refract(value, {
|
|
37
|
-
...options,
|
|
38
|
-
Type
|
|
39
|
-
});
|
|
40
|
-
export default refract;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
-
exports.__esModule = true;
|
|
5
|
-
var _minim = require("minim");
|
|
6
|
-
exports.ObjectElement = _minim.ObjectElement;
|
|
7
|
-
exports.ArrayElement = _minim.ArrayElement;
|
|
8
|
-
exports.StringElement = _minim.StringElement;
|
|
9
|
-
exports.BooleanElement = _minim.BooleanElement;
|
|
10
|
-
exports.NullElement = _minim.NullElement;
|
|
11
|
-
exports.NumberElement = _minim.NumberElement;
|
|
12
|
-
exports.LinkElement = _minim.LinkElement;
|
|
13
|
-
exports.RefElement = _minim.RefElement;
|
|
14
|
-
var _Annotation = _interopRequireDefault(require("../elements/Annotation.cjs"));
|
|
15
|
-
exports.AnnotationElement = _Annotation.default;
|
|
16
|
-
var _Comment = _interopRequireDefault(require("../elements/Comment.cjs"));
|
|
17
|
-
exports.CommentElement = _Comment.default;
|
|
18
|
-
var _ParseResult = _interopRequireDefault(require("../elements/ParseResult.cjs"));
|
|
19
|
-
exports.ParseResultElement = _ParseResult.default;
|
|
20
|
-
var _SourceMap = _interopRequireDefault(require("../elements/SourceMap.cjs"));
|
|
21
|
-
exports.SourceMapElement = _SourceMap.default;
|
|
22
|
-
var _index = require("./index.cjs");
|
|
23
|
-
_minim.ObjectElement.refract = (0, _index.createRefractor)(_minim.ObjectElement);
|
|
24
|
-
_minim.ArrayElement.refract = (0, _index.createRefractor)(_minim.ArrayElement);
|
|
25
|
-
_minim.StringElement.refract = (0, _index.createRefractor)(_minim.StringElement);
|
|
26
|
-
_minim.BooleanElement.refract = (0, _index.createRefractor)(_minim.BooleanElement);
|
|
27
|
-
_minim.NullElement.refract = (0, _index.createRefractor)(_minim.NullElement);
|
|
28
|
-
_minim.NumberElement.refract = (0, _index.createRefractor)(_minim.NumberElement);
|
|
29
|
-
_minim.LinkElement.refract = (0, _index.createRefractor)(_minim.LinkElement);
|
|
30
|
-
_minim.RefElement.refract = (0, _index.createRefractor)(_minim.RefElement);
|
|
31
|
-
_Annotation.default.refract = (0, _index.createRefractor)(_Annotation.default);
|
|
32
|
-
_Comment.default.refract = (0, _index.createRefractor)(_Comment.default);
|
|
33
|
-
_ParseResult.default.refract = (0, _index.createRefractor)(_ParseResult.default);
|
|
34
|
-
_SourceMap.default.refract = (0, _index.createRefractor)(_SourceMap.default);
|