dillonkearns / elm-pages / Pages.Internal.RoutePattern

Exposed for internal use only (used in generated code).


type Ending
    = Optional String
    | RequiredSplat
    | OptionalSplat


type alias RoutePattern =
{ segments : List Segment
, ending : Maybe Ending 
}


type Segment
    = StaticSegment String
    | DynamicSegment String

view : RoutePattern -> Html msg

toVariant : RoutePattern -> Elm.Variant

routeToBranch : RoutePattern -> List ( Elm.CodeGen.Pattern, Elm.CodeGen.Expression )


type Param
    = RequiredParam
    | OptionalParam
    | RequiredSplatParam
    | OptionalSplatParam


type RouteParam
    = StaticParam String
    | DynamicParam String
    | OptionalParam2 String
    | RequiredSplatParam2
    | OptionalSplatParam2

fromModuleName : List String -> Maybe RoutePattern

hasRouteParams : RoutePattern -> Basics.Bool

repeatWithoutOptionalEnding : List RouteParam -> Maybe (List RouteParam)

toModuleName : RoutePattern -> List String

toRouteParamTypes : RoutePattern -> List ( String, Param )

toRouteParamsRecord : RoutePattern -> List ( String, Elm.Annotation.Annotation )

toVariantName : RoutePattern -> { variantName : String, params : List RouteParam }