abstract class JsonParse[Source[_]] extends AnyRef
Core abstraction of the library Contains logic to extract data from json
The main selling point is that it works on 1 character at a time and thus can work on partial json and stream of json
By trying to extract the exact data needed, it avoids creating intermediate data structure
Linear Supertypes
Known Subclasses
Ordering
- Alphabetic
- By Inheritance
Inherited
- JsonParse
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new JsonParse()(implicit TakeOne: TakeOne[Source], ME: MonadError[Source, ParseFailure], Monoid: Monoid[Source[Char]], Cons: Cons[Source])
Type Members
- type CharSource = Source[Char]
- type Parse[I] = (Vector[PPath]) ⇒ (CharSource) ⇒ Source[(I, CharSource)]
- type Pipe = (CharSource) ⇒ CharSource
- implicit class SourceOps[A] extends AnyRef
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- implicit val ParseApp: Applicative[Parse]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- val discriminatorField: String
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def parseArrayItem[I](n: Int, next: Parse[I]): Parse[I]
- val parseBoolean: Parse[Boolean]
-
def
parseNumber(terminator: ExpectedTerminator): Parse[Double]
Number is broken down into 3 parts
Number is broken down into 3 parts
20.6e10
part 1 - 20 terminated by . part 2 - 6 terminated by e part 3 - 10 terminated by terminator
- terminator
to indicate what character terminates the number
- def parseObj[I](k: String, nextOp: Parse[I]): Parse[I]
- val parseString: Parse[String]
- val parsing: ~>[[β$0$]ParseOps[[I](Vector[PPath]) ⇒ (Source[Char]) ⇒ Source[(I, Source[Char])], β$0$], Parse]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )