23 lines
457 B
Scala
23 lines
457 B
Scala
package tf.bug.fancadegraph
|
|
|
|
import tf.bug.fancadescodec.{Metadata, Position}
|
|
|
|
case class Block[T](
|
|
position: Position,
|
|
definition: BlockDefinition[T],
|
|
argument: T
|
|
)(
|
|
implicit ev: Argument[T]
|
|
) {
|
|
def metadata: Vector[Metadata] = ev.encode(argument)(position)
|
|
}
|
|
|
|
object Block {
|
|
def apply(position: Position, definition: BlockDefinition[Unit]): Block[Unit] =
|
|
new Block(
|
|
position,
|
|
definition,
|
|
()
|
|
)
|
|
}
|