Here is a somewhat painful record update:
setImage : String -> String -> Image -> Model -> Model
setImage tool url image model =
let
mapping =
case tool of
"rectangle" ->
.rectangle model.resourcesMapping
"outline" ->
.outline model.resourcesMapping
"scribbles" ->
.scribbles model.resourcesMapping
_ ->
Dict.empty
id =
Dict.get url mapping
|> Maybe.withDefault -1
config =
model.config
newConfig =
case tool of
"rectangle" ->
{ config | rectangle = Dict.insert id (NoGT url image)
config.rectangle }
"outline" ->
{ config | outline = Dict.insert id (NoGT url image)
config.outline }
"scribbles" ->
{ config | scribbles = Dict.insert id (NoGT url image)
config.scribbles }
_ ->
config
in
{ model | config = newConfig }
On Friday, March 3, 2017 at 2:12:39 PM UTC+8, Richard Feldman wrote:
>
> There have been various discussions of potential ways to improve Elm's
> record update syntax. Evan commented that "(examples > design work) at this
> point" - any potential designs for syntax improvements would need to be run
> through a gauntlet of examples to see how well they'd work, so the first
> step in the process is to gather those examples.
>
> So let's collect a ton of different real-world examples! That will help
> guide the design process.
>
> If you've run into a record update that you felt was painful and could be
> improved in some way, please post it here! (Also, *please keep this
> thread for posting of examples* *only* - it'll be easier to link back
> here during design discussions if we can reference a clean thread of
> examples, as opposed to a mismash of examples interleaved with suggestions.)
>
--
You received this message because you are subscribed to the Google Groups "Elm
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.