Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Below is the output of the updated tut/Examples.md output (check the second part!):
Examples
Intro
There might be multiple implementations of
ParseCaseClass
, currently onlyRegexParseCaseClass
andFastParseParseCaseClass
are supported, but only one should be used in a scope (in this caseRegexParseCaseClass
):It is possible to parse simple values, like
Boolean
,Byte
,Short
,Int
,Long
,Float
,Double
,LocalTime
,LocalDate
andString
s without comma (,
) or closing parenthesis ()
), but this library was designed to parse toString of algebraic data types (products -case classes, tuples- and coproducts) of them. Also someSeq
s (List
,Vector
,WrappedArray
(for varargs)) are supported.Simple primitives
LocalDate
:or it is also possible to create a parser and reuse it:
Tuple2 of
String
andInt
:Or in the other order:
The error messages are not very good:
Algebraic data types
With help of shapeless the following constructs are supported:
Seq
typesCase classes
Sealed hierarchies
Either
Option
Limitations
String
handling is not ideal:Please note that the
String
part contains only till the first,
(List(false
) within and no error is reported currently.Same content with FastParse (
FastParseParseCaseClass
)Intro
There might be multiple implementations of
ParseCaseClass
, currently onlyRegexParseCaseClass
andFastParseParseCaseClass
are supported, but only one should be used in a scope (in this caseFastParseParseCaseClass
):It is possible to parse simple values, like
Boolean
,Byte
,Short
,Int
,Long
,Float
,Double
,LocalTime
,LocalDate
andString
s without comma (,
) or closing parenthesis ()
), but this library was designed to parse toString of algebraic data types (products -case classes, tuples- and coproducts) of them. Also someSeq
s (List
,Vector
,WrappedArray
(for varargs)) are supported.Simple primitives
LocalDate
:or it is also possible to create a parser and reuse it:
Tuple2 of
String
andInt
:Or in the other order:
The error messages are not very good:
Algebraic data types
With help of shapeless the following constructs are supported:
Seq
typesCase classes
Sealed hierarchies
Either
Option