[{"name":"Typed","comment":"\n\n\n# Types\n\n@docs Typed\n\n\n# Permissions\n\n@docs ReadOnly, ReadWrite\n\n\n# Constructor\n\n@docs new\n\n\n# Manipulation\n\n@docs value, map, andThen\n\n\n# Serialization\n\n@docs encode, decode\n\n","unions":[{"name":"ReadOnly","comment":" ReadOnly permission prohibits users to call all functions that do constructing and updating such as `new`, `map` and `andThen`.\n","args":[],"cases":[]},{"name":"ReadWrite","comment":" ReadWrite permission allows users to call all functions.\n","args":[],"cases":[]},{"name":"Typed","comment":" A definition of `Typed` data.\n\nUsers can control data modifiability by giving permission to the type variable `p`.\n\n","args":["tag","a","p"],"cases":[]}],"aliases":[],"values":[{"name":"andThen","comment":" ","type":"(a -> Typed.Typed tag b Typed.ReadWrite) -> Typed.Typed tag a Typed.ReadWrite -> Typed.Typed tag b Typed.ReadWrite"},{"name":"decode","comment":" ","type":"Json.Decode.Decoder a -> Json.Decode.Decoder (Typed.Typed tag a p)"},{"name":"encode","comment":" ","type":"(a -> Json.Encode.Value) -> Typed.Typed tag a p -> Json.Encode.Value"},{"name":"map","comment":" ","type":"(a -> a) -> Typed.Typed tag a Typed.ReadWrite -> Typed.Typed tag a Typed.ReadWrite"},{"name":"new","comment":" ","type":"a -> Typed.Typed tag a Typed.ReadWrite"},{"name":"value","comment":" ","type":"Typed.Typed tag a p -> a"}],"binops":[]}]