UNPKG

@onenexus/squery

Version:

Interact with Synergy modules/BEM DOM elements

41 lines (31 loc) 1.25 kB
import getComponents from './getComponents'; import getComponent from './getComponent'; import setComponent from './setComponent'; import unsetComponent from './unsetComponent'; import isComponent from './isComponent'; export default function component(node, componentName, operator, config) { config = Object.assign(this || {}, config || {}); if (!componentName && !operator) { return (config.getSubComponents || getComponents)(node, false, config); } if (!operator || operator === 'find') { return (config.getSubComponents || getComponents)(node, componentName, config); } if (operator === 'first') { return (config.getSubComponent || getComponent)(node, componentName, config); } if (operator === 'is') { return isComponent(node, componentName, config); } if (operator === 'set') { //@TODO setSubComponent return setComponent(node, componentName, null, null, config); } if (operator === 'unset') { //@TODO unsetSubComponent return unsetComponent(node, componentName, config); } if (typeof operator === 'function') { return getComponents(node, componentName, config).forEach(node => operator(node)); } }