{"action":"opened","number":1883,"pull_request":{"url":"https://api.github.com/repos/ramda/ramda/pulls/1883","id":82823821,"html_url":"https://github.com/ramda/ramda/pull/1883","diff_url":"https://github.com/ramda/ramda/pull/1883.diff","patch_url":"https://github.com/ramda/ramda/pull/1883.patch","issue_url":"https://api.github.com/repos/ramda/ramda/issues/1883","number":1883,"state":"open","locked":false,"title":"Allow dissoc to remove non-string keys","user":{"login":"ChrisPenner","id":6439644,"avatar_url":"https://avatars.githubusercontent.com/u/6439644?v=3","gravatar_id":"","url":"https://api.github.com/users/ChrisPenner","html_url":"https://github.com/ChrisPenner","followers_url":"https://api.github.com/users/ChrisPenner/followers","following_url":"https://api.github.com/users/ChrisPenner/following{/other_user}","gists_url":"https://api.github.com/users/ChrisPenner/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisPenner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisPenner/subscriptions","organizations_url":"https://api.github.com/users/ChrisPenner/orgs","repos_url":"https://api.github.com/users/ChrisPenner/repos","events_url":"https://api.github.com/users/ChrisPenner/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisPenner/received_events","type":"User","site_admin":false},"body":"e.g. numbers, null, undefined, NaN, etc.\r\n\r\nCurrently ramda behaves like this:\r\n```javascript\r\nconst a = {}\r\nconst b = R.assoc(42, 'value', a)  // {\"42\": \"value\"}\r\nconst c = R.dissoc(42, b)  // {\"42\": \"value\"}\r\nR.equals(a, c) // false\r\n```\r\n\r\nThe reason is that values passed to assoc are coerced into string keys (as per the javascript spec),\r\nbut dissoc doesn't do a similar conversion.\r\n\r\nBy principle of least astonishment I'd expect assoc and dissoc to reverse the other's actions 😁\r\n\r\nI mostly care about numbers being coerced, but I can see a use-case for undefined or null as well.\r\n\r\nI also came across this PR which was merged to solve a very similar problem: https://github.com/ramda/ramda/pull/1122/files\r\n\r\nI ran into this exact situation on a side project of mine and it took a while to track down.\r\n\r\nLet me know if there's anything else that needs doing, cheers!\r\n","created_at":"2016-08-26T02:37:26Z","updated_at":"2016-08-26T02:37:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/ramda/ramda/pulls/1883/commits","review_comments_url":"https://api.github.com/repos/ramda/ramda/pulls/1883/comments","review_comment_url":"https://api.github.com/repos/ramda/ramda/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ramda/ramda/issues/1883/comments","statuses_url":"https://api.github.com/repos/ramda/ramda/statuses/8df56a299c8b5050a919a31021f905ae47b55709","head":{"label":"ChrisPenner:dissoc-support-prop-types","ref":"dissoc-support-prop-types","sha":"8df56a299c8b5050a919a31021f905ae47b55709","user":{"login":"ChrisPenner","id":6439644,"avatar_url":"https://avatars.githubusercontent.com/u/6439644?v=3","gravatar_id":"","url":"https://api.github.com/users/ChrisPenner","html_url":"https://github.com/ChrisPenner","followers_url":"https://api.github.com/users/ChrisPenner/followers","following_url":"https://api.github.com/users/ChrisPenner/following{/other_user}","gists_url":"https://api.github.com/users/ChrisPenner/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisPenner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisPenner/subscriptions","organizations_url":"https://api.github.com/users/ChrisPenner/orgs","repos_url":"https://api.github.com/users/ChrisPenner/repos","events_url":"https://api.github.com/users/ChrisPenner/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisPenner/received_events","type":"User","site_admin":false},"repo":{"id":66608620,"name":"ramda","full_name":"ChrisPenner/ramda","owner":{"login":"ChrisPenner","id":6439644,"avatar_url":"https://avatars.githubusercontent.com/u/6439644?v=3","gravatar_id":"","url":"https://api.github.com/users/ChrisPenner","html_url":"https://github.com/ChrisPenner","followers_url":"https://api.github.com/users/ChrisPenner/followers","following_url":"https://api.github.com/users/ChrisPenner/following{/other_user}","gists_url":"https://api.github.com/users/ChrisPenner/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisPenner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisPenner/subscriptions","organizations_url":"https://api.github.com/users/ChrisPenner/orgs","repos_url":"https://api.github.com/users/ChrisPenner/repos","events_url":"https://api.github.com/users/ChrisPenner/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisPenner/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ChrisPenner/ramda","description":":ram: Practical functional Javascript","fork":true,"url":"https://api.github.com/repos/ChrisPenner/ramda","forks_url":"https://api.github.com/repos/ChrisPenner/ramda/forks","keys_url":"https://api.github.com/repos/ChrisPenner/ramda/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ChrisPenner/ramda/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ChrisPenner/ramda/teams","hooks_url":"https://api.github.com/repos/ChrisPenner/ramda/hooks","issue_events_url":"https://api.github.com/repos/ChrisPenner/ramda/issues/events{/number}","events_url":"https://api.github.com/repos/ChrisPenner/ramda/events","assignees_url":"https://api.github.com/repos/ChrisPenner/ramda/assignees{/user}","branches_url":"https://api.github.com/repos/ChrisPenner/ramda/branches{/branch}","tags_url":"https://api.github.com/repos/ChrisPenner/ramda/tags","blobs_url":"https://api.github.com/repos/ChrisPenner/ramda/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ChrisPenner/ramda/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ChrisPenner/ramda/git/refs{/sha}","trees_url":"https://api.github.com/repos/ChrisPenner/ramda/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ChrisPenner/ramda/statuses/{sha}","languages_url":"https://api.github.com/repos/ChrisPenner/ramda/languages","stargazers_url":"https://api.github.com/repos/ChrisPenner/ramda/stargazers","contributors_url":"https://api.github.com/repos/ChrisPenner/ramda/contributors","subscribers_url":"https://api.github.com/repos/ChrisPenner/ramda/subscribers","subscription_url":"https://api.github.com/repos/ChrisPenner/ramda/subscription","commits_url":"https://api.github.com/repos/ChrisPenner/ramda/commits{/sha}","git_commits_url":"https://api.github.com/repos/ChrisPenner/ramda/git/commits{/sha}","comments_url":"https://api.github.com/repos/ChrisPenner/ramda/comments{/number}","issue_comment_url":"https://api.github.com/repos/ChrisPenner/ramda/issues/comments{/number}","contents_url":"https://api.github.com/repos/ChrisPenner/ramda/contents/{+path}","compare_url":"https://api.github.com/repos/ChrisPenner/ramda/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ChrisPenner/ramda/merges","archive_url":"https://api.github.com/repos/ChrisPenner/ramda/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ChrisPenner/ramda/downloads","issues_url":"https://api.github.com/repos/ChrisPenner/ramda/issues{/number}","pulls_url":"https://api.github.com/repos/ChrisPenner/ramda/pulls{/number}","milestones_url":"https://api.github.com/repos/ChrisPenner/ramda/milestones{/number}","notifications_url":"https://api.github.com/repos/ChrisPenner/ramda/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ChrisPenner/ramda/labels{/name}","releases_url":"https://api.github.com/repos/ChrisPenner/ramda/releases{/id}","deployments_url":"https://api.github.com/repos/ChrisPenner/ramda/deployments","created_at":"2016-08-26T02:09:45Z","updated_at":"2016-08-26T02:09:47Z","pushed_at":"2016-08-26T02:35:26Z","git_url":"git://github.com/ChrisPenner/ramda.git","ssh_url":"git@github.com:ChrisPenner/ramda.git","clone_url":"https://github.com/ChrisPenner/ramda.git","svn_url":"https://github.com/ChrisPenner/ramda","homepage":"http://ramdajs.com","size":7584,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ramda:master","ref":"master","sha":"37f5730fffd45fe25d73937eb719dbde0d5c5c69","user":{"login":"ramda","id":5298359,"avatar_url":"https://avatars.githubusercontent.com/u/5298359?v=3","gravatar_id":"","url":"https://api.github.com/users/ramda","html_url":"https://github.com/ramda","followers_url":"https://api.github.com/users/ramda/followers","following_url":"https://api.github.com/users/ramda/following{/other_user}","gists_url":"https://api.github.com/users/ramda/gists{/gist_id}","starred_url":"https://api.github.com/users/ramda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ramda/subscriptions","organizations_url":"https://api.github.com/users/ramda/orgs","repos_url":"https://api.github.com/users/ramda/repos","events_url":"https://api.github.com/users/ramda/events{/privacy}","received_events_url":"https://api.github.com/users/ramda/received_events","type":"Organization","site_admin":false},"repo":{"id":10851820,"name":"ramda","full_name":"ramda/ramda","owner":{"login":"ramda","id":5298359,"avatar_url":"https://avatars.githubusercontent.com/u/5298359?v=3","gravatar_id":"","url":"https://api.github.com/users/ramda","html_url":"https://github.com/ramda","followers_url":"https://api.github.com/users/ramda/followers","following_url":"https://api.github.com/users/ramda/following{/other_user}","gists_url":"https://api.github.com/users/ramda/gists{/gist_id}","starred_url":"https://api.github.com/users/ramda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ramda/subscriptions","organizations_url":"https://api.github.com/users/ramda/orgs","repos_url":"https://api.github.com/users/ramda/repos","events_url":"https://api.github.com/users/ramda/events{/privacy}","received_events_url":"https://api.github.com/users/ramda/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ramda/ramda","description":":ram: Practical functional Javascript","fork":false,"url":"https://api.github.com/repos/ramda/ramda","forks_url":"https://api.github.com/repos/ramda/ramda/forks","keys_url":"https://api.github.com/repos/ramda/ramda/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ramda/ramda/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ramda/ramda/teams","hooks_url":"https://api.github.com/repos/ramda/ramda/hooks","issue_events_url":"https://api.github.com/repos/ramda/ramda/issues/events{/number}","events_url":"https://api.github.com/repos/ramda/ramda/events","assignees_url":"https://api.github.com/repos/ramda/ramda/assignees{/user}","branches_url":"https://api.github.com/repos/ramda/ramda/branches{/branch}","tags_url":"https://api.github.com/repos/ramda/ramda/tags","blobs_url":"https://api.github.com/repos/ramda/ramda/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ramda/ramda/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ramda/ramda/git/refs{/sha}","trees_url":"https://api.github.com/repos/ramda/ramda/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ramda/ramda/statuses/{sha}","languages_url":"https://api.github.com/repos/ramda/ramda/languages","stargazers_url":"https://api.github.com/repos/ramda/ramda/stargazers","contributors_url":"https://api.github.com/repos/ramda/ramda/contributors","subscribers_url":"https://api.github.com/repos/ramda/ramda/subscribers","subscription_url":"https://api.github.com/repos/ramda/ramda/subscription","commits_url":"https://api.github.com/repos/ramda/ramda/commits{/sha}","git_commits_url":"https://api.github.com/repos/ramda/ramda/git/commits{/sha}","comments_url":"https://api.github.com/repos/ramda/ramda/comments{/number}","issue_comment_url":"https://api.github.com/repos/ramda/ramda/issues/comments{/number}","contents_url":"https://api.github.com/repos/ramda/ramda/contents/{+path}","compare_url":"https://api.github.com/repos/ramda/ramda/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ramda/ramda/merges","archive_url":"https://api.github.com/repos/ramda/ramda/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ramda/ramda/downloads","issues_url":"https://api.github.com/repos/ramda/ramda/issues{/number}","pulls_url":"https://api.github.com/repos/ramda/ramda/pulls{/number}","milestones_url":"https://api.github.com/repos/ramda/ramda/milestones{/number}","notifications_url":"https://api.github.com/repos/ramda/ramda/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ramda/ramda/labels{/name}","releases_url":"https://api.github.com/repos/ramda/ramda/releases{/id}","deployments_url":"https://api.github.com/repos/ramda/ramda/deployments","created_at":"2013-06-21T20:32:35Z","updated_at":"2016-08-25T19:59:26Z","pushed_at":"2016-08-26T02:37:26Z","git_url":"git://github.com/ramda/ramda.git","ssh_url":"git@github.com:ramda/ramda.git","clone_url":"https://github.com/ramda/ramda.git","svn_url":"https://github.com/ramda/ramda","homepage":"http://ramdajs.com","size":7584,"stargazers_count":5293,"watchers_count":5293,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":362,"mirror_url":null,"open_issues_count":159,"forks":362,"open_issues":159,"watchers":5293,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ramda/ramda/pulls/1883"},"html":{"href":"https://github.com/ramda/ramda/pull/1883"},"issue":{"href":"https://api.github.com/repos/ramda/ramda/issues/1883"},"comments":{"href":"https://api.github.com/repos/ramda/ramda/issues/1883/comments"},"review_comments":{"href":"https://api.github.com/repos/ramda/ramda/pulls/1883/comments"},"review_comment":{"href":"https://api.github.com/repos/ramda/ramda/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ramda/ramda/pulls/1883/commits"},"statuses":{"href":"https://api.github.com/repos/ramda/ramda/statuses/8df56a299c8b5050a919a31021f905ae47b55709"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":9,"deletions":4,"changed_files":3}}
{"actor":{"display_login":"ChrisPenner"}}