[{"name":"ApiRoute","comment":" ApiRoute's are defined in `src/Api.elm` and are a way to generate files, like RSS feeds, sitemaps, or any text-based file that you output with an Elm function! You get access\nto a DataSource so you can pull in HTTP data, etc. Because ApiRoutes don't hydrate into Elm apps (like pages in elm-pages do), you can pull in as much data as you want in\nthe DataSource for your ApiRoutes, and it won't effect the payload size. Instead, the size of an ApiRoute is just the content you output for that route.\n\nIn a future release, ApiRoutes may be able to run at request-time in a serverless function, allowing you to use pure Elm code to create dynamic APIs, and even pulling in data from\nDataSources dynamically.\n\n@docs ApiRoute, ApiRouteBuilder, Response\n\n@docs capture, int, literal, slash, succeed\n\n\n## Pre-Rendering\n\n@docs single, preRender\n\n\n## Server Rendering\n\n@docs preRenderWithFallback, serverRender\n\n\n## Internals\n\n@docs toJson, getBuildTimeRoutes\n\n","unions":[],"aliases":[{"name":"ApiRoute","comment":" ","args":["response"],"type":"Internal.ApiRoute.ApiRoute response"},{"name":"ApiRouteBuilder","comment":" ","args":["a","constructor"],"type":"Internal.ApiRoute.ApiRouteBuilder a constructor"},{"name":"Response","comment":" ","args":[],"type":"Json.Encode.Value"}],"values":[{"name":"capture","comment":" ","type":"ApiRoute.ApiRouteBuilder (String.String -> a) constructor -> ApiRoute.ApiRouteBuilder a (String.String -> constructor)"},{"name":"getBuildTimeRoutes","comment":" For internal use by generated code. Not so useful in user-land.\n","type":"ApiRoute.ApiRoute response -> DataSource.DataSource (List.List String.String)"},{"name":"int","comment":" ","type":"ApiRoute.ApiRouteBuilder (Basics.Int -> a) constructor -> ApiRoute.ApiRouteBuilder a (Basics.Int -> constructor)"},{"name":"literal","comment":" ","type":"String.String -> ApiRoute.ApiRouteBuilder a constructor -> ApiRoute.ApiRouteBuilder a constructor"},{"name":"preRender","comment":" ","type":"(constructor -> DataSource.DataSource (List.List (List.List String.String))) -> ApiRoute.ApiRouteBuilder (DataSource.DataSource String.String) constructor -> ApiRoute.ApiRoute ApiRoute.Response"},{"name":"preRenderWithFallback","comment":" ","type":"(constructor -> DataSource.DataSource (List.List (List.List String.String))) -> ApiRoute.ApiRouteBuilder (DataSource.DataSource ServerResponse.ServerResponse) constructor -> ApiRoute.ApiRoute ApiRoute.Response"},{"name":"serverRender","comment":" ","type":"ApiRoute.ApiRouteBuilder (DataSource.ServerRequest.IsAvailable -> DataSource.DataSource ServerResponse.ServerResponse) constructor -> ApiRoute.ApiRoute ApiRoute.Response"},{"name":"single","comment":" ","type":"ApiRoute.ApiRouteBuilder (DataSource.DataSource String.String) (List.List String.String) -> ApiRoute.ApiRoute ApiRoute.Response"},{"name":"slash","comment":" ","type":"ApiRoute.ApiRouteBuilder a constructor -> ApiRoute.ApiRouteBuilder a constructor"},{"name":"succeed","comment":" ","type":"a -> ApiRoute.ApiRouteBuilder a (List.List String.String)"},{"name":"toJson","comment":" Turn the route into a pattern in JSON format. For internal uses.\n","type":"ApiRoute.ApiRoute response -> Json.Encode.Value"}],"binops":[]},{"name":"DataSource","comment":"Inan`elm-pages`app,eachpagecandefineavalue`data`whichisa`DataSource`thatwillberesolved**before**`init`iscalled.Thatmeansitisalsoavailable\nwhenthepage'sHTMLispre-renderedduringthebuildstep.Youcanalsoaccesstheresolveddatain`head`touseitforthepage'sSEOmetatags.\n\nA`DataSource`letsyoupullindatafrom:\n\n-Localfiles([`DataSource.File`](DataSource-File))\n-HTTPrequests([`DataSource.Http`](DataSource-Http))\n-Globs,i.e.listingoutlocalfilesbasedonapatternlike`content/*.txt`([`DataSource.Glob`](DataSource-Glob))\n-Ports,i.e.gettingJSONdatafromrunningcustomNodeJS,similartoaportinavanillaElmappexceptrunatbuild-timeinNodeJS,ratherthanatrun-timeinthebrowser([`DataSource.Port`