package data
- Alphabetic
- Public
- All
Type Members
- final case class Continuable[A[_[_], _], I](cont: (HFix[A, I]) ⇒ HFix[A, I], terminator: ExpectedTerminator) extends Product with Serializable
-
sealed
trait
ExpectedTerminator extends AnyRef
ADT to represent expected terminator when parsing json it's only use when decoding number because number does not comes with native terminator
ADT to represent expected terminator when parsing json it's only use when decoding number because number does not comes with native terminator
eg. it's evident that
"halo"
is a complete string, and"halo
is not, but we cannot do the same for number2000
and20000
both can be incomplete depending on the subsequent characters - final case class ExprEnd[A[_[_], _], I](t: HFix[A, I]) extends Product with Serializable
- final case class GetKey[F[_], I](key: String, next: F[I]) extends ParseOps[F, I] with Product with Serializable
- final case class GetMultiple[F[_], I](allOf: FreeApplicative[[β$1$]ParseOps[F, β$1$], I]) extends ParseOps[F, I] with Product with Serializable
- final case class GetN[F[_], I](n: Int, next: F[I]) extends ParseOps[F, I] with Product with Serializable
- final case class GetNum(term: ExpectedTerminator) extends ParseOps[Nothing, Double] with Product with Serializable
-
case class
HFix[F[_[_], _], I](unfix: F[[β$3$]HFix[F, β$3$], I]) extends Product with Serializable
In :: fT => T Out :: T => fT
-
trait
HFunctor[F[_[_], _]] extends AnyRef
Higher functor provides ability to
- final case class IndexPath(i: Int) extends PPath with Product with Serializable
- final case class KeyPath(key: String) extends PPath with Product with Serializable
- case class OneOf(t: List[ExpectedTerminator]) extends ExpectedTerminator with Product with Serializable
-
sealed
trait
PPath extends AnyRef
ADT to represent the position of parsing mainly for error reporting
ADT to represent the position of parsing mainly for error reporting
Right now it just show the path we are
trying
to parseBut the decoder actually perform parsing and skipping, we should look into incorporating information of skipping into it
- final case class ParseFailure(msg: String, path: Vector[PPath] = Vector.empty) extends Exception with Product with Serializable
-
sealed
trait
ParseOps[+F[_], I] extends AnyRef
Potentially recursive tree to represent data that's needed from json
Potentially recursive tree to represent data that's needed from json
todo: support sequence
- trait PartialCont[A[_[_], _]] extends AnyRef
Value Members
- object Bracket extends ExpectedTerminator with Product with Serializable
- object Comma extends ExpectedTerminator with Product with Serializable
- object CurlyBrace extends ExpectedTerminator with Product with Serializable
- object End extends ExpectedTerminator with Product with Serializable
- object ExpectedTerminator
- object GetBool extends ParseOps[Nothing, Boolean] with Product with Serializable
- object GetString extends ParseOps[Nothing, String] with Product with Serializable
- object HFix extends Serializable
-
object
Nullable extends PPath with Product with Serializable
questionable design Designed this way so we can mark a path as nullable without knowing what the path actually is
- object OneOf extends Serializable
- object PPath
- object ParseFailure extends Serializable
- object ParseOps
- object ParseOpsConstructor