Elm CodeGen is an Elm package and CLI tool for generating Elm code.
The goal is to be easier to write and more maintainable than that string template you have lying around. 😏
Here's what this tool does for you in order to make generating code simpler.
- Automatic imports — Import declarations are calculated.
- Built in type inference — The types for your generated code are inferred, which means generated things can figure out their own type signatures.
- Use existing packages easily — For generating code that uses a specific library such as
elm-ui
, theelm-codegen
CLI can create some Elm code to help you out. Check out the Using packages guide to get a better idea of what this looks like!
To get started, here's a small example to give you an idea of what the code looks like!
Elm.declaration "anExample"
(Elm.record
[ ("name", Elm.string "a fancy string!")
, ("fancy", Elm.bool True)
]
)
|> Elm.ToString.declaration
The above will generate the following string:
anExample : { name : String, fancy : Bool }
anExample =
{ name = "a fancy string!"
, fancy = True
}
And finally, the elm-codegen package documentation.
npm install -g elm-codegen
Then you can start a codegen project using:
elm-codegen init