28 lines
480 B
Swift
28 lines
480 B
Swift
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)
|
|
}
|
|
}
|