A streaming parser for Bson values
A streaming parser for Bson values
This supports types 1 (Float), 2 (String), 3 (Document), 4 (Array), 8 (Boolean), 10 (Null), 16 (Int32) and 18 (Int64). Other types are unsupported.
3.0
A parser that will decode cbor data.
A parser that will decode cbor data.
This does not support
3.0
A streaming decoder for csv data.
A streaming decoder for csv data.
This parser is lenient, in that it ignores trailing delimiters
A CSV file is always two levels deep - a two dimensional array.
3.0
A streaming decoder for csv data, where the first line of the csv data is a header row.
A streaming decoder for csv data, where the first line of the csv data is a header row.
This parser is lenient, in that it ignores trailing delimiters
A CSV file is always two levels deep, an array of key-value mappings.
3.0
A 'parser' that echos the value provided in its parse method
A 'parser' that echos the value provided in its parse method
3.0
A streaming decoder for json data.
A streaming decoder for json data. This parser is intended to be relatively strict.
3.0
A parser that reads each key-value pair from a Map
A parser that reads each key-value pair from a Map
the type of keys contained in the Map
the type of values contained in the Map
3.0
An object that parses an input into a sequence of key-value pairs for the purpose of inserting those key-value pairs into a Builder
An object that parses an input into a sequence of key-value pairs for the purpose of inserting those key-value pairs into a Builder
the key types
the primitive value types
the input to the parser
3.0
A parser which can be built piecewise
A parser which can be built piecewise
the key types
the primitive value types
the input to the parser
case class Foo(a:String, b:Seq[String], c:String) val fooParser = new PiecewiseParser[StringOrInt, String, Foo]( PiecewiseParser.primitiveKeyDef("a", {x => x.a}), PiecewiseParser.complexKeyDef("b", {x => x.b}, new PrimitiveSeqParser[String].mapKey[StringOrInt]), PiecewiseParser.optionalKeyDef(PiecewiseParser.primitiveKeyDef("c", {x => x.c}), {x => x.c != ""}) ) val jsonBuilder = new PrettyJsonBuilder(PrettyJsonBuilder.MinifiedPrettyParams).mapValue[String] fooParser.parse(jsonbuilder, Foo("", Seq.empty, "")) // results in `{"a":"","b":[]}` fooParser.parse(jsonbuilder, Foo("qwer", Seq("z","x","c"), "asdf")) // results in `{"a":"qwer","b":["z","x","c"],"c":"asdf"}`
3.0
A parser that reads each Value and its index from a Seq
A parser that reads each Value and its index from a Seq
the type of values contained in the Seq
3.0
A parser that reads and parses each Value and its index from a Seq
A parser that reads and parses each Value and its index from a Seq
the type of key used by recurse
the type of primitiveValue used by recurse
the type of values contained in the Seq
3.0
A parser that reports the name and value of each member of a case class
A parser that reports the name and value of each member of a case class
the type of object to be parsed
(Since version 3.0) Terribly un type-safe. Either use a new Parser subclass or an instance of PiecewiseParser instead
3.0
Objects related to Cbor's data model
Objects related to Cbor's data model
3.0
Contains classes used to customize the CsvParser's behavior, as well as a few common instances of those classes.
Contains classes used to customize the CsvParser's behavior, as well as a few common instances of those classes.
2.0
2.0
KeyDef and implementations
KeyDef and implementations
3.0
Contains the various built-in parsers
Most built-in parsers either parse a serialized form (json, cbor, csv), parse from a generic collection class (seq, map) or parse a class that conforms to a stereotype (case class)