Packages

p

basil

data

package data

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. 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 number 2000 and 20000 both can be incomplete depending on the subsequent characters

  2. final case class GetKey[F[_], I](key: String, next: F[I]) extends ParseOps[F, I] with Product with Serializable
  3. final case class GetN[F[_], I](n: Int, next: F[I]) extends ParseOps[F, I] with Product with Serializable
  4. final case class GetNum(term: ExpectedTerminator) extends ParseOps[Nothing, Double] with Product with Serializable
  5. final case class GetOpt[F[_], I](next: F[I]) extends ParseOps[F, Option[I]] with Product with Serializable

    Optional is a special case as it changes the shape of the type from I => Option[I] This causes issue when you have nesting Optional value, like Some(Some(Some(None))) Currently this issue is handled by manual flattening in interpreter

  6. final case class GetProduct[F[_], I](allOf: FreeApplicative[F, I]) extends ParseOps[F, I] with Product with Serializable
  7. final case class GetSum[F[_], I](oneOf: NonEmptyMap[String, Lazy[F[I]]]) extends ParseOps[F, I] with Product with Serializable
  8. case class HFix[F[_[_], _], I](unfix: F[[β$3$]HFix[F, β$3$], I]) extends Product with Serializable

    In :: fT => T Out :: T => fT

  9. trait HFunctor[F[_[_], _]] extends AnyRef

    Higher functor provides ability to

  10. final case class IndexPath(i: Int) extends PPath with Product with Serializable
  11. case class KeyMissingError(key: String, path: Vector[PPath]) extends ParseError with Product with Serializable
  12. final case class KeyPath(key: String) extends PPath with Product with Serializable
  13. final case class Mapped[F[_], H, I](fi: F[H], fn: (H) ⇒ I) extends ParseOps[F, I] with Product with Serializable
  14. case class OneOf extends ExpectedTerminator with Product with Serializable
  15. 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 parse

    But the decoder actually perform parsing and skipping, we should look into incorporating information of skipping into it

  16. sealed trait ParseError extends AnyRef
  17. final case class ParseFailure(msg: String, path: Vector[PPath] = Vector.empty) extends Exception with Product with Serializable
  18. sealed trait ParseOps[+F[_], +I] extends AnyRef

    Potentially recursive tree to represent data we want from json

  19. case class UnexpectedType(expectedType: String, unexpectedChar: Char, path: Vector[PPath]) extends ParseError with Product with Serializable

Value Members

  1. object Bracket extends ExpectedTerminator with Product with Serializable
  2. object Comma extends ExpectedTerminator with Product with Serializable
  3. object CurlyBrace extends ExpectedTerminator with Product with Serializable
  4. object End extends ExpectedTerminator with Product with Serializable
  5. object ExpectedTerminator
  6. object GetBool extends ParseOps[Nothing, Boolean] with Product with Serializable
  7. object GetString extends ParseOps[Nothing, String] with Product with Serializable
  8. object HFix extends Serializable
  9. 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

  10. object PPath
  11. object ParseFailure extends Serializable
  12. object ParseOps

Ungrouped