main
Last change
on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago |
Initial commit
|
-
Property mode
set to
100644
|
File size:
1.4 KB
|
Line | |
---|
1 | "use strict";
|
---|
2 |
|
---|
3 | exports.__esModule = true;
|
---|
4 | exports.isElementType = exports.default = void 0;
|
---|
5 | var _minim = require("minim");
|
---|
6 | const hasMethod = (name, element) => {
|
---|
7 | return typeof element === 'object' && element !== null && name in element && typeof element[name] === 'function';
|
---|
8 | };
|
---|
9 | const hasBasicElementProps = element => typeof element === 'object' && element != null && '_storedElement' in element && typeof element._storedElement === 'string' &&
|
---|
10 | // eslint-disable-line no-underscore-dangle
|
---|
11 | '_content' in element;
|
---|
12 | const primitiveEq = (val, element) => {
|
---|
13 | if (typeof element === 'object' && element !== null && 'primitive' in element) {
|
---|
14 | return typeof element.primitive === 'function' && element.primitive() === val;
|
---|
15 | }
|
---|
16 | return false;
|
---|
17 | };
|
---|
18 | const hasClass = (cls, element) => {
|
---|
19 | return typeof element === 'object' && element !== null && 'classes' in element && (Array.isArray(element.classes) || element.classes instanceof _minim.ArrayElement) && element.classes.includes(cls);
|
---|
20 | };
|
---|
21 | const isElementType = (name, element) => typeof element === 'object' && element !== null && 'element' in element && element.element === name;
|
---|
22 | exports.isElementType = isElementType;
|
---|
23 | const createPredicate = predicateCreator => {
|
---|
24 | return predicateCreator({
|
---|
25 | hasMethod,
|
---|
26 | hasBasicElementProps,
|
---|
27 | primitiveEq,
|
---|
28 | isElementType,
|
---|
29 | hasClass
|
---|
30 | });
|
---|
31 | };
|
---|
32 | var _default = exports.default = createPredicate; |
---|
Note:
See
TracBrowser
for help on using the repository browser.