{"action":"created","issue":{"url":"https://api.github.com/repos/ramda/ramda/issues/1998","repository_url":"https://api.github.com/repos/ramda/ramda","labels_url":"https://api.github.com/repos/ramda/ramda/issues/1998/labels{/name}","comments_url":"https://api.github.com/repos/ramda/ramda/issues/1998/comments","events_url":"https://api.github.com/repos/ramda/ramda/issues/1998/events","html_url":"https://github.com/ramda/ramda/issues/1998","id":193905585,"number":1998,"title":"Propose overPath to apply a function to a nested property.","user":{"login":"MrRacoon","id":2682113,"avatar_url":"https://avatars.githubusercontent.com/u/2682113?v=3","gravatar_id":"","url":"https://api.github.com/users/MrRacoon","html_url":"https://github.com/MrRacoon","followers_url":"https://api.github.com/users/MrRacoon/followers","following_url":"https://api.github.com/users/MrRacoon/following{/other_user}","gists_url":"https://api.github.com/users/MrRacoon/gists{/gist_id}","starred_url":"https://api.github.com/users/MrRacoon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MrRacoon/subscriptions","organizations_url":"https://api.github.com/users/MrRacoon/orgs","repos_url":"https://api.github.com/users/MrRacoon/repos","events_url":"https://api.github.com/users/MrRacoon/events{/privacy}","received_events_url":"https://api.github.com/users/MrRacoon/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2016-12-06T22:36:58Z","updated_at":"2016-12-22T19:10:14Z","closed_at":null,"body":"Ramda has both `path` and `assocPath` for using the `[key]` strategy to get/set data respectively.\r\n\r\nCurious if you guys would find `overPath` handy, where the signature could look something like:\r\n\r\n```haskell\r\noverPath :: [String] -> (a -> b) -> {k:v} -> {k:v}\r\n```\r\n\r\nand the implementation would be analogous to:\r\n\r\n```javascript\r\nconst overPath = (pl, fn, obj) => {\r\n    const was = path(pl, obj);\r\n    return assocPath(pl, fn(was), obj);\r\n}\r\n```\r\n\r\nThe motivation being that, where lenses have `view`, `set`, and `over`. Path could be a lighter abstraction with `path`, `assocPath`, and `overPath` respectively.\r\n\r\nIf that sounds like something you guys dig, I wouldn't mind making a PR for it sometime this week."},"comment":{"url":"https://api.github.com/repos/ramda/ramda/issues/comments/268868881","html_url":"https://github.com/ramda/ramda/issues/1998#issuecomment-268868881","issue_url":"https://api.github.com/repos/ramda/ramda/issues/1998","id":268868881,"user":{"login":"MrRacoon","id":2682113,"avatar_url":"https://avatars.githubusercontent.com/u/2682113?v=3","gravatar_id":"","url":"https://api.github.com/users/MrRacoon","html_url":"https://github.com/MrRacoon","followers_url":"https://api.github.com/users/MrRacoon/followers","following_url":"https://api.github.com/users/MrRacoon/following{/other_user}","gists_url":"https://api.github.com/users/MrRacoon/gists{/gist_id}","starred_url":"https://api.github.com/users/MrRacoon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MrRacoon/subscriptions","organizations_url":"https://api.github.com/users/MrRacoon/orgs","repos_url":"https://api.github.com/users/MrRacoon/repos","events_url":"https://api.github.com/users/MrRacoon/events{/privacy}","received_events_url":"https://api.github.com/users/MrRacoon/received_events","type":"User","site_admin":false},"created_at":"2016-12-22T19:10:13Z","updated_at":"2016-12-22T19:10:13Z","body":"PR should be ready to go, I've aligned the functions to the `*With` format"}}
{"actor":{"display_login":"MrRacoon"}}