stil4m/elm-syntax/7.1.0

NOTE: the latest version is 7.3.9

Elm.Syntax.Module

Module Syntax

This syntax represents module definitions in Elm. For example:

module Html.Attributes (style)

Module

type Module
= NormalModule DefaultModuleData
| PortModule DefaultModuleData
| EffectModule EffectModuleData

Union type for different kind of modules

type alias DefaultModuleData =
{ moduleName : Node ModuleName
, exposingList : Node Exposing
}

Data for a default default

type alias EffectModuleData =
{ moduleName : Node ModuleName
, exposingList : Node Exposing
, command : Maybe (Node String)
, subscription : Maybe (Node String)
}

Data for an effect module

Get the exposing list for a module.

moduleName : Module -> ModuleName

Get the name for a module. For older modules this may not be present.

Check whether a module is defined as a port-module

Check whether a module is defined as an effect-module

Serialization

encode : Module -> Value

Encode a Module syntax element to JSON.

decoder : Decoder Module

JSON decoder for a Module syntax element.