{"action":"created","comment":{"url":"https://api.github.com/repos/ReactiveX/rxjs/pulls/comments/70693292","id":70693292,"diff_hunk":"@@ -1,12 +1,35 @@\n-import {Subscription} from '../Subscription';\n import {Scheduler} from '../Scheduler';\n+import {Subscription} from '../Subscription';\n \n-export interface Action<T> extends Subscription {\n-  work: (state?: T) => void|Subscription;\n-  state?: T;\n-  delay?: number;\n-  schedule(state?: T, delay?: number): void;\n-  execute(): void;\n-  scheduler: Scheduler;\n-  error: any;\n-}\n\\ No newline at end of file\n+/**\n+ * A unit of work to be executed in a {@link Scheduler}. An action is typically\n+ * created from within a Scheduler and an RxJS user does not need to concern\n+ * themselves about creating and manipulating an Action.\n+ *\n+ * ```ts\n+ * class Action<T> extends Subscription {\n+ *   new (scheduler: Scheduler, work: (state?: T) => void);\n+ *   schedule(state?: T, delay: number = 0): Subscription;\n+ * }\n+ * ```\n+ *\n+ * @class Action<T>\n+ */\n+export class Action<T> extends Subscription {\n+  constructor(scheduler: Scheduler, work: (state?: T) => void) {\n+    super();\n+  }\n+  /**\n+   * Schedules this action on its parent Scheduler for execution. May be passed\n+   * some context object, `state`. May happen at some point in the future,\n+   * according to the `delay` parameter, if specified.\n+   * @param {any} [state] Some contextual data that the `work` function uses when\n+   * called by the Scheduler.","path":"src/scheduler/Action.ts","position":38,"original_position":38,"commit_id":"1bd290295890f68c1d9234524b7dfc9a9d3051f0","original_commit_id":"1bd290295890f68c1d9234524b7dfc9a9d3051f0","user":{"login":"trxcllnt","id":178183,"avatar_url":"https://avatars.githubusercontent.com/u/178183?v=3","gravatar_id":"","url":"https://api.github.com/users/trxcllnt","html_url":"https://github.com/trxcllnt","followers_url":"https://api.github.com/users/trxcllnt/followers","following_url":"https://api.github.com/users/trxcllnt/following{/other_user}","gists_url":"https://api.github.com/users/trxcllnt/gists{/gist_id}","starred_url":"https://api.github.com/users/trxcllnt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trxcllnt/subscriptions","organizations_url":"https://api.github.com/users/trxcllnt/orgs","repos_url":"https://api.github.com/users/trxcllnt/repos","events_url":"https://api.github.com/users/trxcllnt/events{/privacy}","received_events_url":"https://api.github.com/users/trxcllnt/received_events","type":"User","site_admin":false},"body":"@saneyuki I think you're right. I'll update the PR.","created_at":"2016-07-13T19:35:27Z","updated_at":"2016-07-13T19:35:27Z","html_url":"https://github.com/ReactiveX/rxjs/pull/1820#discussion_r70693292","pull_request_url":"https://api.github.com/repos/ReactiveX/rxjs/pulls/1820","_links":{"self":{"href":"https://api.github.com/repos/ReactiveX/rxjs/pulls/comments/70693292"},"html":{"href":"https://github.com/ReactiveX/rxjs/pull/1820#discussion_r70693292"},"pull_request":{"href":"https://api.github.com/repos/ReactiveX/rxjs/pulls/1820"}}},"pull_request":{"url":"https://api.github.com/repos/ReactiveX/rxjs/pulls/1820","id":76893455,"html_url":"https://github.com/ReactiveX/rxjs/pull/1820","diff_url":"https://github.com/ReactiveX/rxjs/pull/1820.diff","patch_url":"https://github.com/ReactiveX/rxjs/pull/1820.patch","issue_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/1820","number":1820,"state":"open","locked":false,"title":"fix(schedulers): fix asap and animationFrame schedulers to execute across their respective async boundaries","user":{"login":"trxcllnt","id":178183,"avatar_url":"https://avatars.githubusercontent.com/u/178183?v=3","gravatar_id":"","url":"https://api.github.com/users/trxcllnt","html_url":"https://github.com/trxcllnt","followers_url":"https://api.github.com/users/trxcllnt/followers","following_url":"https://api.github.com/users/trxcllnt/following{/other_user}","gists_url":"https://api.github.com/users/trxcllnt/gists{/gist_id}","starred_url":"https://api.github.com/users/trxcllnt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trxcllnt/subscriptions","organizations_url":"https://api.github.com/users/trxcllnt/orgs","repos_url":"https://api.github.com/users/trxcllnt/repos","events_url":"https://api.github.com/users/trxcllnt/events{/privacy}","received_events_url":"https://api.github.com/users/trxcllnt/received_events","type":"User","site_admin":false},"body":"<!--\r\nThank you very much for your pull request!\r\n\r\nIf your PR is the addition of a new operator, please make sure all these boxes are ticked with an x:\r\n\r\n- [ ] Add the operator to Rx\r\n- [ ] It must have a `-spec.ts` tests file covering the canonical corner cases, with marble diagram tests\r\n- [ ] If possible, write a `asDiagram` test case too, for PNG diagram generation purposes\r\n- [ ] The spec file should have a type definition test at the end of the spec to verify type definition for various use cases\r\n- [ ] The operator must be documented in JSDoc style in the implementation file, including also the PNG marble diagram image\r\n- [ ] The operator should be listed in `doc/operators.md` in a category of operators\r\n- [ ] It should also be inserted in the operator decision tree file `doc/decision-tree-widget/tree.yml`\r\n- [ ] You may need to update `MIGRATION.md` if the operator differs from the corresponding one in RxJS v4\r\n-->\r\n\r\n**Description:**\r\n\r\nThe AsapScheduler and AnimationFrameScheduler were totally busted. My bad. Now they execute their scheduled actions in batches. If actions reschedule while executing a batch, a new frame is requested for the rescheduled action to execute in.\r\n\r\nOther updates included in this PR:\r\n\r\n* simplifies the public `Scheduler` and `Action` APIs. Implementation details like the `actions` queue and `active` boolean are now on the concrete implementations, so it's easier for people to implement the Scheduler API.\r\n* renames `FutureAction` -> `AsyncAction` to conform to the same naming convention as the rest of the Action types.\r\n* Actions should be able to be recursively rescheduled with different delay times and switch between their delay = 0 and delay > 0 behaviors. For example, a delay=0 `QueueAction` should be able to reschedule with delay > 0 and fall back to its parent class's (`AsyncAction`) behavior.\r\n* If a scheduled action throws an error, the schedulers now dispose (and un-reference) the rest of the scheduled actions before re-throwing. I'm not sure how necessary this is, but it did seem like keeping the actions in the queue could was incorrect (they'd stick around until the Scheduler was flushed, at which time they'd be executed) or possibly leaky.\r\n\r\n**Related issue (if exists):**\r\n\r\nFixes #1814\r\n\r\n**Performance results:**\r\n\r\nRe-ran a few of the performance tests to check regressions when using the queue scheduler. No discernible perf hits.\r\n\r\nCurrent master:\r\n\r\n                                         |                     RxJS 4.1.0 |             RxJS 5.0.0-beta.10 |          factor |      % improved\r\n-----------------------------------------|--------------------------------|--------------------------------|-----------------|----------------\r\n                      concat - immediate |                50,291 (±1.21%) |               357,051 (±2.00%) |           7.10x |          610.0%\r\n                       merge - immediate |                 5,621 (±1.53%) |                56,834 (±1.00%) |          10.11x |          911.1%\r\n                                  concat |                21,527 (±1.74%) |               153,550 (±4.04%) |           7.13x |          613.3%\r\n                                   merge |                 2,283 (±2.35%) |                21,295 (±2.45%) |           9.33x |          832.8%\r\n             from-with-array - immediate |               127,203 (±1.81%) |               895,727 (±1.10%) |           7.04x |          604.2%\r\n          from-with-iterable - immediate |               105,449 (±2.19%) |               357,870 (±3.85%) |           3.39x |          239.4%\r\n            from-with-string - immediate |                60,665 (±4.35%) |               384,754 (±3.69%) |           6.34x |          534.2%\r\n                          of - immediate |                59,050 (±3.56%) |               829,434 (±3.29%) |          14.05x |        1,304.6%\r\n                         from-with-array |                54,174 (±3.47%) |               668,259 (±3.17%) |          12.34x |        1,133.6%\r\n                      from-with-iterable |                51,085 (±3.41%) |               366,127 (±2.51%) |           7.17x |          616.7%\r\n                        from-with-string |                33,901 (±2.78%) |               365,895 (±3.86%) |          10.79x |          979.3%\r\n                                      of |                60,350 (±3.36%) |               443,226 (±2.38%) |           7.34x |          634.4%\r\n\r\n\r\n\r\nThis PR:\r\n\r\n                                         |                     RxJS 4.1.0 |             RxJS 5.0.0-beta.10 |          factor |      % improved\r\n-----------------------------------------|--------------------------------|--------------------------------|-----------------|----------------\r\n                      concat - immediate |                54,293 (±1.61%) |               386,044 (±1.16%) |           7.11x |          611.0%\r\n                       merge - immediate |                 5,751 (±1.11%) |                57,951 (±0.86%) |          10.08x |          907.6%\r\n                                  concat |                22,460 (±1.07%) |               169,922 (±1.51%) |           7.57x |          656.5%\r\n                                   merge |                 2,415 (±1.21%) |                22,674 (±1.01%) |           9.39x |          838.7%\r\n             from-with-array - immediate |               128,302 (±1.54%) |               851,673 (±1.70%) |           6.64x |          563.8%\r\n          from-with-iterable - immediate |               114,602 (±1.34%) |               364,576 (±1.75%) |           3.18x |          218.1%\r\n            from-with-string - immediate |                60,711 (±4.18%) |               367,734 (±3.85%) |           6.06x |          505.7%\r\n                          of - immediate |                58,137 (±3.61%) |               853,370 (±3.29%) |          14.68x |        1,367.9%\r\n                         from-with-array |                51,498 (±3.14%) |               691,779 (±3.70%) |          13.43x |        1,243.3%\r\n                      from-with-iterable |                51,048 (±3.52%) |               372,203 (±3.40%) |           7.29x |          629.1%\r\n                        from-with-string |                33,374 (±3.06%) |               394,613 (±2.56%) |          11.82x |        1,082.4%\r\n                                      of |                53,013 (±4.33%) |               395,391 (±2.94%) |           7.46x |          645.8%\r\n\r\n\r\nSide-by-side:\r\n\r\n                                         |    RxJS 5.0.0-beta.10 (master) |        RxJS 5.0.0-beta.10 (PR)\r\n-----------------------------------------|--------------------------------|-------------------------------\r\n                      concat - immediate |               357,051 (±2.00%) |               386,044 (±1.16%)\r\n                       merge - immediate |                56,834 (±1.00%) |                57,951 (±0.86%)\r\n                                  concat |               153,550 (±4.04%) |               169,922 (±1.51%)\r\n                                   merge |                21,295 (±2.45%) |                22,674 (±1.01%)\r\n             from-with-array - immediate |               895,727 (±1.10%) |               851,673 (±1.70%)\r\n          from-with-iterable - immediate |               357,870 (±3.85%) |               364,576 (±1.75%)\r\n            from-with-string - immediate |               384,754 (±3.69%) |               367,734 (±3.85%)\r\n                          of - immediate |               829,434 (±3.29%) |               853,370 (±3.29%)\r\n                         from-with-array |               668,259 (±3.17%) |               691,779 (±3.70%)\r\n                      from-with-iterable |               366,127 (±2.51%) |               372,203 (±3.40%)\r\n                        from-with-string |               365,895 (±3.86%) |               394,613 (±2.56%)\r\n                                      of |               443,226 (±2.38%) |               395,391 (±2.94%)","created_at":"2016-07-11T02:46:26Z","updated_at":"2016-07-13T19:35:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"69c53ff5ebab99a1341a6628253e554cfa18c159","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/ReactiveX/rxjs/pulls/1820/commits","review_comments_url":"https://api.github.com/repos/ReactiveX/rxjs/pulls/1820/comments","review_comment_url":"https://api.github.com/repos/ReactiveX/rxjs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/1820/comments","statuses_url":"https://api.github.com/repos/ReactiveX/rxjs/statuses/1bd290295890f68c1d9234524b7dfc9a9d3051f0","head":{"label":"trxcllnt:scheduler-action-fixes","ref":"scheduler-action-fixes","sha":"1bd290295890f68c1d9234524b7dfc9a9d3051f0","user":{"login":"trxcllnt","id":178183,"avatar_url":"https://avatars.githubusercontent.com/u/178183?v=3","gravatar_id":"","url":"https://api.github.com/users/trxcllnt","html_url":"https://github.com/trxcllnt","followers_url":"https://api.github.com/users/trxcllnt/followers","following_url":"https://api.github.com/users/trxcllnt/following{/other_user}","gists_url":"https://api.github.com/users/trxcllnt/gists{/gist_id}","starred_url":"https://api.github.com/users/trxcllnt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trxcllnt/subscriptions","organizations_url":"https://api.github.com/users/trxcllnt/orgs","repos_url":"https://api.github.com/users/trxcllnt/repos","events_url":"https://api.github.com/users/trxcllnt/events{/privacy}","received_events_url":"https://api.github.com/users/trxcllnt/received_events","type":"User","site_admin":false},"repo":{"id":42749612,"name":"RxJS","full_name":"trxcllnt/RxJS","owner":{"login":"trxcllnt","id":178183,"avatar_url":"https://avatars.githubusercontent.com/u/178183?v=3","gravatar_id":"","url":"https://api.github.com/users/trxcllnt","html_url":"https://github.com/trxcllnt","followers_url":"https://api.github.com/users/trxcllnt/followers","following_url":"https://api.github.com/users/trxcllnt/following{/other_user}","gists_url":"https://api.github.com/users/trxcllnt/gists{/gist_id}","starred_url":"https://api.github.com/users/trxcllnt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trxcllnt/subscriptions","organizations_url":"https://api.github.com/users/trxcllnt/orgs","repos_url":"https://api.github.com/users/trxcllnt/repos","events_url":"https://api.github.com/users/trxcllnt/events{/privacy}","received_events_url":"https://api.github.com/users/trxcllnt/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/trxcllnt/RxJS","description":"A reactive programming library for JavaScript","fork":true,"url":"https://api.github.com/repos/trxcllnt/RxJS","forks_url":"https://api.github.com/repos/trxcllnt/RxJS/forks","keys_url":"https://api.github.com/repos/trxcllnt/RxJS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/trxcllnt/RxJS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/trxcllnt/RxJS/teams","hooks_url":"https://api.github.com/repos/trxcllnt/RxJS/hooks","issue_events_url":"https://api.github.com/repos/trxcllnt/RxJS/issues/events{/number}","events_url":"https://api.github.com/repos/trxcllnt/RxJS/events","assignees_url":"https://api.github.com/repos/trxcllnt/RxJS/assignees{/user}","branches_url":"https://api.github.com/repos/trxcllnt/RxJS/branches{/branch}","tags_url":"https://api.github.com/repos/trxcllnt/RxJS/tags","blobs_url":"https://api.github.com/repos/trxcllnt/RxJS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/trxcllnt/RxJS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/trxcllnt/RxJS/git/refs{/sha}","trees_url":"https://api.github.com/repos/trxcllnt/RxJS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/trxcllnt/RxJS/statuses/{sha}","languages_url":"https://api.github.com/repos/trxcllnt/RxJS/languages","stargazers_url":"https://api.github.com/repos/trxcllnt/RxJS/stargazers","contributors_url":"https://api.github.com/repos/trxcllnt/RxJS/contributors","subscribers_url":"https://api.github.com/repos/trxcllnt/RxJS/subscribers","subscription_url":"https://api.github.com/repos/trxcllnt/RxJS/subscription","commits_url":"https://api.github.com/repos/trxcllnt/RxJS/commits{/sha}","git_commits_url":"https://api.github.com/repos/trxcllnt/RxJS/git/commits{/sha}","comments_url":"https://api.github.com/repos/trxcllnt/RxJS/comments{/number}","issue_comment_url":"https://api.github.com/repos/trxcllnt/RxJS/issues/comments{/number}","contents_url":"https://api.github.com/repos/trxcllnt/RxJS/contents/{+path}","compare_url":"https://api.github.com/repos/trxcllnt/RxJS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/trxcllnt/RxJS/merges","archive_url":"https://api.github.com/repos/trxcllnt/RxJS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/trxcllnt/RxJS/downloads","issues_url":"https://api.github.com/repos/trxcllnt/RxJS/issues{/number}","pulls_url":"https://api.github.com/repos/trxcllnt/RxJS/pulls{/number}","milestones_url":"https://api.github.com/repos/trxcllnt/RxJS/milestones{/number}","notifications_url":"https://api.github.com/repos/trxcllnt/RxJS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/trxcllnt/RxJS/labels{/name}","releases_url":"https://api.github.com/repos/trxcllnt/RxJS/releases{/id}","deployments_url":"https://api.github.com/repos/trxcllnt/RxJS/deployments","created_at":"2015-09-18T22:19:34Z","updated_at":"2016-03-02T01:37:50Z","pushed_at":"2016-07-12T20:41:39Z","git_url":"git://github.com/trxcllnt/RxJS.git","ssh_url":"git@github.com:trxcllnt/RxJS.git","clone_url":"https://github.com/trxcllnt/RxJS.git","svn_url":"https://github.com/trxcllnt/RxJS","homepage":null,"size":6788,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ReactiveX:master","ref":"master","sha":"4f65b03ce6908a934602d619993fa31ec49a2cbf","user":{"login":"ReactiveX","id":6407041,"avatar_url":"https://avatars.githubusercontent.com/u/6407041?v=3","gravatar_id":"","url":"https://api.github.com/users/ReactiveX","html_url":"https://github.com/ReactiveX","followers_url":"https://api.github.com/users/ReactiveX/followers","following_url":"https://api.github.com/users/ReactiveX/following{/other_user}","gists_url":"https://api.github.com/users/ReactiveX/gists{/gist_id}","starred_url":"https://api.github.com/users/ReactiveX/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReactiveX/subscriptions","organizations_url":"https://api.github.com/users/ReactiveX/orgs","repos_url":"https://api.github.com/users/ReactiveX/repos","events_url":"https://api.github.com/users/ReactiveX/events{/privacy}","received_events_url":"https://api.github.com/users/ReactiveX/received_events","type":"Organization","site_admin":false},"repo":{"id":32247847,"name":"rxjs","full_name":"ReactiveX/rxjs","owner":{"login":"ReactiveX","id":6407041,"avatar_url":"https://avatars.githubusercontent.com/u/6407041?v=3","gravatar_id":"","url":"https://api.github.com/users/ReactiveX","html_url":"https://github.com/ReactiveX","followers_url":"https://api.github.com/users/ReactiveX/followers","following_url":"https://api.github.com/users/ReactiveX/following{/other_user}","gists_url":"https://api.github.com/users/ReactiveX/gists{/gist_id}","starred_url":"https://api.github.com/users/ReactiveX/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReactiveX/subscriptions","organizations_url":"https://api.github.com/users/ReactiveX/orgs","repos_url":"https://api.github.com/users/ReactiveX/repos","events_url":"https://api.github.com/users/ReactiveX/events{/privacy}","received_events_url":"https://api.github.com/users/ReactiveX/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ReactiveX/rxjs","description":"A reactive programming library for JavaScript","fork":false,"url":"https://api.github.com/repos/ReactiveX/rxjs","forks_url":"https://api.github.com/repos/ReactiveX/rxjs/forks","keys_url":"https://api.github.com/repos/ReactiveX/rxjs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ReactiveX/rxjs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ReactiveX/rxjs/teams","hooks_url":"https://api.github.com/repos/ReactiveX/rxjs/hooks","issue_events_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/events{/number}","events_url":"https://api.github.com/repos/ReactiveX/rxjs/events","assignees_url":"https://api.github.com/repos/ReactiveX/rxjs/assignees{/user}","branches_url":"https://api.github.com/repos/ReactiveX/rxjs/branches{/branch}","tags_url":"https://api.github.com/repos/ReactiveX/rxjs/tags","blobs_url":"https://api.github.com/repos/ReactiveX/rxjs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ReactiveX/rxjs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ReactiveX/rxjs/git/refs{/sha}","trees_url":"https://api.github.com/repos/ReactiveX/rxjs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ReactiveX/rxjs/statuses/{sha}","languages_url":"https://api.github.com/repos/ReactiveX/rxjs/languages","stargazers_url":"https://api.github.com/repos/ReactiveX/rxjs/stargazers","contributors_url":"https://api.github.com/repos/ReactiveX/rxjs/contributors","subscribers_url":"https://api.github.com/repos/ReactiveX/rxjs/subscribers","subscription_url":"https://api.github.com/repos/ReactiveX/rxjs/subscription","commits_url":"https://api.github.com/repos/ReactiveX/rxjs/commits{/sha}","git_commits_url":"https://api.github.com/repos/ReactiveX/rxjs/git/commits{/sha}","comments_url":"https://api.github.com/repos/ReactiveX/rxjs/comments{/number}","issue_comment_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/comments{/number}","contents_url":"https://api.github.com/repos/ReactiveX/rxjs/contents/{+path}","compare_url":"https://api.github.com/repos/ReactiveX/rxjs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ReactiveX/rxjs/merges","archive_url":"https://api.github.com/repos/ReactiveX/rxjs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ReactiveX/rxjs/downloads","issues_url":"https://api.github.com/repos/ReactiveX/rxjs/issues{/number}","pulls_url":"https://api.github.com/repos/ReactiveX/rxjs/pulls{/number}","milestones_url":"https://api.github.com/repos/ReactiveX/rxjs/milestones{/number}","notifications_url":"https://api.github.com/repos/ReactiveX/rxjs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ReactiveX/rxjs/labels{/name}","releases_url":"https://api.github.com/repos/ReactiveX/rxjs/releases{/id}","deployments_url":"https://api.github.com/repos/ReactiveX/rxjs/deployments","created_at":"2015-03-15T06:17:10Z","updated_at":"2016-07-13T18:29:48Z","pushed_at":"2016-07-13T10:49:16Z","git_url":"git://github.com/ReactiveX/rxjs.git","ssh_url":"git@github.com:ReactiveX/rxjs.git","clone_url":"https://github.com/ReactiveX/rxjs.git","svn_url":"https://github.com/ReactiveX/rxjs","homepage":"http://reactivex.io/rxjs","size":47863,"stargazers_count":2594,"watchers_count":2594,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":241,"mirror_url":null,"open_issues_count":99,"forks":241,"open_issues":99,"watchers":2594,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ReactiveX/rxjs/pulls/1820"},"html":{"href":"https://github.com/ReactiveX/rxjs/pull/1820"},"issue":{"href":"https://api.github.com/repos/ReactiveX/rxjs/issues/1820"},"comments":{"href":"https://api.github.com/repos/ReactiveX/rxjs/issues/1820/comments"},"review_comments":{"href":"https://api.github.com/repos/ReactiveX/rxjs/pulls/1820/comments"},"review_comment":{"href":"https://api.github.com/repos/ReactiveX/rxjs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ReactiveX/rxjs/pulls/1820/commits"},"statuses":{"href":"https://api.github.com/repos/ReactiveX/rxjs/statuses/1bd290295890f68c1d9234524b7dfc9a9d3051f0"}}}}
{"actor":{"display_login":"trxcllnt"}}