UNPKG

@wfrog/vc

Version:

vue3 组件库 vc

50 lines (47 loc) 2.03 kB
import { isVNode, Fragment, Comment } from 'vue'; import { i as isArray } from './E_WRn0OP.mjs'; var PatchFlags = /* @__PURE__ */ ((PatchFlags2) => { PatchFlags2[PatchFlags2["TEXT"] = 1] = "TEXT"; PatchFlags2[PatchFlags2["CLASS"] = 2] = "CLASS"; PatchFlags2[PatchFlags2["STYLE"] = 4] = "STYLE"; PatchFlags2[PatchFlags2["PROPS"] = 8] = "PROPS"; PatchFlags2[PatchFlags2["FULL_PROPS"] = 16] = "FULL_PROPS"; PatchFlags2[PatchFlags2["HYDRATE_EVENTS"] = 32] = "HYDRATE_EVENTS"; PatchFlags2[PatchFlags2["STABLE_FRAGMENT"] = 64] = "STABLE_FRAGMENT"; PatchFlags2[PatchFlags2["KEYED_FRAGMENT"] = 128] = "KEYED_FRAGMENT"; PatchFlags2[PatchFlags2["UNKEYED_FRAGMENT"] = 256] = "UNKEYED_FRAGMENT"; PatchFlags2[PatchFlags2["NEED_PATCH"] = 512] = "NEED_PATCH"; PatchFlags2[PatchFlags2["DYNAMIC_SLOTS"] = 1024] = "DYNAMIC_SLOTS"; PatchFlags2[PatchFlags2["HOISTED"] = -1] = "HOISTED"; PatchFlags2[PatchFlags2["BAIL"] = -2] = "BAIL"; return PatchFlags2; })(PatchFlags || {}); function isFragment(node) { return isVNode(node) && node.type === Fragment; } function isComment(node) { return isVNode(node) && node.type === Comment; } function isValidElementNode(node) { return isVNode(node) && !isFragment(node) && !isComment(node); } const flattedChildren = (children) => { const vNodes = isArray(children) ? children : [children]; const result = []; vNodes.forEach((child) => { var _a; if (isArray(child)) { result.push(...flattedChildren(child)); } else if (isVNode(child) && ((_a = child.component) == null ? void 0 : _a.subTree)) { result.push(child, ...flattedChildren(child.component.subTree)); } else if (isVNode(child) && isArray(child.children)) { result.push(...flattedChildren(child.children)); } else if (isVNode(child) && child.shapeFlag === 2) { result.push(...flattedChildren(child.type())); } else { result.push(child); } }); return result; }; export { PatchFlags as P, isValidElementNode as a, flattedChildren as f, isFragment as i };