diff options
Diffstat (limited to 'yamlesque/src/main/scala/yamlValues.scala')
-rw-r--r-- | yamlesque/src/main/scala/yamlValues.scala | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/yamlesque/src/main/scala/yamlValues.scala b/yamlesque/src/main/scala/yamlValues.scala new file mode 100644 index 0000000..3bc4f36 --- /dev/null +++ b/yamlesque/src/main/scala/yamlValues.scala @@ -0,0 +1,23 @@ +package yamlesque + +sealed trait YamlValue { + def print: String = YamlValue.DefaultPrinter(this) +} +object YamlValue { + val DefaultPrinter = new YamlPrinter(true) +} + +case class YamlMapping(fields: Map[String, YamlValue]) extends YamlValue +object YamlMapping { + def apply(items: (String, YamlValue)*) = new YamlMapping(Map(items: _*)) +} + +case class YamlSequence(items: Vector[YamlValue]) extends YamlValue +object YamlSequence { + def apply(items: YamlValue*) = new YamlSequence(items.toVector) +} + +case class YamlScalar(value: String) extends YamlValue +object YamlScalar { + final val Empty = YamlScalar("") +} |