diff options
-rw-r--r-- | .travis.yml | 6 | ||||
-rw-r--r-- | build.sbt | 2 | ||||
-rw-r--r-- | project/build.properties | 2 | ||||
-rw-r--r-- | src/main/scala/spray/json/JsonParser.scala | 5 | ||||
-rw-r--r-- | src/main/scala/spray/json/JsonParserSettings.scala | 10 | ||||
-rw-r--r-- | src/main/scala/spray/json/package.scala | 3 |
6 files changed, 23 insertions, 5 deletions
diff --git a/.travis.yml b/.travis.yml index 8aede91..00d3567 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,13 +2,17 @@ language: scala scala: - 2.10.7 - 2.11.12 - - 2.12.6 + - 2.12.7 - 2.13.0-M5 script: - sbt "++ ${TRAVIS_SCALA_VERSION}!" test mimaReportBinaryIssues jdk: - oraclejdk8 +matrix: + include: + - jdk: openjdk11 + scala: 2.12.7 notifications: email: - johannes@spray.io @@ -67,7 +67,7 @@ mimaBinaryIssueFilters := Seq( // publishing /////////////// -crossScalaVersions := Seq("2.12.6", "2.10.7", "2.11.12", "2.13.0-M5") +crossScalaVersions := Seq("2.12.7", "2.10.7", "2.11.12", "2.13.0-M5") publishMavenStyle := true diff --git a/project/build.properties b/project/build.properties index f59579f..7c58a83 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.2.0 +sbt.version=1.2.6 diff --git a/src/main/scala/spray/json/JsonParser.scala b/src/main/scala/spray/json/JsonParser.scala index fb94b9c..ded8d6a 100644 --- a/src/main/scala/spray/json/JsonParser.scala +++ b/src/main/scala/spray/json/JsonParser.scala @@ -28,12 +28,15 @@ import scala.collection.immutable.TreeMap */ object JsonParser { def apply(input: ParserInput): JsValue = new JsonParser(input).parseJsValue() + def apply(input: ParserInput, settings: JsonParserSettings): JsValue = new JsonParser(input, settings).parseJsValue() class ParsingException(val summary: String, val detail: String = "") extends RuntimeException(if (summary.isEmpty) detail else if (detail.isEmpty) summary else summary + ":" + detail) } -class JsonParser(input: ParserInput) { +class JsonParser(input: ParserInput, settings: JsonParserSettings = JsonParserSettings.default) { + def this(input: ParserInput) = this(input, JsonParserSettings.default) + import JsonParser.ParsingException private[this] val sb = new JStringBuilder diff --git a/src/main/scala/spray/json/JsonParserSettings.scala b/src/main/scala/spray/json/JsonParserSettings.scala new file mode 100644 index 0000000..31692fd --- /dev/null +++ b/src/main/scala/spray/json/JsonParserSettings.scala @@ -0,0 +1,10 @@ +package spray.json + +trait JsonParserSettings { + +} +object JsonParserSettings { + val default: JsonParserSettings = SettingsImpl() + + private case class SettingsImpl() extends JsonParserSettings +}
\ No newline at end of file diff --git a/src/main/scala/spray/json/package.scala b/src/main/scala/spray/json/package.scala index 37d63c2..a8a42f0 100644 --- a/src/main/scala/spray/json/package.scala +++ b/src/main/scala/spray/json/package.scala @@ -24,7 +24,7 @@ package object json { def serializationError(msg: String) = throw new SerializationException(msg) def jsonReader[T](implicit reader: JsonReader[T]) = reader - def jsonWriter[T](implicit writer: JsonWriter[T]) = writer + def jsonWriter[T](implicit writer: JsonWriter[T]) = writer implicit def enrichAny[T](any: T) = new RichAny(any) implicit def enrichString(string: String) = new RichString(string) @@ -48,6 +48,7 @@ package json { @deprecated("deprecated in favor of parseJson", "1.2.6") def asJson: JsValue = parseJson def parseJson: JsValue = JsonParser(string) + def parseJson(settings: JsonParserSettings): JsValue = JsonParser(string, settings) } @deprecated("use RichAny", "1.3.4") |