{"action":"created","comment":{"url":"https://api.github.com/repos/chromium/axiom/pulls/comments/28896488","id":28896488,"diff_hunk":"@@ -24,14 +25,23 @@ var ReadableStream;\n  */\n export var ReadableStreamForwarder = function(stream) {\n   AxiomStream.call(this);\n-  /** type {!AxiomEvent} */\n+ \n+  /** @const @type {!ReadableStream} */\n+  this.stream = stream;\n+\n+  /** @const @type {!AxiomEvent} */\n   this.onData = new AxiomEvent();\n-  /** type {!AxiomEvent} */\n+  /** @const @type {!AxiomEvent} */\n   this.onReadable = new AxiomEvent();\n-  /** @type {!ReadableStream} */\n-  this.stream = stream;\n+  /** @const @type {!AxiomEvent} */\n+  this.onEnd = new AxiomEvent();\n+  /** @const @type {!AxiomEvent} */\n+  this.onClose = new AxiomEvent();\n+  \n   this.stream.onData.addListener(this.onDataCallback_, this);\n   this.stream.onReadable.addListener(this.onReadableCallback_, this);\n+  this.stream.onEnd.listenOnce(this.end, this);\n+  this.stream.onClose.listenOnce(this.close, this);","path":"lib/axiom/fs/stream/readable_stream_forwarder.js","position":null,"original_position":32,"commit_id":"612d5d192f3b000024337c96bacffc13714d9e75","original_commit_id":"6cfbd4d2f14db4a108d065989c7a80bfd0cc486c","user":{"login":"rpaquay","id":1087507,"avatar_url":"https://avatars.githubusercontent.com/u/1087507?v=3","gravatar_id":"","url":"https://api.github.com/users/rpaquay","html_url":"https://github.com/rpaquay","followers_url":"https://api.github.com/users/rpaquay/followers","following_url":"https://api.github.com/users/rpaquay/following{/other_user}","gists_url":"https://api.github.com/users/rpaquay/gists{/gist_id}","starred_url":"https://api.github.com/users/rpaquay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rpaquay/subscriptions","organizations_url":"https://api.github.com/users/rpaquay/orgs","repos_url":"https://api.github.com/users/rpaquay/repos","events_url":"https://api.github.com/users/rpaquay/events{/privacy}","received_events_url":"https://api.github.com/users/rpaquay/received_events","type":"User","site_admin":false},"body":"Oh I see,nevermind then, I had mis-read the code. I thought this was pointing to a custom event handler function, not an already existing one","created_at":"2015-04-22T17:41:12Z","updated_at":"2015-04-22T17:41:12Z","html_url":"https://github.com/chromium/axiom/pull/226#discussion_r28896488","pull_request_url":"https://api.github.com/repos/chromium/axiom/pulls/226","_links":{"self":{"href":"https://api.github.com/repos/chromium/axiom/pulls/comments/28896488"},"html":{"href":"https://github.com/chromium/axiom/pull/226#discussion_r28896488"},"pull_request":{"href":"https://api.github.com/repos/chromium/axiom/pulls/226"}}},"pull_request":{"url":"https://api.github.com/repos/chromium/axiom/pulls/226","id":33522897,"html_url":"https://github.com/chromium/axiom/pull/226","diff_url":"https://github.com/chromium/axiom/pull/226.diff","patch_url":"https://github.com/chromium/axiom/pull/226.patch","issue_url":"https://api.github.com/repos/chromium/axiom/issues/226","number":226,"state":"open","locked":false,"title":"I/O redirection part 3: redirect stdin + pipes","user":{"login":"ussuri","id":5606182,"avatar_url":"https://avatars.githubusercontent.com/u/5606182?v=3","gravatar_id":"","url":"https://api.github.com/users/ussuri","html_url":"https://github.com/ussuri","followers_url":"https://api.github.com/users/ussuri/followers","following_url":"https://api.github.com/users/ussuri/following{/other_user}","gists_url":"https://api.github.com/users/ussuri/gists{/gist_id}","starred_url":"https://api.github.com/users/ussuri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ussuri/subscriptions","organizations_url":"https://api.github.com/users/ussuri/orgs","repos_url":"https://api.github.com/users/ussuri/repos","events_url":"https://api.github.com/users/ussuri/events{/privacy}","received_events_url":"https://api.github.com/users/ussuri/received_events","type":"User","site_admin":false},"body":"@rpaquay \r\n\r\nThis is #201 redone and with pipes added, but sans `sort` (I'll commit new execs separately after this).\r\n\r\nThis PR largely implements what we discussed in person, but I had to alter some things to make it all work. I'll go over your comments to #201 once again tomorrow to see if I've missed anything.","created_at":"2015-04-17T08:15:46Z","updated_at":"2015-04-22T17:41:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3149483516b4dac79604d798355d505fd38cee48","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/chromium/axiom/pulls/226/commits","review_comments_url":"https://api.github.com/repos/chromium/axiom/pulls/226/comments","review_comment_url":"https://api.github.com/repos/chromium/axiom/pulls/comments{/number}","comments_url":"https://api.github.com/repos/chromium/axiom/issues/226/comments","statuses_url":"https://api.github.com/repos/chromium/axiom/statuses/612d5d192f3b000024337c96bacffc13714d9e75","head":{"label":"ussuri:io-redirection-2","ref":"io-redirection-2","sha":"612d5d192f3b000024337c96bacffc13714d9e75","user":{"login":"ussuri","id":5606182,"avatar_url":"https://avatars.githubusercontent.com/u/5606182?v=3","gravatar_id":"","url":"https://api.github.com/users/ussuri","html_url":"https://github.com/ussuri","followers_url":"https://api.github.com/users/ussuri/followers","following_url":"https://api.github.com/users/ussuri/following{/other_user}","gists_url":"https://api.github.com/users/ussuri/gists{/gist_id}","starred_url":"https://api.github.com/users/ussuri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ussuri/subscriptions","organizations_url":"https://api.github.com/users/ussuri/orgs","repos_url":"https://api.github.com/users/ussuri/repos","events_url":"https://api.github.com/users/ussuri/events{/privacy}","received_events_url":"https://api.github.com/users/ussuri/received_events","type":"User","site_admin":false},"repo":{"id":32886743,"name":"axiom","full_name":"ussuri/axiom","owner":{"login":"ussuri","id":5606182,"avatar_url":"https://avatars.githubusercontent.com/u/5606182?v=3","gravatar_id":"","url":"https://api.github.com/users/ussuri","html_url":"https://github.com/ussuri","followers_url":"https://api.github.com/users/ussuri/followers","following_url":"https://api.github.com/users/ussuri/following{/other_user}","gists_url":"https://api.github.com/users/ussuri/gists{/gist_id}","starred_url":"https://api.github.com/users/ussuri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ussuri/subscriptions","organizations_url":"https://api.github.com/users/ussuri/orgs","repos_url":"https://api.github.com/users/ussuri/repos","events_url":"https://api.github.com/users/ussuri/events{/privacy}","received_events_url":"https://api.github.com/users/ussuri/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ussuri/axiom","description":"Axiom Project","fork":true,"url":"https://api.github.com/repos/ussuri/axiom","forks_url":"https://api.github.com/repos/ussuri/axiom/forks","keys_url":"https://api.github.com/repos/ussuri/axiom/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ussuri/axiom/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ussuri/axiom/teams","hooks_url":"https://api.github.com/repos/ussuri/axiom/hooks","issue_events_url":"https://api.github.com/repos/ussuri/axiom/issues/events{/number}","events_url":"https://api.github.com/repos/ussuri/axiom/events","assignees_url":"https://api.github.com/repos/ussuri/axiom/assignees{/user}","branches_url":"https://api.github.com/repos/ussuri/axiom/branches{/branch}","tags_url":"https://api.github.com/repos/ussuri/axiom/tags","blobs_url":"https://api.github.com/repos/ussuri/axiom/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ussuri/axiom/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ussuri/axiom/git/refs{/sha}","trees_url":"https://api.github.com/repos/ussuri/axiom/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ussuri/axiom/statuses/{sha}","languages_url":"https://api.github.com/repos/ussuri/axiom/languages","stargazers_url":"https://api.github.com/repos/ussuri/axiom/stargazers","contributors_url":"https://api.github.com/repos/ussuri/axiom/contributors","subscribers_url":"https://api.github.com/repos/ussuri/axiom/subscribers","subscription_url":"https://api.github.com/repos/ussuri/axiom/subscription","commits_url":"https://api.github.com/repos/ussuri/axiom/commits{/sha}","git_commits_url":"https://api.github.com/repos/ussuri/axiom/git/commits{/sha}","comments_url":"https://api.github.com/repos/ussuri/axiom/comments{/number}","issue_comment_url":"https://api.github.com/repos/ussuri/axiom/issues/comments{/number}","contents_url":"https://api.github.com/repos/ussuri/axiom/contents/{+path}","compare_url":"https://api.github.com/repos/ussuri/axiom/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ussuri/axiom/merges","archive_url":"https://api.github.com/repos/ussuri/axiom/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ussuri/axiom/downloads","issues_url":"https://api.github.com/repos/ussuri/axiom/issues{/number}","pulls_url":"https://api.github.com/repos/ussuri/axiom/pulls{/number}","milestones_url":"https://api.github.com/repos/ussuri/axiom/milestones{/number}","notifications_url":"https://api.github.com/repos/ussuri/axiom/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ussuri/axiom/labels{/name}","releases_url":"https://api.github.com/repos/ussuri/axiom/releases{/id}","created_at":"2015-03-25T19:39:57Z","updated_at":"2015-03-25T19:39:58Z","pushed_at":"2015-04-22T06:19:30Z","git_url":"git://github.com/ussuri/axiom.git","ssh_url":"git@github.com:ussuri/axiom.git","clone_url":"https://github.com/ussuri/axiom.git","svn_url":"https://github.com/ussuri/axiom","homepage":"","size":10855,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":false,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"chromium:master","ref":"master","sha":"26fb442cba288dbcc0fb28c027762fc45ed08afe","user":{"login":"chromium","id":30044,"avatar_url":"https://avatars.githubusercontent.com/u/30044?v=3","gravatar_id":"","url":"https://api.github.com/users/chromium","html_url":"https://github.com/chromium","followers_url":"https://api.github.com/users/chromium/followers","following_url":"https://api.github.com/users/chromium/following{/other_user}","gists_url":"https://api.github.com/users/chromium/gists{/gist_id}","starred_url":"https://api.github.com/users/chromium/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chromium/subscriptions","organizations_url":"https://api.github.com/users/chromium/orgs","repos_url":"https://api.github.com/users/chromium/repos","events_url":"https://api.github.com/users/chromium/events{/privacy}","received_events_url":"https://api.github.com/users/chromium/received_events","type":"Organization","site_admin":false},"repo":{"id":29257259,"name":"axiom","full_name":"chromium/axiom","owner":{"login":"chromium","id":30044,"avatar_url":"https://avatars.githubusercontent.com/u/30044?v=3","gravatar_id":"","url":"https://api.github.com/users/chromium","html_url":"https://github.com/chromium","followers_url":"https://api.github.com/users/chromium/followers","following_url":"https://api.github.com/users/chromium/following{/other_user}","gists_url":"https://api.github.com/users/chromium/gists{/gist_id}","starred_url":"https://api.github.com/users/chromium/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chromium/subscriptions","organizations_url":"https://api.github.com/users/chromium/orgs","repos_url":"https://api.github.com/users/chromium/repos","events_url":"https://api.github.com/users/chromium/events{/privacy}","received_events_url":"https://api.github.com/users/chromium/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/chromium/axiom","description":"Axiom Project","fork":false,"url":"https://api.github.com/repos/chromium/axiom","forks_url":"https://api.github.com/repos/chromium/axiom/forks","keys_url":"https://api.github.com/repos/chromium/axiom/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chromium/axiom/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chromium/axiom/teams","hooks_url":"https://api.github.com/repos/chromium/axiom/hooks","issue_events_url":"https://api.github.com/repos/chromium/axiom/issues/events{/number}","events_url":"https://api.github.com/repos/chromium/axiom/events","assignees_url":"https://api.github.com/repos/chromium/axiom/assignees{/user}","branches_url":"https://api.github.com/repos/chromium/axiom/branches{/branch}","tags_url":"https://api.github.com/repos/chromium/axiom/tags","blobs_url":"https://api.github.com/repos/chromium/axiom/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chromium/axiom/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chromium/axiom/git/refs{/sha}","trees_url":"https://api.github.com/repos/chromium/axiom/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chromium/axiom/statuses/{sha}","languages_url":"https://api.github.com/repos/chromium/axiom/languages","stargazers_url":"https://api.github.com/repos/chromium/axiom/stargazers","contributors_url":"https://api.github.com/repos/chromium/axiom/contributors","subscribers_url":"https://api.github.com/repos/chromium/axiom/subscribers","subscription_url":"https://api.github.com/repos/chromium/axiom/subscription","commits_url":"https://api.github.com/repos/chromium/axiom/commits{/sha}","git_commits_url":"https://api.github.com/repos/chromium/axiom/git/commits{/sha}","comments_url":"https://api.github.com/repos/chromium/axiom/comments{/number}","issue_comment_url":"https://api.github.com/repos/chromium/axiom/issues/comments{/number}","contents_url":"https://api.github.com/repos/chromium/axiom/contents/{+path}","compare_url":"https://api.github.com/repos/chromium/axiom/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chromium/axiom/merges","archive_url":"https://api.github.com/repos/chromium/axiom/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chromium/axiom/downloads","issues_url":"https://api.github.com/repos/chromium/axiom/issues{/number}","pulls_url":"https://api.github.com/repos/chromium/axiom/pulls{/number}","milestones_url":"https://api.github.com/repos/chromium/axiom/milestones{/number}","notifications_url":"https://api.github.com/repos/chromium/axiom/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chromium/axiom/labels{/name}","releases_url":"https://api.github.com/repos/chromium/axiom/releases{/id}","created_at":"2015-01-14T17:48:53Z","updated_at":"2015-04-21T22:29:48Z","pushed_at":"2015-04-22T06:19:31Z","git_url":"git://github.com/chromium/axiom.git","ssh_url":"git@github.com:chromium/axiom.git","clone_url":"https://github.com/chromium/axiom.git","svn_url":"https://github.com/chromium/axiom","homepage":"https://chromium.github.io/axiom/web_shell/","size":12982,"stargazers_count":2,"watchers_count":2,"language":"JavaScript","has_issues":true,"has_downloads":false,"has_wiki":true,"has_pages":true,"forks_count":6,"mirror_url":null,"open_issues_count":41,"forks":6,"open_issues":41,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/chromium/axiom/pulls/226"},"html":{"href":"https://github.com/chromium/axiom/pull/226"},"issue":{"href":"https://api.github.com/repos/chromium/axiom/issues/226"},"comments":{"href":"https://api.github.com/repos/chromium/axiom/issues/226/comments"},"review_comments":{"href":"https://api.github.com/repos/chromium/axiom/pulls/226/comments"},"review_comment":{"href":"https://api.github.com/repos/chromium/axiom/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/chromium/axiom/pulls/226/commits"},"statuses":{"href":"https://api.github.com/repos/chromium/axiom/statuses/612d5d192f3b000024337c96bacffc13714d9e75"}}}}