kraklin/elm-debug-parser/1.0.0

NOTE: the latest version is 2.0.0

DebugParser.ElmValue

= Plain PlainValue
| Expandable Bool ExpandableValue

Elm values that are parsed can be either plain values like Strings and Bools, or they can be expandable values like Records, Dicts etc.

Expandable values has bool as their first parameter, which is used to indicate whether they are expanded or collapsed. This is used in UI to show either the short version of the expandable value or the full, expanded one. It is part of the parsed type because performance of adding it later on large models is really costly. This might change in the upcoming versions of this parser.

= ElmSequence SequenceType (List ElmValue)
| ElmType String (List ElmValue)
| ElmRecord (List ( String, ElmValue ))
| ElmDict (List ( ElmValue, ElmValue ))

Expandable values

= ElmString String
| ElmChar Char
| ElmNumber Float
| ElmBool Bool
| ElmFunction
| ElmInternals
| ElmUnit
| ElmFile String
| ElmBytes Int

Plain values

= SeqSet
| SeqList
| SeqArray
| SeqTuple

Sequence type

All List-like structures are the same, so we parsed them into ElmSequence type. However we would like to keep the information about which type the sequence was.

Toggle isExpanded flag for ExpandableValue

Determines whether value has any nested childrens.