[{"name":"ElmData.DAO","comment":"\n    DAOs (Data Access Objects) exist to hold all state relevant to making requests to an API.\n\n    @docs DAO, createDAO, update, DAOEvent, DAOMsg\n","unions":[{"name":"DAOEvent","comment":"\n    a DAO event\n","args":["recordType","msg"],"cases":[["DAORequestSuccess",["ElmData.DAO.DAO recordType msg","ElmData.DAO.DAOMsg recordType msg","msg"]],["DAORequestFailure",["ElmData.DAO.DAO recordType msg","ElmData.Messages.RequestError","msg"]]]},{"name":"DAOMsg","comment":"\n    a DAO message\n","args":["recordType","msg"],"cases":[["RequestResultMsg",["ElmData.Messages.RequestResult recordType","msg"]],["RequestResultsMsg",["ElmData.Messages.RequestResults recordType","msg"]]]}],"aliases":[{"name":"DAO","comment":"\n    the dao\n","args":["recordType","msg"],"type":"{ apiUrl : String.String, authToken : String.String, msgTranslator : ElmData.DAO.DAOMsg recordType msg -> msg, daoEventToMessage : ElmData.DAO.DAOEvent recordType msg -> msg, listDeserialize : Json.Decode.Decoder (List.List recordType), deserialize : Json.Decode.Decoder recordType, serialize : recordType -> Json.Encode.Value }"}],"values":[{"name":"createDAO","comment":"\n    Function used to create a DAO\n","type":"String.String -> String.String -> (ElmData.DAO.DAOMsg recordType msg -> msg) -> (ElmData.DAO.DAOEvent recordType msg -> msg) -> Json.Decode.Decoder (List.List recordType) -> Json.Decode.Decoder recordType -> (recordType -> Json.Encode.Value) -> ElmData.DAO.DAO recordType msg"},{"name":"update","comment":"\n    Function used to update a DAO\n","type":"ElmData.DAO.DAO recordType msg -> ElmData.DAO.DAOMsg recordType msg -> ( ElmData.DAO.DAO recordType msg, msg )"}],"binops":[]},{"name":"ElmData.Messages","comment":"\n    # Use to pass query params to a request made via a Resource or ListResource.\n\n    @docs RequestError, RequestResult, RequestResults, DAORequestResponse, ListDAORequestResponse\n","unions":[{"name":"RequestError","comment":" results from a dao request\n","args":[],"cases":[["UnableToParseResponseBody",["String.String"]],["HttpError",["Http.Error"]]]}],"aliases":[{"name":"DAORequestResponse","comment":" response from a dao request\n","args":["recordType"],"type":"{ body : recordType }"},{"name":"ListDAORequestResponse","comment":" response from a dao request for many records\n","args":["recordType"],"type":"{ body : List.List recordType }"},{"name":"RequestResult","comment":" results from a dao request\n","args":["recordType"],"type":"Result.Result ElmData.Messages.RequestError (ElmData.Messages.DAORequestResponse recordType)"},{"name":"RequestResults","comment":" results from a dao request for multiple records\n","args":["recordType"],"type":"Result.Result ElmData.Messages.RequestError (ElmData.Messages.ListDAORequestResponse recordType)"}],"values":[],"binops":[]},{"name":"ElmData.Resource","comment":"\n    Resource allows you to make requests on behalf of a DAO, without having to think about the state of the DAO\n\n    @docs Resource, ResourceMsg, resource\n","unions":[{"name":"ResourceMsg","comment":" A Resource Message\n","args":["recordType"],"cases":[]}],"aliases":[{"name":"Resource","comment":" A Resource\n","args":["recordType","externalMsg"],"type":"{ create : recordType -> Platform.Cmd.Cmd externalMsg, fetch : String.String -> Platform.Cmd.Cmd externalMsg, update : recordType -> Platform.Cmd.Cmd externalMsg }"}],"values":[{"name":"resource","comment":" Creator for a Resource\n","type":"ElmData.DAO.DAO recordType externalMsg -> (ElmData.Resource.ResourceMsg recordType -> localMsg) -> (localMsg -> externalMsg) -> ElmData.Resource.Resource recordType externalMsg"}],"binops":[]}]