wandres.dev
The Elm Architecture cheatsheet
⌘ REFERENCIA · 28 elementos

Cheatsheet de The Elm Architecture

Elm y TEA en un sitio: Model, update, view, Cmd y Sub, tipos, decoders y ports.

🔄 La arquitectura 6

Todo el estado de la aplicaciónModel
Los mensajes que pueden ocurrirMsg
Transición puraupdate : Msg -> Model -> Model
Vista puraview : Model -> Html Msg
Efecto descrito como datoCmd Msg
Suscripción a eventos externosSub Msg

🧬 Tipos 6

Alias de recordtype alias Persona = { … }
Custom type (unión)type Estado = Cargando | Listo a
Pattern matching exhaustivocase x of
Just o Nothing (sin null)Maybe a
Ok o Err (sin excepciones)Result e a
Actualización inmutable de record{ modelo | campo = v }

🧮 Funciones 5

Pipe: encadenar de izquierda a derecha|>
Composición de funciones<< y >>
Orden superior sobre listasList.map / filter / foldl
Transformar sin desenvolverMaybe.map / andThen
Valor por defectoMaybe.withDefault v

🚪 Fronteras 5

Decodificar JSONJson.Decode.field "n" string
Combinar decodersJson.Decode.map2 / andThen
Port de salida a JSport enviar : Valor -> Cmd msg
Port de entrada desde JSport recibir : (V -> msg) -> Sub msg
Configuración inicial al arrancarflags

🛠️ App y tooling 6

Los programas de ElmBrowser.sandbox / element / application
De la URL a un tipo RouteUrl.Parser
Navegación programáticaNav.pushUrl
Optimizar el virtual DOMHtml.lazy / Keyed
Build de producciónelm make --optimize
Tests y property-basedelm-test / fuzz