{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/rxjs/issues/1703","repository_url":"https://api.github.com/repos/ReactiveX/rxjs","labels_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/1703/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/1703/comments","events_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/1703/events","html_url":"https://github.com/ReactiveX/rxjs/issues/1703","id":154336073,"number":1703,"title":"type annotations are duplicated between typescript syntax and jsdoc","user":{"login":"alexeagle","id":47395,"avatar_url":"https://avatars.githubusercontent.com/u/47395?v=3","gravatar_id":"","url":"https://api.github.com/users/alexeagle","html_url":"https://github.com/alexeagle","followers_url":"https://api.github.com/users/alexeagle/followers","following_url":"https://api.github.com/users/alexeagle/following{/other_user}","gists_url":"https://api.github.com/users/alexeagle/gists{/gist_id}","starred_url":"https://api.github.com/users/alexeagle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexeagle/subscriptions","organizations_url":"https://api.github.com/users/alexeagle/orgs","repos_url":"https://api.github.com/users/alexeagle/repos","events_url":"https://api.github.com/users/alexeagle/events{/privacy}","received_events_url":"https://api.github.com/users/alexeagle/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-05-11T20:31:46Z","updated_at":"2016-05-11T20:52:56Z","closed_at":null,"body":"It seems like you have a lot of extra maintenance burden to have types in the jsdoc that match the types declared in TypeScript:\r\n```\r\n  /**\r\n   * @param {Observer|function(value: T): void} [destinationOrNext] A partially\r\n   * defined Observer or a `next` callback function.\r\n   * @param {function(e: ?any): void} [error] The `error` callback of an\r\n   * Observer.\r\n   * @param {function(): void} [complete] The `complete` callback of an\r\n   * Observer.\r\n   */\r\n  constructor(destinationOrNext?: PartialObserver<any> | ((value: T) => void),\r\n              error?: (e?: any) => void,\r\n              complete?: () => void) {\r\n```\r\n\r\nis there any benefit to having the types in JSDoc?"},"comment":{"url":"https://api.github.com/repos/ReactiveX/rxjs/issues/comments/218586650","html_url":"https://github.com/ReactiveX/rxjs/issues/1703#issuecomment-218586650","issue_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/1703","id":218586650,"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":"2016-05-11T20:52:55Z","updated_at":"2016-05-11T20:52:55Z","body":"I was literally _just_ in a meeting about this because there is a project at Netflix that is using Closure compiler and this type information is breaking it, because it's invalid for closure compiler.\r\n\r\nThe only real benefit here is for the documentation.\r\n\r\n![screen shot 2016-05-11 at 1 51 46 pm](https://cloud.githubusercontent.com/assets/1540597/15196076/94700b44-177f-11e6-8528-907b9d505af7.png)\r\n"}}