{"action":"created","comment":{"url":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/comments/60854847","id":60854847,"diff_hunk":"@@ -0,0 +1,124 @@\n+(function(global) {\n+\n+\n+\t// Deleted map items mess with iterator pointers, so rather than removing them mark them as deleted. Can't use undefined or null since those both valid keys so use a private symbol.\n+\tvar undefMarker = {};","path":"polyfills/Map/polyfill.js","position":5,"original_position":5,"commit_id":"3830d6c75bef8aa03a66fce52e926d19bdc99d28","original_commit_id":"83839da8aaab218dfa33d3e451991380081f650b","user":{"login":"triblondon","id":1735391,"avatar_url":"https://avatars.githubusercontent.com/u/1735391?v=3","gravatar_id":"","url":"https://api.github.com/users/triblondon","html_url":"https://github.com/triblondon","followers_url":"https://api.github.com/users/triblondon/followers","following_url":"https://api.github.com/users/triblondon/following{/other_user}","gists_url":"https://api.github.com/users/triblondon/gists{/gist_id}","starred_url":"https://api.github.com/users/triblondon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/triblondon/subscriptions","organizations_url":"https://api.github.com/users/triblondon/orgs","repos_url":"https://api.github.com/users/triblondon/repos","events_url":"https://api.github.com/users/triblondon/events{/privacy}","received_events_url":"https://api.github.com/users/triblondon/received_events","type":"User","site_admin":false},"body":"OK, so what are the benefits of that?","created_at":"2016-04-25T00:31:43Z","updated_at":"2016-04-25T00:31:43Z","html_url":"https://github.com/Financial-Times/polyfill-service/pull/670#discussion_r60854847","pull_request_url":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/670","_links":{"self":{"href":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/comments/60854847"},"html":{"href":"https://github.com/Financial-Times/polyfill-service/pull/670#discussion_r60854847"},"pull_request":{"href":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/670"}}},"pull_request":{"url":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/670","id":66787937,"html_url":"https://github.com/Financial-Times/polyfill-service/pull/670","diff_url":"https://github.com/Financial-Times/polyfill-service/pull/670.diff","patch_url":"https://github.com/Financial-Times/polyfill-service/pull/670.patch","issue_url":"https://api.github.com/repos/Financial-Times/polyfill-service/issues/670","number":670,"state":"open","locked":false,"title":"Add Map polyfill","user":{"login":"triblondon","id":1735391,"avatar_url":"https://avatars.githubusercontent.com/u/1735391?v=3","gravatar_id":"","url":"https://api.github.com/users/triblondon","html_url":"https://github.com/triblondon","followers_url":"https://api.github.com/users/triblondon/followers","following_url":"https://api.github.com/users/triblondon/following{/other_user}","gists_url":"https://api.github.com/users/triblondon/gists{/gist_id}","starred_url":"https://api.github.com/users/triblondon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/triblondon/subscriptions","organizations_url":"https://api.github.com/users/triblondon/orgs","repos_url":"https://api.github.com/users/triblondon/repos","events_url":"https://api.github.com/users/triblondon/events{/privacy}","received_events_url":"https://api.github.com/users/triblondon/received_events","type":"User","site_admin":false},"body":"This PR adds a polyfill for Map.  Notable:\r\n\r\n* I'm using private pseudo-symbol-objects as reliable markers for undefined and NaN since those values are problematic.  Open to better ways of doing this.\r\n* Not using `Object.defineProperty` for all these - could do but I think the current arch is clearer\r\n* The rules on how the iterators and forEach method behave when mutations occur during enumeration are a bit weird to me, but I think I implemented them correctly.  Both my polyfill and the native impl pass my tests.","created_at":"2016-04-18T00:58:50Z","updated_at":"2016-04-25T00:31:43Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1bc24e1a2ba0c59ba8129b6ec825db363143c8bb","assignee":{"login":"JakeChampion","id":1569131,"avatar_url":"https://avatars.githubusercontent.com/u/1569131?v=3","gravatar_id":"","url":"https://api.github.com/users/JakeChampion","html_url":"https://github.com/JakeChampion","followers_url":"https://api.github.com/users/JakeChampion/followers","following_url":"https://api.github.com/users/JakeChampion/following{/other_user}","gists_url":"https://api.github.com/users/JakeChampion/gists{/gist_id}","starred_url":"https://api.github.com/users/JakeChampion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JakeChampion/subscriptions","organizations_url":"https://api.github.com/users/JakeChampion/orgs","repos_url":"https://api.github.com/users/JakeChampion/repos","events_url":"https://api.github.com/users/JakeChampion/events{/privacy}","received_events_url":"https://api.github.com/users/JakeChampion/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/670/commits","review_comments_url":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/670/comments","review_comment_url":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Financial-Times/polyfill-service/issues/670/comments","statuses_url":"https://api.github.com/repos/Financial-Times/polyfill-service/statuses/3830d6c75bef8aa03a66fce52e926d19bdc99d28","head":{"label":"Financial-Times:map","ref":"map","sha":"3830d6c75bef8aa03a66fce52e926d19bdc99d28","user":{"login":"Financial-Times","id":3502508,"avatar_url":"https://avatars.githubusercontent.com/u/3502508?v=3","gravatar_id":"","url":"https://api.github.com/users/Financial-Times","html_url":"https://github.com/Financial-Times","followers_url":"https://api.github.com/users/Financial-Times/followers","following_url":"https://api.github.com/users/Financial-Times/following{/other_user}","gists_url":"https://api.github.com/users/Financial-Times/gists{/gist_id}","starred_url":"https://api.github.com/users/Financial-Times/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Financial-Times/subscriptions","organizations_url":"https://api.github.com/users/Financial-Times/orgs","repos_url":"https://api.github.com/users/Financial-Times/repos","events_url":"https://api.github.com/users/Financial-Times/events{/privacy}","received_events_url":"https://api.github.com/users/Financial-Times/received_events","type":"Organization","site_admin":false},"repo":{"id":21244924,"name":"polyfill-service","full_name":"Financial-Times/polyfill-service","owner":{"login":"Financial-Times","id":3502508,"avatar_url":"https://avatars.githubusercontent.com/u/3502508?v=3","gravatar_id":"","url":"https://api.github.com/users/Financial-Times","html_url":"https://github.com/Financial-Times","followers_url":"https://api.github.com/users/Financial-Times/followers","following_url":"https://api.github.com/users/Financial-Times/following{/other_user}","gists_url":"https://api.github.com/users/Financial-Times/gists{/gist_id}","starred_url":"https://api.github.com/users/Financial-Times/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Financial-Times/subscriptions","organizations_url":"https://api.github.com/users/Financial-Times/orgs","repos_url":"https://api.github.com/users/Financial-Times/repos","events_url":"https://api.github.com/users/Financial-Times/events{/privacy}","received_events_url":"https://api.github.com/users/Financial-Times/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Financial-Times/polyfill-service","description":"Automatic polyfill service","fork":false,"url":"https://api.github.com/repos/Financial-Times/polyfill-service","forks_url":"https://api.github.com/repos/Financial-Times/polyfill-service/forks","keys_url":"https://api.github.com/repos/Financial-Times/polyfill-service/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Financial-Times/polyfill-service/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Financial-Times/polyfill-service/teams","hooks_url":"https://api.github.com/repos/Financial-Times/polyfill-service/hooks","issue_events_url":"https://api.github.com/repos/Financial-Times/polyfill-service/issues/events{/number}","events_url":"https://api.github.com/repos/Financial-Times/polyfill-service/events","assignees_url":"https://api.github.com/repos/Financial-Times/polyfill-service/assignees{/user}","branches_url":"https://api.github.com/repos/Financial-Times/polyfill-service/branches{/branch}","tags_url":"https://api.github.com/repos/Financial-Times/polyfill-service/tags","blobs_url":"https://api.github.com/repos/Financial-Times/polyfill-service/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Financial-Times/polyfill-service/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Financial-Times/polyfill-service/git/refs{/sha}","trees_url":"https://api.github.com/repos/Financial-Times/polyfill-service/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Financial-Times/polyfill-service/statuses/{sha}","languages_url":"https://api.github.com/repos/Financial-Times/polyfill-service/languages","stargazers_url":"https://api.github.com/repos/Financial-Times/polyfill-service/stargazers","contributors_url":"https://api.github.com/repos/Financial-Times/polyfill-service/contributors","subscribers_url":"https://api.github.com/repos/Financial-Times/polyfill-service/subscribers","subscription_url":"https://api.github.com/repos/Financial-Times/polyfill-service/subscription","commits_url":"https://api.github.com/repos/Financial-Times/polyfill-service/commits{/sha}","git_commits_url":"https://api.github.com/repos/Financial-Times/polyfill-service/git/commits{/sha}","comments_url":"https://api.github.com/repos/Financial-Times/polyfill-service/comments{/number}","issue_comment_url":"https://api.github.com/repos/Financial-Times/polyfill-service/issues/comments{/number}","contents_url":"https://api.github.com/repos/Financial-Times/polyfill-service/contents/{+path}","compare_url":"https://api.github.com/repos/Financial-Times/polyfill-service/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Financial-Times/polyfill-service/merges","archive_url":"https://api.github.com/repos/Financial-Times/polyfill-service/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Financial-Times/polyfill-service/downloads","issues_url":"https://api.github.com/repos/Financial-Times/polyfill-service/issues{/number}","pulls_url":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls{/number}","milestones_url":"https://api.github.com/repos/Financial-Times/polyfill-service/milestones{/number}","notifications_url":"https://api.github.com/repos/Financial-Times/polyfill-service/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Financial-Times/polyfill-service/labels{/name}","releases_url":"https://api.github.com/repos/Financial-Times/polyfill-service/releases{/id}","deployments_url":"https://api.github.com/repos/Financial-Times/polyfill-service/deployments","created_at":"2014-06-26T15:09:49Z","updated_at":"2016-04-22T12:48:36Z","pushed_at":"2016-04-24T13:24:43Z","git_url":"git://github.com/Financial-Times/polyfill-service.git","ssh_url":"git@github.com:Financial-Times/polyfill-service.git","clone_url":"https://github.com/Financial-Times/polyfill-service.git","svn_url":"https://github.com/Financial-Times/polyfill-service","homepage":"https://cdn.polyfill.io","size":7035,"stargazers_count":977,"watchers_count":977,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":150,"mirror_url":null,"open_issues_count":54,"forks":150,"open_issues":54,"watchers":977,"default_branch":"master"}},"base":{"label":"Financial-Times:master","ref":"master","sha":"6364cfcaf9214d9bf6dcdd6d54f372094e5486af","user":{"login":"Financial-Times","id":3502508,"avatar_url":"https://avatars.githubusercontent.com/u/3502508?v=3","gravatar_id":"","url":"https://api.github.com/users/Financial-Times","html_url":"https://github.com/Financial-Times","followers_url":"https://api.github.com/users/Financial-Times/followers","following_url":"https://api.github.com/users/Financial-Times/following{/other_user}","gists_url":"https://api.github.com/users/Financial-Times/gists{/gist_id}","starred_url":"https://api.github.com/users/Financial-Times/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Financial-Times/subscriptions","organizations_url":"https://api.github.com/users/Financial-Times/orgs","repos_url":"https://api.github.com/users/Financial-Times/repos","events_url":"https://api.github.com/users/Financial-Times/events{/privacy}","received_events_url":"https://api.github.com/users/Financial-Times/received_events","type":"Organization","site_admin":false},"repo":{"id":21244924,"name":"polyfill-service","full_name":"Financial-Times/polyfill-service","owner":{"login":"Financial-Times","id":3502508,"avatar_url":"https://avatars.githubusercontent.com/u/3502508?v=3","gravatar_id":"","url":"https://api.github.com/users/Financial-Times","html_url":"https://github.com/Financial-Times","followers_url":"https://api.github.com/users/Financial-Times/followers","following_url":"https://api.github.com/users/Financial-Times/following{/other_user}","gists_url":"https://api.github.com/users/Financial-Times/gists{/gist_id}","starred_url":"https://api.github.com/users/Financial-Times/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Financial-Times/subscriptions","organizations_url":"https://api.github.com/users/Financial-Times/orgs","repos_url":"https://api.github.com/users/Financial-Times/repos","events_url":"https://api.github.com/users/Financial-Times/events{/privacy}","received_events_url":"https://api.github.com/users/Financial-Times/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Financial-Times/polyfill-service","description":"Automatic polyfill service","fork":false,"url":"https://api.github.com/repos/Financial-Times/polyfill-service","forks_url":"https://api.github.com/repos/Financial-Times/polyfill-service/forks","keys_url":"https://api.github.com/repos/Financial-Times/polyfill-service/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Financial-Times/polyfill-service/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Financial-Times/polyfill-service/teams","hooks_url":"https://api.github.com/repos/Financial-Times/polyfill-service/hooks","issue_events_url":"https://api.github.com/repos/Financial-Times/polyfill-service/issues/events{/number}","events_url":"https://api.github.com/repos/Financial-Times/polyfill-service/events","assignees_url":"https://api.github.com/repos/Financial-Times/polyfill-service/assignees{/user}","branches_url":"https://api.github.com/repos/Financial-Times/polyfill-service/branches{/branch}","tags_url":"https://api.github.com/repos/Financial-Times/polyfill-service/tags","blobs_url":"https://api.github.com/repos/Financial-Times/polyfill-service/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Financial-Times/polyfill-service/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Financial-Times/polyfill-service/git/refs{/sha}","trees_url":"https://api.github.com/repos/Financial-Times/polyfill-service/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Financial-Times/polyfill-service/statuses/{sha}","languages_url":"https://api.github.com/repos/Financial-Times/polyfill-service/languages","stargazers_url":"https://api.github.com/repos/Financial-Times/polyfill-service/stargazers","contributors_url":"https://api.github.com/repos/Financial-Times/polyfill-service/contributors","subscribers_url":"https://api.github.com/repos/Financial-Times/polyfill-service/subscribers","subscription_url":"https://api.github.com/repos/Financial-Times/polyfill-service/subscription","commits_url":"https://api.github.com/repos/Financial-Times/polyfill-service/commits{/sha}","git_commits_url":"https://api.github.com/repos/Financial-Times/polyfill-service/git/commits{/sha}","comments_url":"https://api.github.com/repos/Financial-Times/polyfill-service/comments{/number}","issue_comment_url":"https://api.github.com/repos/Financial-Times/polyfill-service/issues/comments{/number}","contents_url":"https://api.github.com/repos/Financial-Times/polyfill-service/contents/{+path}","compare_url":"https://api.github.com/repos/Financial-Times/polyfill-service/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Financial-Times/polyfill-service/merges","archive_url":"https://api.github.com/repos/Financial-Times/polyfill-service/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Financial-Times/polyfill-service/downloads","issues_url":"https://api.github.com/repos/Financial-Times/polyfill-service/issues{/number}","pulls_url":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls{/number}","milestones_url":"https://api.github.com/repos/Financial-Times/polyfill-service/milestones{/number}","notifications_url":"https://api.github.com/repos/Financial-Times/polyfill-service/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Financial-Times/polyfill-service/labels{/name}","releases_url":"https://api.github.com/repos/Financial-Times/polyfill-service/releases{/id}","deployments_url":"https://api.github.com/repos/Financial-Times/polyfill-service/deployments","created_at":"2014-06-26T15:09:49Z","updated_at":"2016-04-22T12:48:36Z","pushed_at":"2016-04-24T13:24:43Z","git_url":"git://github.com/Financial-Times/polyfill-service.git","ssh_url":"git@github.com:Financial-Times/polyfill-service.git","clone_url":"https://github.com/Financial-Times/polyfill-service.git","svn_url":"https://github.com/Financial-Times/polyfill-service","homepage":"https://cdn.polyfill.io","size":7035,"stargazers_count":977,"watchers_count":977,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":150,"mirror_url":null,"open_issues_count":54,"forks":150,"open_issues":54,"watchers":977,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/670"},"html":{"href":"https://github.com/Financial-Times/polyfill-service/pull/670"},"issue":{"href":"https://api.github.com/repos/Financial-Times/polyfill-service/issues/670"},"comments":{"href":"https://api.github.com/repos/Financial-Times/polyfill-service/issues/670/comments"},"review_comments":{"href":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/670/comments"},"review_comment":{"href":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Financial-Times/polyfill-service/pulls/670/commits"},"statuses":{"href":"https://api.github.com/repos/Financial-Times/polyfill-service/statuses/3830d6c75bef8aa03a66fce52e926d19bdc99d28"}}}}