2022-12-07 19:42:03 +00:00
|
|
|
package com.htmlism.firepower.core
|
2022-12-06 19:30:35 +00:00
|
|
|
|
|
|
|
trait Definable[A]:
|
2022-12-07 18:53:05 +00:00
|
|
|
def table(x: A): Definable.Table
|
2022-12-06 19:58:20 +00:00
|
|
|
|
2022-12-06 19:30:35 +00:00
|
|
|
extension (x: A) def toComment: String
|
|
|
|
|
|
|
|
extension (x: A) def toValue: Int
|
2022-12-06 19:58:20 +00:00
|
|
|
|
|
|
|
extension (x: A) def toDefine: String
|
2022-12-06 20:32:30 +00:00
|
|
|
|
2022-12-06 22:06:53 +00:00
|
|
|
extension (x: A) def toDefineWithMath: String
|
|
|
|
|
2022-12-06 20:32:30 +00:00
|
|
|
object Definable:
|
2022-12-07 18:53:05 +00:00
|
|
|
case class Table(description: String, xs: List[(String, Int)])
|
|
|
|
|
2022-12-06 20:32:30 +00:00
|
|
|
def apply[A](using ev: Definable[A]): Definable[A] =
|
|
|
|
ev
|