UNPKG

@virtualstate/examples

Version:
43 lines 1.44 kB
import { ChildrenSource, isVNode } from "@virtualstate/fringe"; export function Sync(o, node) { if (!node) return undefined; return createStaticSyncNode(node); } export function createStaticSyncNode(node) { const children = node.children?.[ChildrenSource]; const staticChildren = { [Symbol.asyncIterator]() { let yielded = false; return { next() { return { then(resolve) { if (yielded) { return resolve({ done: true }); } if (!Array.isArray(children)) { return resolve({ done: true }); } const nodes = children.filter(isVNode); if (!nodes.length) { return resolve({ done: true }); } yielded = true; return resolve({ done: false, value: nodes }); } }; } }; } }; return new Proxy(node, { get(target, p) { if (p !== "children") { return target[p]; } return staticChildren; } }); } //# sourceMappingURL=static.js.map