recipe sounds like a good name

This commit is contained in:
Ryan Haskell-Glatz 2019-10-15 22:14:40 -05:00
parent 778881da3a
commit f8afb50fac
7 changed files with 30 additions and 28 deletions

View File

@ -1,6 +1,6 @@
module Application exposing
( Application, create
, Page, Bundle, keep
, Page, Recipe, Bundle, keep
, Static, static
, Sandbox, sandbox
)
@ -9,7 +9,7 @@ module Application exposing
@docs Application, create
@docs Page, Bundle, keep
@docs Page, Recipe, Bundle, keep
@docs Static, static
@ -54,6 +54,10 @@ type alias Page pageModel pageMsg model msg =
Page.Page pageModel pageMsg model msg
type alias Recipe pageModel pageMsg model msg =
Page.Recipe pageModel pageMsg model msg
type alias Bundle msg =
Page.Bundle msg
@ -73,10 +77,6 @@ type alias Sandbox pageModel pageMsg =
static :
Static
->
{ toModel : () -> model
, toMsg : Never -> msg
}
-> Page () Never model msg
static =
Page.static
@ -84,10 +84,6 @@ static =
sandbox :
Sandbox pageModel pageMsg
->
{ toModel : pageModel -> model
, toMsg : pageMsg -> msg
}
-> Page pageModel pageMsg model msg
sandbox =
Page.sandbox

View File

@ -1,12 +1,12 @@
module Internals.Page exposing
( Page, Bundle
( Page, Recipe, Bundle
, Static, static
, Sandbox, sandbox
)
{-|
@docs Page, Bundle
@docs Page, Recipe, Bundle
@docs Static, static
@ -18,9 +18,15 @@ import Html exposing (Html)
type alias Page pageModel pageMsg model msg =
{ toModel : pageModel -> model
, toMsg : pageMsg -> msg
}
-> Recipe pageModel pageMsg model msg
type alias Recipe pageModel pageMsg model msg =
{ init : model
, update : pageMsg -> pageModel -> model
, keep : model -> model
, bundle : pageModel -> Bundle msg
}
@ -41,15 +47,10 @@ type alias Static =
static :
Static
->
{ toModel : () -> model
, toMsg : Never -> msg
}
-> Page () Never model msg
static page { toModel, toMsg } =
{ init = toModel ()
, update = always toModel
, keep = identity
, bundle =
always
{ view = Html.map toMsg page.view
@ -70,15 +71,12 @@ type alias Sandbox pageModel pageMsg =
sandbox :
Sandbox pageModel pageMsg
->
{ toModel : pageModel -> model
, toMsg : pageMsg -> msg
}
-> Page pageModel pageMsg model msg
sandbox page { toModel, toMsg } =
{ init = toModel page.init
, update = \msg model -> page.update msg model |> toModel
, keep = identity
, update =
\msg model ->
page.update msg model |> toModel
, bundle =
\model ->
{ view = page.view model |> Html.map toMsg

View File

@ -41,7 +41,7 @@ type Msg
| NotFoundMsg NotFound.Msg
homepage : Application.Page Homepage.Model Homepage.Msg Model Msg
homepage : Application.Recipe Homepage.Model Homepage.Msg Model Msg
homepage =
Homepage.page
{ toModel = HomepageModel
@ -49,7 +49,7 @@ homepage =
}
counter : Application.Page Counter.Model Counter.Msg Model Msg
counter : Application.Recipe Counter.Model Counter.Msg Model Msg
counter =
Counter.page
{ toModel = CounterModel
@ -57,7 +57,7 @@ counter =
}
notFound : Application.Page NotFound.Model NotFound.Msg Model Msg
notFound : Application.Recipe NotFound.Model NotFound.Msg Model Msg
notFound =
NotFound.page
{ toModel = NotFoundModel

View File

@ -15,6 +15,7 @@ type Msg
| Decrement
page : Application.Page Model Msg model msg
page =
Application.sandbox
{ init = init

View File

@ -1,4 +1,8 @@
module Pages.Homepage exposing (Model, Msg, page)
module Pages.Homepage exposing
( Model
, Msg
, page
)
import Application
import Html exposing (..)
@ -12,6 +16,7 @@ type alias Msg =
Never
page : Application.Page Model Msg model msg
page =
Application.static
{ view = view

View File

@ -12,6 +12,7 @@ type alias Msg =
Never
page : Application.Page Model Msg model msg
page =
Application.static
{ view = view

View File

@ -18,6 +18,7 @@ type Msg
| CatResponded (Result Http.Error String)
page : Application.Page Model Msg model msg
page =
Application.element
{ init = init