| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
TOML.Utils.Map
Documentation
Arguments
| :: (Monad m, Ord k) | |
| => (NonEmpty k -> Maybe v -> m (Map k v, Map k v -> v)) | How to get and set the next Map from the possibly missing value. Passes in the path taken so far. |
| -> NonEmpty k | |
| -> Map k v | |
| -> m (Maybe v, v -> Map k v) |
For a non-empty list of keys, iterate through the given Map and return
the possibly missing value at the path and a function to set the value at
the given path and return the modified input Map.
let obj = undefined -- { "a": { "b": { "c": 1 } } }
(mValue, setValue) <- getPathLens doRecurse ["a", "b", "c"] obj
print mValue -- Just 1
print (setValue 2) -- { "a": { "b": { "c": 2 } } }