stil4m / elm-syntax / Elm.Syntax.Pattern

This syntax represents the patterns. For example:

Just x as someMaybe
{name, age}

Types


type Pattern
    = AllPattern
    | UnitPattern
    | CharPattern Char
    | StringPattern String
    | IntPattern Basics.Int
    | HexPattern Basics.Int
    | FloatPattern Basics.Float
    | TuplePattern (List (Elm.Syntax.Node.Node Pattern))
    | RecordPattern (List (Elm.Syntax.Node.Node String))
    | UnConsPattern (Elm.Syntax.Node.Node Pattern) (Elm.Syntax.Node.Node Pattern)
    | ListPattern (List (Elm.Syntax.Node.Node Pattern))
    | VarPattern String
    | NamedPattern QualifiedNameRef (List (Elm.Syntax.Node.Node Pattern))
    | AsPattern (Elm.Syntax.Node.Node Pattern) (Elm.Syntax.Node.Node String)
    | ParenthesizedPattern (Elm.Syntax.Node.Node Pattern)

Custom type for all patterns such as:


type alias QualifiedNameRef =
{ moduleName : List String
, name : String 
}

Qualified name reference such as Maybe.Just.

Functions

moduleNames : Pattern -> List Elm.Syntax.ModuleName.ModuleName

Get all the modules names that are used in the pattern (and its nested patterns). Use this to collect qualified patterns, such as Maybe.Just x.

Serialization

encode : Pattern -> Json.Encode.Value

Encode a Pattern syntax element to JSON.

decoder : Json.Decode.Decoder Pattern

JSON decoder for a Pattern syntax element.