diff options
-rw-r--r-- | yamlesque-spray-json/src/main/scala/formats.scala | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/yamlesque-spray-json/src/main/scala/formats.scala b/yamlesque-spray-json/src/main/scala/formats.scala index 188f4a9..81f86d2 100644 --- a/yamlesque-spray-json/src/main/scala/formats.scala +++ b/yamlesque-spray-json/src/main/scala/formats.scala @@ -4,12 +4,16 @@ import spray.json._ trait JsonYamlFormats { - implicit def jsonToYamlReader[A](implicit jsReader: JsonReader[A]): YamlReader[A] = new YamlReader[A] { - override def read(yaml: YamlValue): A = jsReader.read(JsonFormats.yamlToJson(yaml)) + implicit def jsonToYamlReader[A]( + implicit jsReader: JsonReader[A]): YamlReader[A] = new YamlReader[A] { + override def read(yaml: YamlValue): A = + jsReader.read(JsonFormats.yamlToJson(yaml)) } - implicit def jsonToYamlWriter[A](implicit jsWriter: JsonWriter[A]): YamlWriter[A] = new YamlWriter[A] { - override def write(a: A): YamlValue = JsonFormats.jsonToYaml(jsWriter.write(a)) + implicit def jsonToYamlWriter[A]( + implicit jsWriter: JsonWriter[A]): YamlWriter[A] = new YamlWriter[A] { + override def write(a: A): YamlValue = + JsonFormats.jsonToYaml(jsWriter.write(a)) } } @@ -17,24 +21,24 @@ trait JsonYamlFormats { object JsonFormats { def jsonToYaml(js: JsValue): YamlValue = js match { - case JsNull => YamlEmpty - case JsNumber(number) => YamlScalar(number.toString) - case JsBoolean(value) => YamlScalar(value.toString) - case JsString(value) => YamlScalar(value) - case JsArray(elements) => YamlSequence(elements.map(jsonToYaml _ )) - case JsObject(fields) => YamlMapping(fields.mapValues(jsonToYaml _ )) + case JsNull => YamlEmpty + case JsNumber(number) => YamlScalar(number.toString) + case JsBoolean(value) => YamlScalar(value.toString) + case JsString(value) => YamlScalar(value) + case JsArray(elements) => YamlSequence(elements.map(jsonToYaml _)) + case JsObject(fields) => YamlMapping(fields.mapValues(jsonToYaml _)) } val JsNumberPattern = """([-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?)""".r def yamlToJson(yaml: YamlValue): JsValue = yaml match { - case YamlEmpty => JsNull - case YamlScalar("true") => JsTrue - case YamlScalar("false") => JsFalse + case YamlEmpty => JsNull + case YamlScalar("true") => JsTrue + case YamlScalar("false") => JsFalse case YamlScalar(JsNumberPattern(x)) => JsNumber(x.toDouble) - case YamlScalar(x) => JsString(x) - case YamlSequence(elements) => JsArray(elements.map(yamlToJson)) - case YamlMapping(fields) => JsObject(fields.mapValues(yamlToJson)) + case YamlScalar(x) => JsString(x) + case YamlSequence(elements) => JsArray(elements.map(yamlToJson)) + case YamlMapping(fields) => JsObject(fields.mapValues(yamlToJson)) } } |