Home > @activeviam/activeui-sdk > NodeMatcherFactory
NodeMatcherFactory type
Provides a fluent API to match nodes in a parsed statement.
Signature:
export declare type NodeMatcherFactory = (a: MdxNode) => NodeMatcher;
Remarks
Pass an MdxNode to this function to create a NodeMatcher that lets you write tests for the node and its children.
At the end of the chain, call .matches()
to get a boolean result. If you need more information about the match success or failure, call .matchDetails()
on the NodeMatcher
.
Example 1
const nodeMatcher = activeUI.mdx.nodeMatcher(node); const nodeIsAComparingFilterFunction = nodeMatcher .isFunction("Filter") .hasNArguments(2) .subArg(1, conditionMatcher => conditionMatcher.isFunction("<", ">", "<=", ">=").hasNArguments(2) ) .matches();
Example 2
const isStringOrNullMatcher = activeUI.mdx.nodeMatcher(node).isString().or().isNull(); if (isStringOrNullMatcher.matches()) { console.log(node, 'is a string or is NULL'); } else { throw new Error('please pass a valid MdxNode'); }