Skip to content

Instantly share code, notes, and snippets.

@kodeFant
Last active February 16, 2021 15:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kodeFant/22a6fbb2136d08572230913ba169118d to your computer and use it in GitHub Desktop.
Save kodeFant/22a6fbb2136d08572230913ba169118d to your computer and use it in GitHub Desktop.
block1.elm
type MealPreference = Vegan | Vegetarian | Meat
type CelebrityStatus = NonCelebrity | Celebrity
type alias PassengerInfo = {name: String, passportId: String, extraLuggage: String}
type Passenger
= Economy PassengerInfo
| FirstClass MealPreference PassengerInfo CelebrityStatus
viewPassengerCard : Passenger -> Html msg
viewPassengerCard passenger =
case passenger of
Economy passengerInfo ->
viewEconomyCard passengerInfo
FirstClass Vegan passengerInfo NonCelebrity ->
viewFirstClassCardWithVeganOption passengerInfo
FirstClass Vegetarian passengerInfo NonCelebrity ->
viewFirstClassCardWithVegetarianOption passengerInfo
FirstClass Meat passengerInfo NonCelebrity ->
viewFirstClassCardWithMeatOption passengerInfo
FirstClass mealPreference passengerInfo Celebrity ->
viewCelebrityCardWithSpecialTreatment mealPreference passengerInfo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment