import { isFunction } from 'lodash'; import { VNode } from 'vue'; export const getInnerTextByVNode = (vNode: VNode) => { if (vNode.children?.length > 0) { return vNode.children.map((item) => getInnerTextByVNode(item)).join(''); } else { return vNode.text || ''; } }; export const getInnerTextByVNodesOrVNode = (vNodes: VNode | VNode[]) => { if (Array.isArray(vNodes)) return vNodes.map(getInnerTextByVNode).join(''); return getInnerTextByVNode(vNodes); }; export const parseWatcherFn = ( watcherOrFn: ((data: I) => T) | [string | string[], (data: I) => T], ) => { if (isFunction(watcherOrFn)) return watcherOrFn; if (watcherOrFn?.length === 2) return watcherOrFn[1]; };