Exploring new style
This commit is contained in:
@@ -17,15 +17,17 @@ public extension NodeModifier {
|
||||
}
|
||||
|
||||
public extension Node {
|
||||
|
||||
func modifier<T: NodeModifier>(_ modifier: T) -> ModifiedNode<Self, T> {
|
||||
.init(content: self, modifier: modifier)
|
||||
}
|
||||
}
|
||||
|
||||
public struct ConcatModifier<Content, Modifier1, Modifier2>: NodeModifier where Content: Node,
|
||||
Modifier1: NodeModifier, Modifier2: NodeModifier,
|
||||
Modifier1.Content == Content, Modifier1.Body == Modifier2.Content
|
||||
public struct ConcatModifier<Content, Modifier1, Modifier2>: NodeModifier where
|
||||
Content: Node,
|
||||
Modifier1: NodeModifier,
|
||||
Modifier2: NodeModifier,
|
||||
Modifier1.Content == Content,
|
||||
Modifier1.Body == Modifier2.Content
|
||||
{
|
||||
let first: Modifier1
|
||||
let second: Modifier2
|
||||
@@ -33,7 +35,6 @@ public struct ConcatModifier<Content, Modifier1, Modifier2>: NodeModifier where
|
||||
public func render(content: Content) -> some Node {
|
||||
second.render(content: first.render(content: content))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public struct ModifiedNode<Content, Modifier> {
|
||||
@@ -54,7 +55,7 @@ extension ModifiedNode: Node where Content: Node,
|
||||
Modifier: NodeModifier,
|
||||
Modifier.Content == Content
|
||||
{
|
||||
public var body: some Node {
|
||||
public var body: Content {
|
||||
content
|
||||
}
|
||||
}
|
||||
@@ -70,11 +71,3 @@ extension ModifiedNode: NodeModifier where
|
||||
return modifier.render(content: body).render()
|
||||
}
|
||||
}
|
||||
|
||||
extension ModifiedNode where Modifier: NodeModifier {
|
||||
|
||||
func modifier<T: NodeModifier>(_ modifier: T) -> ModifiedNode<Content, ConcatModifier<Content, Modifier, T>> {
|
||||
.init(content: content, modifier: self.modifier.concat(modifier))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user