abstract class JsonStreamParse[Source[_]] extends JsonParse[Source[Char], [A]Source[(A, Source[Char])]]
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
- JsonStreamParse
- JsonParse
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new JsonStreamParse()(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]) ⇒ (Source[Char]) ⇒ Source[(I, Source[Char])]
- Definition Classes
- JsonParse
- 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]
- Definition Classes
- JsonStreamParse → JsonParse
-
val
parseBoolean: Parse[Boolean]
- Definition Classes
- JsonStreamParse → JsonParse
-
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
- Definition Classes
- JsonStreamParse → JsonParse
-
def
parseObj[I](k: String, nextOp: Parse[I]): Parse[I]
- Definition Classes
- JsonStreamParse → JsonParse
-
def
parseOneOf[I](oneOf: NonEmptyMap[String, Lazy[Parse[I]]]): Parse[I]
- Definition Classes
- JsonStreamParse → JsonParse
-
def
parseOptional[I](parse: Parse[I]): Parse[Option[I]]
- Definition Classes
- JsonStreamParse → JsonParse
-
val
parseString: Parse[String]
- Definition Classes
- JsonStreamParse → JsonParse
-
val
parsing: ~>[[β$0$]ParseOps[[I](Vector[PPath]) ⇒ (Source[Char]) ⇒ Source[(I, Source[Char])], β$0$], Parse]
- Definition Classes
- JsonStreamParse → JsonParse
-
def
parsingM(implicit F: Applicative[Parse]): ~>[[β$1$]ParseOps[[I](Vector[PPath]) ⇒ (Source[Char]) ⇒ Source[(I, Source[Char])], β$1$], Parse]
- Definition Classes
- JsonParse
-
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( ... )