{"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":9,"created_at":"2016-05-11T20:31:46Z","updated_at":"2016-05-13T07:24:14Z","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```ts\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/218970346","html_url":"https://github.com/ReactiveX/rxjs/issues/1703#issuecomment-218970346","issue_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/1703","id":218970346,"user":{"login":"typhonrt","id":311473,"avatar_url":"https://avatars.githubusercontent.com/u/311473?v=3","gravatar_id":"","url":"https://api.github.com/users/typhonrt","html_url":"https://github.com/typhonrt","followers_url":"https://api.github.com/users/typhonrt/followers","following_url":"https://api.github.com/users/typhonrt/following{/other_user}","gists_url":"https://api.github.com/users/typhonrt/gists{/gist_id}","starred_url":"https://api.github.com/users/typhonrt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/typhonrt/subscriptions","organizations_url":"https://api.github.com/users/typhonrt/orgs","repos_url":"https://api.github.com/users/typhonrt/repos","events_url":"https://api.github.com/users/typhonrt/events{/privacy}","received_events_url":"https://api.github.com/users/typhonrt/received_events","type":"User","site_admin":false},"created_at":"2016-05-13T07:24:14Z","updated_at":"2016-05-13T07:24:14Z","body":"I kind of jumped in here too through the ESDoc side of the portal regarding context though have an eye on utilizing `rxjs` in the near future. I can confirm the opinion that inline documentation is great. I work w/ JSPM / SystemJS and I've got an ESDoc plugin that links all of the JSPM managed code including inheritance across modules that has valid ESDoc data (NPM version soon), another one that completely replaces the [left hand navigation for an enhanced JSPM aware version (click `JSPM Managed source to reveal` / also context click to jump to linked code on Github)](https://docs.typhonjs.io/typhonjs-demos/backbone-es6-localstorage-todos/) and even [D3 interactive dependency graphs (JSPM packages for now)](https://docs.typhonjs.io/typhonjs-demos/backbone-parse-es6-todos-improved/graphs/jspm_packages.html). This is for any ad hoc relationship JSPM can load. Soon I'll have source code and file graphs too for JSPM then NPM ES6 modules. I created a fork of Backbone / backbone-es6 to modernize it and specifically to provide inline docs for end to end documentation. I've stuck to pure ES6, but getting ESDoc to accept TS / Closure Compiler typing would be neat."}}