{"action":"created","issue":{"url":"https://api.github.com/repos/shapesecurity/shift-spidermonkey-converter-js/issues/17","repository_url":"https://api.github.com/repos/shapesecurity/shift-spidermonkey-converter-js","labels_url":"https://api.github.com/repos/shapesecurity/shift-spidermonkey-converter-js/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/shapesecurity/shift-spidermonkey-converter-js/issues/17/comments","events_url":"https://api.github.com/repos/shapesecurity/shift-spidermonkey-converter-js/issues/17/events","html_url":"https://github.com/shapesecurity/shift-spidermonkey-converter-js/pull/17","id":157119641,"number":17,"title":"Change to a class-based implementation","user":{"login":"gabejohnson","id":2723573,"avatar_url":"https://avatars.githubusercontent.com/u/2723573?v=3","gravatar_id":"","url":"https://api.github.com/users/gabejohnson","html_url":"https://github.com/gabejohnson","followers_url":"https://api.github.com/users/gabejohnson/followers","following_url":"https://api.github.com/users/gabejohnson/following{/other_user}","gists_url":"https://api.github.com/users/gabejohnson/gists{/gist_id}","starred_url":"https://api.github.com/users/gabejohnson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gabejohnson/subscriptions","organizations_url":"https://api.github.com/users/gabejohnson/orgs","repos_url":"https://api.github.com/users/gabejohnson/repos","events_url":"https://api.github.com/users/gabejohnson/events{/privacy}","received_events_url":"https://api.github.com/users/gabejohnson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-05-27T02:51:49Z","updated_at":"2016-10-28T16:25:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/shapesecurity/shift-spidermonkey-converter-js/pulls/17","html_url":"https://github.com/shapesecurity/shift-spidermonkey-converter-js/pull/17","diff_url":"https://github.com/shapesecurity/shift-spidermonkey-converter-js/pull/17.diff","patch_url":"https://github.com/shapesecurity/shift-spidermonkey-converter-js/pull/17.patch"},"body":"This PR is related to https://github.com/shapesecurity/shift-spidermonkey-converter-js/issues/16.\r\n\r\nTo better support conversion to/from forks of ESTree (currently targeting Babel) I've modified the implementation to allow for class-based extensibility.\r\n\r\nThere's a method `createChild` and a function `childConverter` that don't smell right. The former is used to create an instance of a subclass in non-overridden methods. The later is a utility that provides a mapper function for converting collections. Any suggestions on alternatives are welcome.\r\n"},"comment":{"url":"https://api.github.com/repos/shapesecurity/shift-spidermonkey-converter-js/issues/comments/256965264","html_url":"https://github.com/shapesecurity/shift-spidermonkey-converter-js/pull/17#issuecomment-256965264","issue_url":"https://api.github.com/repos/shapesecurity/shift-spidermonkey-converter-js/issues/17","id":256965264,"user":{"login":"bakkot","id":1653598,"avatar_url":"https://avatars.githubusercontent.com/u/1653598?v=3","gravatar_id":"","url":"https://api.github.com/users/bakkot","html_url":"https://github.com/bakkot","followers_url":"https://api.github.com/users/bakkot/followers","following_url":"https://api.github.com/users/bakkot/following{/other_user}","gists_url":"https://api.github.com/users/bakkot/gists{/gist_id}","starred_url":"https://api.github.com/users/bakkot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakkot/subscriptions","organizations_url":"https://api.github.com/users/bakkot/orgs","repos_url":"https://api.github.com/users/bakkot/repos","events_url":"https://api.github.com/users/bakkot/events{/privacy}","received_events_url":"https://api.github.com/users/bakkot/received_events","type":"User","site_admin":false},"created_at":"2016-10-28T16:25:08Z","updated_at":"2016-10-28T16:25:08Z","body":"@gabejohnson only reason I can think not to make methods static is that some later subclass might want to keep some state around during the conversion of an AST. I don't really expect this to happen, so I don't have strong opinions either way."}}
{"actor":{"display_login":"bakkot"}}