Coverage Summary for Class: AlertNodeRenderer (io.heapy.kotmark.ext.gfm.alerts.internal)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| AlertNodeRenderer |
100%
(1/1)
|
100%
(3/3)
|
100%
(4/4)
|
100%
(9/9)
|
100%
(30/30)
|
package io.heapy.kotmark.ext.gfm.alerts.internal
import io.heapy.kotmark.ext.gfm.alerts.Alert
import io.heapy.kotmark.ext.gfm.alerts.AlertTitle
import io.heapy.kotmark.node.Node
import io.heapy.kotmark.renderer.NodeRenderer
import kotlin.reflect.KClass
abstract class AlertNodeRenderer : NodeRenderer {
override val nodeTypes: Set<KClass<out Node>> = setOf(Alert::class)
final override fun render(node: Node) {
renderAlert(node as Alert)
}
protected abstract fun renderAlert(alert: Alert)
protected fun renderChildren(parent: Node) {
var child = parent.firstChild
while (child != null) {
val next = child.next
if (child !is AlertTitle) {
renderNode(child)
}
child = next
}
}
protected abstract fun renderNode(node: Node)
}