[{"name":"Firestore","comment":" A library to have your app interact with Firestore in Elm\n\n@docs Firestore, init\n\n@docs withCollection, withConfig\n\n\n# CRUDs\n\n@docs create, get, list, patch, delete\n\n\n# Error\n\n@docs Error, FirestoreError\n\n\n# Transaction\n\n@docs Transaction, begin, commit\n\n","unions":[{"name":"Error","comment":" An error type\n\nThis type is available in order to disregard type of errors between protocol related errors as Http\\_ or backend related errors as Response.\n\n","args":[],"cases":[["Http_",["Http.Error"]],["Response",["Firestore.FirestoreError"]]]},{"name":"Firestore","comment":" Data type for Firestore\n","args":[],"cases":[]},{"name":"Transaction","comment":" Data type for Transaction\n","args":[],"cases":[]}],"aliases":[{"name":"FirestoreError","comment":" Data structure for errors from Firestore\n","args":[],"type":"{ code : Basics.Int, message : String.String, status : String.String }"}],"values":[{"name":"begin","comment":" Starts a new transaction.\n","type":"Firestore.Firestore -> Task.Task Firestore.Error Firestore.Transaction"},{"name":"commit","comment":" Commits a transaction, while optionally updating documents.\n","type":"Json.Decode.Value -> Firestore.Firestore -> Task.Task Firestore.Error Firestore.CommitTime"},{"name":"create","comment":" Creates a new document.\n","type":"Firestore.Document.Fields -> Json.Decode.Decoder a -> Firestore.Firestore -> Task.Task Firestore.Error (Firestore.Document.Document a)"},{"name":"delete","comment":" Deletes a document.\n","type":"Firestore.Firestore -> Task.Task Firestore.Error ()"},{"name":"get","comment":" Gets a single document.\n","type":"Json.Decode.Decoder a -> Firestore.Firestore -> Task.Task Firestore.Error (Firestore.Document.Document a)"},{"name":"init","comment":" Builds a new Firestore connection with Config\n","type":"Firestore.Config.Config -> Firestore.Firestore"},{"name":"list","comment":" Lists documents\n","type":"Json.Decode.Decoder a -> Firestore.Firestore -> Task.Task Firestore.Error (List.List (Firestore.Document.Document a))"},{"name":"patch","comment":" Updates or inserts a document.\n","type":"Firestore.Document.Fields -> Json.Decode.Decoder a -> Firestore.Firestore -> Task.Task Firestore.Error (Firestore.Document.Document a)"},{"name":"withCollection","comment":" Drills down document paths with a specific path name.\n\nThis function is aimed to be chanind with pipeline operators in order to build up document path.\n\n    firestore\n        |> Firestore.collection \"users\"\n        |> Firestore.collection \"items\"\n        |> Firestore.collection \"tags\"\n        |> Firestore.get\n        |> Task.attempt GotUserItemTags\n\nOf course, you can make it a single string as well\n\n    firestore\n        |> Firestore.collection \"users/items/tags\"\n        |> Firestore.get\n        |> Task.attempt GotUserItemTags\n\n","type":"String.String -> Firestore.Firestore -> Firestore.Firestore"},{"name":"withConfig","comment":" Updates configuration\n","type":"Firestore.Config.Config -> Firestore.Firestore -> Firestore.Firestore"}],"binops":[]},{"name":"Firestore.Config","comment":" Configuration types for Firestore\n\n@docs Config, new, endpoint, httpHeader\n\n@docs withAuthorization, withDatabase\n\n","unions":[{"name":"Config","comment":" Data type for Firestore configuration\n\nThis type internally has all information which is required to send requests to Firestore through REST API.\n\n","args":[],"cases":[]}],"aliases":[],"values":[{"name":"endpoint","comment":" Builds an endpoint string without path\n","type":"String.String -> Firestore.Config.Config -> String.String"},{"name":"httpHeader","comment":" Extracts authorization with bearer prefix as `Http.Header`.\n","type":"Firestore.Config.Config -> List.List Http.Header"},{"name":"new","comment":" Creates a new Config\n","type":"{ apiKey : String.String, project : String.String } -> Firestore.Config.Config"},{"name":"withAuthorization","comment":" Specifies authorization header.\n","type":"String.String -> Firestore.Config.Config -> Firestore.Config.Config"},{"name":"withDatabase","comment":" Specifies database ID to connect to.\n","type":"String.String -> Firestore.Config.Config -> Firestore.Config.Config"}],"binops":[]},{"name":"Firestore.Types.Bool","comment":" Boolean data type for Firestore\n\n@docs decoder, encoder\n\n","unions":[],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Basics.Bool"},{"name":"encoder","comment":" ","type":"Basics.Bool -> Firestore.Document.Field"}],"binops":[]},{"name":"Firestore.Types.Bytes","comment":" Byte data type for Firestore\n\n@docs decoder, encoder\n\n","unions":[],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder String.String"},{"name":"encoder","comment":" ","type":"String.String -> Firestore.Document.Field"}],"binops":[]},{"name":"Firestore.Types.Geopoint","comment":" Geopoint data type for Firestore\n\n@docs Geopoint, new, decoder, encoder\n\n\n# Extractors\n\n@docs latitude, longitude\n\n","unions":[{"name":"Geopoint","comment":" ","args":[],"cases":[]}],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Firestore.Types.Geopoint.Geopoint"},{"name":"encoder","comment":" ","type":"Firestore.Types.Geopoint.Geopoint -> Firestore.Document.Field"},{"name":"latitude","comment":" ","type":"Firestore.Types.Geopoint.Geopoint -> Basics.Int"},{"name":"longitude","comment":" ","type":"Firestore.Types.Geopoint.Geopoint -> Basics.Int"},{"name":"new","comment":" ","type":"Firestore.Types.Geopoint.Payload -> Firestore.Types.Geopoint.Geopoint"}],"binops":[]},{"name":"Firestore.Types.Int","comment":" Integer data type for Firestore\n\n@docs decoder, encoder\n\n","unions":[],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Basics.Int"},{"name":"encoder","comment":" ","type":"Basics.Int -> Firestore.Document.Field"}],"binops":[]},{"name":"Firestore.Types.List","comment":" List data type for Firestore\n\n@docs decoder, encoder\n\n","unions":[],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder a -> Json.Decode.Decoder (List.List a)"},{"name":"encoder","comment":" ","type":"List.List a -> (a -> Firestore.Document.Field) -> Firestore.Document.Field"}],"binops":[]},{"name":"Firestore.Types.Map","comment":" Map data type for Firestore\n\n@docs decoder, encoder\n\n","unions":[],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder a -> Json.Decode.Decoder (Dict.Dict String.String a)"},{"name":"encoder","comment":" ","type":"Dict.Dict String.String a -> (a -> Firestore.Document.Field) -> Firestore.Document.Field"}],"binops":[]},{"name":"Firestore.Types.Nullable","comment":" Nullable data type for Firestore\n\n@docs decoder, encoder\n\n","unions":[],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder a -> Json.Decode.Decoder (Maybe.Maybe a)"},{"name":"encoder","comment":" ","type":"Maybe.Maybe ( a, a -> Json.Encode.Value ) -> Firestore.Document.Field"}],"binops":[]},{"name":"Firestore.Types.Reference","comment":" Reference data type for Firestore\n\n@docs Reference, new, decoder, encoder\n\n","unions":[{"name":"Reference","comment":" ","args":[],"cases":[]}],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Firestore.Types.Reference.Reference"},{"name":"encoder","comment":" ","type":"Firestore.Types.Reference.Reference -> Firestore.Document.Field"},{"name":"new","comment":" ","type":"String.String -> Firestore.Types.Reference.Reference"}],"binops":[]},{"name":"Firestore.Types.String","comment":" String data type for Firestore\n\n@docs decoder, encoder\n\n","unions":[],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder String.String"},{"name":"encoder","comment":" ","type":"String.String -> Firestore.Document.Field"}],"binops":[]},{"name":"Firestore.Types.Timestamp","comment":" Timestamp data type for Firestore\n\n@docs Timestamp, new, decoder, encoder\n\n\n# Extractors\n\n@docs toPosix\n\n","unions":[{"name":"Timestamp","comment":" ","args":[],"cases":[]}],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Firestore.Types.Timestamp.Timestamp"},{"name":"encoder","comment":" ","type":"Firestore.Types.Timestamp.Timestamp -> Firestore.Document.Field"},{"name":"new","comment":" ","type":"Time.Posix -> Firestore.Types.Timestamp.Timestamp"},{"name":"toPosix","comment":" ","type":"Firestore.Types.Timestamp.Timestamp -> Time.Posix"}],"binops":[]}]