source: node_modules/@swagger-api/apidom-core/es/predicates/helpers.mjs

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 16 months ago

Initial commit

  • Property mode set to 100644
File size: 1.2 KB
Line 
1import { ArrayElement } from 'minim';
2const hasMethod = (name, element) => {
3 return typeof element === 'object' && element !== null && name in element && typeof element[name] === 'function';
4};
5const hasBasicElementProps = element => typeof element === 'object' && element != null && '_storedElement' in element && typeof element._storedElement === 'string' &&
6// eslint-disable-line no-underscore-dangle
7'_content' in element;
8const primitiveEq = (val, element) => {
9 if (typeof element === 'object' && element !== null && 'primitive' in element) {
10 return typeof element.primitive === 'function' && element.primitive() === val;
11 }
12 return false;
13};
14const hasClass = (cls, element) => {
15 return typeof element === 'object' && element !== null && 'classes' in element && (Array.isArray(element.classes) || element.classes instanceof ArrayElement) && element.classes.includes(cls);
16};
17export const isElementType = (name, element) => typeof element === 'object' && element !== null && 'element' in element && element.element === name;
18const createPredicate = predicateCreator => {
19 return predicateCreator({
20 hasMethod,
21 hasBasicElementProps,
22 primitiveEq,
23 isElementType,
24 hasClass
25 });
26};
27export default createPredicate;
Note: See TracBrowser for help on using the repository browser.