feat: Working on node builder

This commit is contained in:
2024-12-01 01:41:36 -05:00
parent 56a406b231
commit 55d8888961
14 changed files with 480 additions and 39 deletions

View File

@@ -0,0 +1,27 @@
public struct AnyNode: NodeRepresentable {
@usableFromInline
let node: any NodeRepresentable
@inlinable
public init<N: NodeRepresentable>(@NodeBuilder _ build: () -> N) {
self.node = build()
}
@inlinable
public init<N: NodeRepresentable>(_ node: N) {
self.node = node
}
@inlinable
public func render() -> String {
node.render()
}
}
public extension NodeRepresentable {
@inlinable
func eraseToAnyNode() -> AnyNode {
.init(self)
}
}