diff options
Diffstat (limited to 'src')
4 files changed, 15 insertions, 15 deletions
diff --git a/src/main/scala/cc/spray/json/lenses/Operations.scala b/src/main/scala/cc/spray/json/lenses/Operations.scala index daa7065..3bf6386 100644 --- a/src/main/scala/cc/spray/json/lenses/Operations.scala +++ b/src/main/scala/cc/spray/json/lenses/Operations.scala @@ -14,7 +14,7 @@ trait Operations { def apply(value: SafeJsValue): SafeJsValue = value.flatMap(apply) } - def updated[T: MonadicReader : JsonWriter](f: T => T): Operation = new MapOperation { + def updated[T: Reader : JsonWriter](f: T => T): Operation = new MapOperation { def apply(value: JsValue): SafeJsValue = value.as[T] map (v => f(v).toJson) } diff --git a/src/main/scala/cc/spray/json/lenses/Projection.scala b/src/main/scala/cc/spray/json/lenses/Projection.scala index 7f17886..35fd99d 100644 --- a/src/main/scala/cc/spray/json/lenses/Projection.scala +++ b/src/main/scala/cc/spray/json/lenses/Projection.scala @@ -25,10 +25,10 @@ trait Projection[M[_]] extends UpdateLens with ReadLens[M] { */ trait ProjectionImpl[M[_]] extends Projection[M] { outer => - def tryGet[T: MonadicReader](p: JsValue): Validated[M[T]] = + def tryGet[T: Reader](p: JsValue): Validated[M[T]] = retr(p).flatMap(mapValue(_)(_.as[T])) - def get[T: MonadicReader](p: JsValue): M[T] = + def get[T: Reader](p: JsValue): M[T] = tryGet[T](p).getOrThrow def !(op: Operation): Update = new Update { @@ -36,7 +36,7 @@ trait ProjectionImpl[M[_]] extends Projection[M] { updated(op)(parent).getOrThrow } - def is[U: MonadicReader](f: U => Boolean): JsPred = value => + def is[U: Reader](f: U => Boolean): JsPred = value => tryGet[U](value) exists (x => ops.map(x)(f).forall(identity)) def /[M2[_], R[_]](next: Projection[M2])(implicit ev: Join[M2, M, R]): Projection[R] = new ProjectionImpl[R] { diff --git a/src/main/scala/cc/spray/json/lenses/ReadLens.scala b/src/main/scala/cc/spray/json/lenses/ReadLens.scala index 241a7f7..80b3d37 100644 --- a/src/main/scala/cc/spray/json/lenses/ReadLens.scala +++ b/src/main/scala/cc/spray/json/lenses/ReadLens.scala @@ -19,17 +19,17 @@ trait ReadLens[M[_]] { * Given a parent JsValue extracts and tries to convert the JsValue into * a value of type `T` */ - def tryGet[T: MonadicReader](value: JsValue): Validated[M[T]] + def tryGet[T: Reader](value: JsValue): Validated[M[T]] /** * Given a parent JsValue extracts and converts a JsValue into a value of * type `T` or throws an exception. */ - def get[T: MonadicReader](value: JsValue): M[T] + def get[T: Reader](value: JsValue): M[T] /** * Lifts a predicate for a converted value for this lens up to the * parent level. */ - def is[U: MonadicReader](f: U => Boolean): JsPred + def is[U: Reader](f: U => Boolean): JsPred }
\ No newline at end of file diff --git a/src/main/scala/cc/spray/json/lenses/package.scala b/src/main/scala/cc/spray/json/lenses/package.scala index 10d3f30..ef61b15 100644 --- a/src/main/scala/cc/spray/json/lenses/package.scala +++ b/src/main/scala/cc/spray/json/lenses/package.scala @@ -27,12 +27,12 @@ package object lenses { implicit def orThrow[B](e: Either[Throwable, B]): GetOrThrow[B] = GetOrThrow(e) - trait MonadicReader[T] { + trait Reader[T] { def read(js: JsValue): Validated[T] } - object MonadicReader { - implicit def safeMonadicReader[T: JsonReader]: MonadicReader[T] = new MonadicReader[T] { + object Reader { + implicit def safeMonadicReader[T: JsonReader]: Reader[T] = new Reader[T] { def read(js: JsValue): Validated[T] = safe(js.convertTo[T]) } @@ -62,17 +62,17 @@ package object lenses { // This can't be simplified because we don't want the type constructor // of projection to appear in the type paramater list. - def extract[T: MonadicReader](p: Projection[Id]): T = + def extract[T: Reader](p: Projection[Id]): T = p.get[T](value) - def extract[T: MonadicReader](p: Projection[Option]): Option[T] = + def extract[T: Reader](p: Projection[Option]): Option[T] = p.get[T](value) - def extract[T: MonadicReader](p: Projection[Seq]): Seq[T] = + def extract[T: Reader](p: Projection[Seq]): Seq[T] = p.get[T](value) - def as[T: MonadicReader]: Validated[T] = - implicitly[MonadicReader[T]].read(value) + def as[T: Reader]: Validated[T] = + implicitly[Reader[T]].read(value) } implicit def updatable(value: JsValue): RichJsValue = RichJsValue(value) |