úÎU©RT2      !"#$%&'()*+,-./01 Safe-Inferred234567234567NoneLMain type for routes in the API. Used to represent the URL minus the actual T endpoint URL as well as the query string and the HTTP method used to communicate  with the server.  Alias to (Text, Maybe Text)$ used to store each query that gets  tacked onto the request.  Alias for Text% to store the URL fragments for each Route. "Convenience function for building URLParams. Right-hand argument must  have a ToQuery4 instance so it can be converted to the appropriate D representation in a query string. Query values do not need to be  escaped. "api_type" =. ("json" :: Text)("api_type", Just "json") %Converts a Route to a URL. Drops any Nothing& values from the query, separates the  fragments with /. and tacks them onto the end of the base URL.  base URL for the Route$ (you can usually get this from the Builder) the Route to process the finalized URL as a Text 89:    89:None Error type for the API, where a* is the type that should be returned when B something goes wrong on the other end - i.e. any error that isn't directly related  to this library. -Failed when parsing the response, and it wasn't an error on their end. You':re trying to create an invalid URL somewhere - check your  Builder's base URL and your Routes. ;Something went wrong when we tried to do a HTTP operation. >A type that represents any error that happens on the API end. & Define your own custom type with a FromJSON instance if you ' want to handle them, or you can use () if you just want to  ignore them all.  ;     ;None!Try to parse a value from a JSON  ByteString, and if not, try to 0 parse a useful error from the JSON. If we can't do that, complain about  a  ParseError. < Data.Aeson's decode' function will only parse a value if it's O an array or an object, in accordance with some RFC somewhere. Unfortunately R not all JSON APIs respect this, so we have to mess with parsers and values and  whatnot. <<None0Builder type for the API. Keeps track of the API's name and base URL, and how , to modify Routes and Requests before they're run. DMakes a basic builder, i.e. one that simply has a name and base URL  and doesn't fiddle with Routes / Requests. name  base url  a simple Builder ==NoneMain API transformer type. s is the API's internal state, e is the API's custom error type,  and a" is the result when the API runs. Main API type. s is the API's internal state, e is the API's custom error type,  and a/ is the result when the API runs. Based on the APIT transformer. !Lifts an action that works on an API to an action that works on an API. [ This function is provided solely for future-proofing in the case that more transformers ! need to be stacked on top - it's implemented simply as id for the moment.  Lifts an action that works on a Manager to one that works on an API. #Lifts an action that operates on a Builder to one that works on an API . Useful " mainly for gaining access to a Builder from inside an API. Lifts an action on an API' s state type s to one that works on the API. Good . for messing with the state from inside the API. Runs an API< by executing its transformer stack and dumping it all into IO". Only returns the actual result. Runs an API< by executing its transformer stack and dumping it all into IO?. Returns the actual result as well as the final states of the Builder and custom state s. Runs a Route7. Infers the type to convert to from the JSON with the a in API, " and infers the error type from e. !Runs a Route9, but only returns the response and does nothing towards  decoding the response. "Try to construct a Request from a Route (with the help of the Builder ). Returns Nothing if 9 the URL is invalid or there is another error with the Route. # Modify the name of the Builder? from inside an API. Using this is probably not the best idea,  it's nice if the Builder's name is stable at least. $ Modify the baseURL of the Builder from inside an API. % Can be useful for changing the API'"s endpoints for certain requests. % Modify every Route@ before it runs. Useful for adding extra params to every query,  for example. & Modify every RequestH before the API fetches it. Useful for adding headers to every request,  for example. initial Builder for the API initial state s for the API  the actual API to run 5IO action that returns either an error or the result initial Builder for the API +manager for working with conduit functions initial state s for the API  the actual API to run RIO action that returns either an error or the result, as well as the final states !>"#$%& !"#$%& !"#$%& !>"#$%&None'  !"#$%&None '()*+,-./01?@ '()*+,-./01 )*+,-.'(/01'()*+,-./01?@A       !"#$%&'()*+,--../0123456789:;<=>?@ABCDEapi-builder-0.2.0.1Network.API.Builder.QueryNetwork.API.Builder.RoutesNetwork.API.Builder.ErrorNetwork.API.Builder.DecodingNetwork.API.Builder.BuilderNetwork.API.Builder.API*Network.API.Builder.Examples.StackOverflowNetwork.API.BuilderToQuerytoQueryRoute fragments urlParams httpMethodURLParam URLFragment=.routeURLAPIError ParseErrorInvalidURLError HTTPErrordecodeBuilder_name_baseURL_customizeRoute_customizeRequest basicBuilderAPITAPI liftEither liftManager liftBuilder liftStateexecAPIrunAPIrunRoute routeResponse routeRequestnamebaseURLcustomizeRoutecustomizeRequest QuestionsQuestiontitle isAnsweredscoretags stackOverflow answersRoute getAnswers $fToQuery[]$fToQueryMaybe $fToQueryText $fToQueryInt $fToQueryBool$fToQueryInteger pathParamsSep buildParams collectParams $fEqAPIError eitherDecode $fShowBuildereitherOr$fFromJSONQuestions$fFromJSONQuestion