[{"name":"ElmSpa.Beta","comment":" Temporarily here to make the v6 release trigger a major release.\n\nWill be removed when the beta is over.\n\n@docs isBeta\n\n","unions":[],"aliases":[],"values":[{"name":"isBeta","comment":" Returns True until full release (v6.x)\n","type":"Basics.Bool"}],"binops":[]},{"name":"ElmSpa.Page","comment":"\n\n\n# **( These docs are for CLI contributors )**\n\n\n### If you are using **elm-spa**, check out [the official guide](https://v6.elm-spa.dev/guide) instead!\n\n---\n\nEvery page in **elm-spa** ultimately becomes one data type: `Page`\n\nThis makes it easy to wire them up in the generated code, because they\nall have the same type signature.\n\n**Note:** You won't use `ElmSpa.Page` directly, instead you'll be using `Page`,\nwhich removes some of the generic type parameters\n\n    type alias Page model msg =\n        { init : ( model, Cmd msg, List Shared.Msg )\n        , update : msg -> model -> ( model, Cmd msg, List Shared.Msg )\n        , view : model -> View msg\n        , subscriptions : model -> Sub msg\n        }\n\n\n## Pages\n\n@docs Page\n@docs static, sandbox, element, shared\n\n","unions":[],"aliases":[{"name":"Page","comment":" The common `Page` type that each of the functions below creates\n\n    Page.static { ... }    -- Page () Never\n    Page.sandbox { ... }   -- Page Model Msg\n    Page.element { ... }   -- Page Model Msg\n    Page.shared { ... }    -- Page Model Msg\n\n","args":["sharedMsg","view","model","msg"],"type":"{ init : () -> ( model, Platform.Cmd.Cmd msg, List.List sharedMsg ), update : msg -> model -> ( model, Platform.Cmd.Cmd msg, List.List sharedMsg ), view : model -> view, subscriptions : model -> Platform.Sub.Sub msg }"}],"values":[{"name":"element","comment":" A page that can send side-effects and subscribe to events.\n\n    Page.element\n        { init = init\n        , update = update\n        , subscriptions = subscriptions\n        , view = view\n        }\n\n    init : (Model, Cmd Msg)\n    update : Msg -> Model -> (Model, Cmd Msg)\n    view : Model -> View Msg\n    subscriptions : Model -> Sub Msg\n\n","type":"{ init : ( model, Platform.Cmd.Cmd msg ), update : msg -> model -> ( model, Platform.Cmd.Cmd msg ), view : model -> view, subscriptions : model -> Platform.Sub.Sub msg } -> ElmSpa.Page.Page sharedMsg view model msg"},{"name":"sandbox","comment":" A page that can track state, and respond to user input.\n\n    Page.sandbox\n        { init = init\n        , update = update\n        , view = view\n        }\n\n    init : Model\n    update : Msg -> Model -> Model\n    view : Model -> View Msg\n\n","type":"{ init : model, update : msg -> model -> model, view : model -> view } -> ElmSpa.Page.Page sharedMsg view model msg"},{"name":"shared","comment":" A page that allows messages to be sent to the `Shared` module.\n\n    Page.shared\n        { init = init\n        , update = update\n        , subscriptions = subscriptions\n        , view = view\n        }\n\n    init : (Model, Cmd Msg, List Shared.Msg )\n    update : Msg -> Model -> (Model, Cmd Msg, List Shared.Msg )\n    view : Model -> View Msg\n    subscriptions : Model -> Sub Msg\n\n","type":"{ init : ( model, Platform.Cmd.Cmd msg, List.List sharedMsg ), update : msg -> model -> ( model, Platform.Cmd.Cmd msg, List.List sharedMsg ), view : model -> view, subscriptions : model -> Platform.Sub.Sub msg } -> ElmSpa.Page.Page sharedMsg view model msg"},{"name":"static","comment":" A page that can track state, and respond to user input.\n\n    Page.static\n        { view = view\n        }\n\n    view : View Never\n\n","type":"{ view : view } -> ElmSpa.Page.Page sharedMsg view () Basics.Never"}],"binops":[]},{"name":"ElmSpa.Request","comment":"\n\n\n# **( These docs are for CLI contributors )**\n\n\n### If you are using **elm-spa**, check out [the official guide](https://v6.elm-spa.dev/guide) instead!\n\n---\n\nEvery page gets access to a **request**, which has information about the\ncurrent URL, route parameters, query parameters etc.\n\n    page : Shared.Model -> Request Params -> Page Model Msg\n    page _ request =\n        Page.element\n            { init = init\n            , update = update\n            , view = view request\n            }\n\nYou can choose to pass this request into `init`,`update`, or any other function\nthat might need access to URL-related information.\n\n\n# Requests\n\n@docs Request, create\n\n","unions":[],"aliases":[{"name":"Request","comment":" Here is an example request for the route `/people/:name`\n\n    -- /people/ryan\n    req.route == Route.People__Detail_ { name = \"ryan\" }\n\n    req.params == { name = \"ryan\" }\n\n    req.params.name == \"ryan\"\n\n    req.query == Dict.empty\n\nAnd another example with a some query parameters:\n\n    -- /people/scott?allowed=false\n    req.route == Route.People__Detail_ { name = \"scott\" }\n\n    req.params == { name = \"scott\" }\n\n    req.params.name == \"scott\"\n\n    Dict.get \"allowed\" req.query == Just \"false\"\n\n","args":["route","params"],"type":"{ url : Url.Url, key : Browser.Navigation.Key, route : route, params : params, query : Dict.Dict String.String String.String }"}],"values":[{"name":"create","comment":" A convenience function for creating requests, used by elm-spa internally.\n\n    request : Request Route { name : String }\n    request =\n        Request.create (Route.fromUrl url)\n            { name = \"ryan\" }\n            url\n            key\n\n","type":"route -> params -> Url.Url -> Browser.Navigation.Key -> ElmSpa.Request.Request route params"}],"binops":[]}]