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 | const isElement = exports.isElement = (0, _helpers.default)(({
|
---|
16 | hasBasicElementProps,
|
---|
17 | primitiveEq
|
---|
18 | }) => {
|
---|
19 | return element => element instanceof _minim.Element || hasBasicElementProps(element) && primitiveEq(undefined, element);
|
---|
20 | });
|
---|
21 | const isStringElement = exports.isStringElement = (0, _helpers.default)(({
|
---|
22 | hasBasicElementProps,
|
---|
23 | primitiveEq
|
---|
24 | }) => {
|
---|
25 | return element => element instanceof _minim.StringElement || hasBasicElementProps(element) && primitiveEq('string', element);
|
---|
26 | });
|
---|
27 | const isNumberElement = exports.isNumberElement = (0, _helpers.default)(({
|
---|
28 | hasBasicElementProps,
|
---|
29 | primitiveEq
|
---|
30 | }) => {
|
---|
31 | return element => element instanceof _minim.NumberElement || hasBasicElementProps(element) && primitiveEq('number', element);
|
---|
32 | });
|
---|
33 | const isNullElement = exports.isNullElement = (0, _helpers.default)(({
|
---|
34 | hasBasicElementProps,
|
---|
35 | primitiveEq
|
---|
36 | }) => {
|
---|
37 | return element => element instanceof _minim.NullElement || hasBasicElementProps(element) && primitiveEq('null', element);
|
---|
38 | });
|
---|
39 | const isBooleanElement = exports.isBooleanElement = (0, _helpers.default)(({
|
---|
40 | hasBasicElementProps,
|
---|
41 | primitiveEq
|
---|
42 | }) => {
|
---|
43 | return element => element instanceof _minim.BooleanElement || hasBasicElementProps(element) && primitiveEq('boolean', element);
|
---|
44 | });
|
---|
45 | const isObjectElement = exports.isObjectElement = (0, _helpers.default)(({
|
---|
46 | hasBasicElementProps,
|
---|
47 | primitiveEq,
|
---|
48 | hasMethod
|
---|
49 | }) => {
|
---|
50 | return element => element instanceof _minim.ObjectElement || hasBasicElementProps(element) && primitiveEq('object', element) && hasMethod('keys', element) && hasMethod('values', element) && hasMethod('items', element);
|
---|
51 | });
|
---|
52 | const isArrayElement = exports.isArrayElement = (0, _helpers.default)(({
|
---|
53 | hasBasicElementProps,
|
---|
54 | primitiveEq,
|
---|
55 | hasMethod
|
---|
56 | }) => {
|
---|
57 | 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);
|
---|
58 | });
|
---|
59 | const isMemberElement = exports.isMemberElement = (0, _helpers.default)(({
|
---|
60 | hasBasicElementProps,
|
---|
61 | isElementType,
|
---|
62 | primitiveEq
|
---|
63 | }) => {
|
---|
64 | return element => element instanceof _minim.MemberElement || hasBasicElementProps(element) && isElementType('member', element) && primitiveEq(undefined, element);
|
---|
65 | });
|
---|
66 | const isLinkElement = exports.isLinkElement = (0, _helpers.default)(({
|
---|
67 | hasBasicElementProps,
|
---|
68 | isElementType,
|
---|
69 | primitiveEq
|
---|
70 | }) => {
|
---|
71 | return element => element instanceof _minim.LinkElement || hasBasicElementProps(element) && isElementType('link', element) && primitiveEq(undefined, element);
|
---|
72 | });
|
---|
73 | const isRefElement = exports.isRefElement = (0, _helpers.default)(({
|
---|
74 | hasBasicElementProps,
|
---|
75 | isElementType,
|
---|
76 | primitiveEq
|
---|
77 | }) => {
|
---|
78 | return element => element instanceof _minim.RefElement || hasBasicElementProps(element) && isElementType('ref', element) && primitiveEq(undefined, element);
|
---|
79 | });
|
---|
80 | const isAnnotationElement = exports.isAnnotationElement = (0, _helpers.default)(({
|
---|
81 | hasBasicElementProps,
|
---|
82 | isElementType,
|
---|
83 | primitiveEq
|
---|
84 | }) => {
|
---|
85 | return element => element instanceof _Annotation.default || hasBasicElementProps(element) && isElementType('annotation', element) && primitiveEq('array', element);
|
---|
86 | });
|
---|
87 | const isCommentElement = exports.isCommentElement = (0, _helpers.default)(({
|
---|
88 | hasBasicElementProps,
|
---|
89 | isElementType,
|
---|
90 | primitiveEq
|
---|
91 | }) => {
|
---|
92 | return element => element instanceof _Comment.default || hasBasicElementProps(element) && isElementType('comment', element) && primitiveEq('string', element);
|
---|
93 | });
|
---|
94 | const isParseResultElement = exports.isParseResultElement = (0, _helpers.default)(({
|
---|
95 | hasBasicElementProps,
|
---|
96 | isElementType,
|
---|
97 | primitiveEq
|
---|
98 | }) => {
|
---|
99 | return element => element instanceof _ParseResult.default || hasBasicElementProps(element) && isElementType('parseResult', element) && primitiveEq('array', element);
|
---|
100 | });
|
---|
101 | const isSourceMapElement = exports.isSourceMapElement = (0, _helpers.default)(({
|
---|
102 | hasBasicElementProps,
|
---|
103 | isElementType,
|
---|
104 | primitiveEq
|
---|
105 | }) => {
|
---|
106 | return element => element instanceof _SourceMap.default || hasBasicElementProps(element) && isElementType('sourceMap', element) && primitiveEq('array', element);
|
---|
107 | });
|
---|
108 | const isPrimitiveElement = element => {
|
---|
109 | 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);
|
---|
110 | };
|
---|
111 | exports.isPrimitiveElement = isPrimitiveElement;
|
---|
112 | const hasElementSourceMap = element => {
|
---|
113 | return isSourceMapElement(element.meta.get('sourceMap'));
|
---|
114 | };
|
---|
115 | exports.hasElementSourceMap = hasElementSourceMap;
|
---|
116 | const includesSymbols = (symbols, element) => {
|
---|
117 | if (symbols.length === 0) {
|
---|
118 | return true;
|
---|
119 | }
|
---|
120 | const elementSymbols = element.attributes.get('symbols');
|
---|
121 | if (!isArrayElement(elementSymbols)) {
|
---|
122 | return false;
|
---|
123 | }
|
---|
124 | return (0, _ramda.all)((0, _ramdaAdjunct.included)(elementSymbols.toValue()), symbols);
|
---|
125 | };
|
---|
126 | exports.includesSymbols = includesSymbols;
|
---|
127 | const includesClasses = (classes, element) => {
|
---|
128 | if (classes.length === 0) {
|
---|
129 | return true;
|
---|
130 | }
|
---|
131 | return (0, _ramda.all)((0, _ramdaAdjunct.included)(element.classes.toValue()), classes);
|
---|
132 | };
|
---|
133 | exports.includesClasses = includesClasses; |
---|