{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/RxJS/issues/849","labels_url":"https://api.github.com/repos/ReactiveX/RxJS/issues/849/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/RxJS/issues/849/comments","events_url":"https://api.github.com/repos/ReactiveX/RxJS/issues/849/events","html_url":"https://github.com/ReactiveX/RxJS/pull/849","id":119667597,"number":849,"title":"refactor(Symbol): introduce unified Symbol module","user":{"login":"kwonoj","id":1210596,"avatar_url":"https://avatars.githubusercontent.com/u/1210596?v=3","gravatar_id":"","url":"https://api.github.com/users/kwonoj","html_url":"https://github.com/kwonoj","followers_url":"https://api.github.com/users/kwonoj/followers","following_url":"https://api.github.com/users/kwonoj/following{/other_user}","gists_url":"https://api.github.com/users/kwonoj/gists{/gist_id}","starred_url":"https://api.github.com/users/kwonoj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kwonoj/subscriptions","organizations_url":"https://api.github.com/users/kwonoj/orgs","repos_url":"https://api.github.com/users/kwonoj/repos","events_url":"https://api.github.com/users/kwonoj/events{/privacy}","received_events_url":"https://api.github.com/users/kwonoj/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-01T08:37:49Z","updated_at":"2015-12-01T19:02:32Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ReactiveX/RxJS/pulls/849","html_url":"https://github.com/ReactiveX/RxJS/pull/849","diff_url":"https://github.com/ReactiveX/RxJS/pull/849.diff","patch_url":"https://github.com/ReactiveX/RxJS/pull/849.patch"},"body":"closes #844 \r\n\r\nThis PR creates single module for symbols, integrates separated `symbol_xxx` modules. As mentioned in https://github.com/ReactiveX/RxJS/issues/844 typescript supports es6 global symbol which causes name collision, picked `SymbolShim` as initial name. Might be better name for module, creating PR to get some suggestions."},"comment":{"url":"https://api.github.com/repos/ReactiveX/RxJS/issues/comments/161063552","html_url":"https://github.com/ReactiveX/RxJS/pull/849#issuecomment-161063552","issue_url":"https://api.github.com/repos/ReactiveX/RxJS/issues/849","id":161063552,"user":{"login":"blesh","id":1540597,"avatar_url":"https://avatars.githubusercontent.com/u/1540597?v=3","gravatar_id":"","url":"https://api.github.com/users/blesh","html_url":"https://github.com/blesh","followers_url":"https://api.github.com/users/blesh/followers","following_url":"https://api.github.com/users/blesh/following{/other_user}","gists_url":"https://api.github.com/users/blesh/gists{/gist_id}","starred_url":"https://api.github.com/users/blesh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blesh/subscriptions","organizations_url":"https://api.github.com/users/blesh/orgs","repos_url":"https://api.github.com/users/blesh/repos","events_url":"https://api.github.com/users/blesh/events{/privacy}","received_events_url":"https://api.github.com/users/blesh/received_events","type":"User","site_admin":false},"created_at":"2015-12-01T19:02:32Z","updated_at":"2015-12-01T19:02:32Z","body":"@kwonoj would it be possible, while you're looking at this to implement and export a shim factory you can unit test (similar to what I did for `Immediate` and `Map`)?\r\n\r\nbasically it's just:\r\n\r\n```js\r\nimport {root} from './root';\r\n\r\nexport function symbolPolyfill(root) {\r\n   // do stuff to create Symbol and patch root\r\n  return Symbol;\r\n}\r\n\r\nconst Symbol = symbolPolyfill(root);\r\nexport Symbol;\r\n```\r\n\r\nfrom there, you can unit test `symbolPolyfill` and get coverage on it for various scenarios: (Symbol exists, but `iterator` doesn't, `Symbol` exists, but `observable` doesn't, `Symbol.observable` does exist, etc)\r\n\r\nI realize this is all voluntary, so if you don't have the time, let me know and I'll take a swing at it."}}