{"action":"created","comment":{"url":"https://api.github.com/repos/nodejs/node/pulls/comments/63297789","id":63297789,"diff_hunk":"@@ -2,224 +2,203 @@\n \n const Buffer = require('buffer').Buffer;\n \n-function assertEncoding(encoding) {\n-  // Do not cache `Buffer.isEncoding`, some modules monkey-patch it to support\n-  // additional encodings\n-  if (encoding && !Buffer.isEncoding(encoding)) {\n-    throw new Error('Unknown encoding: ' + encoding);\n+// Do not cache `Buffer.isEncoding` when checking encoding names as some\n+// modules monkey-patch it to support additional encodings\n+function normalizeEncoding(enc) {","path":"lib/string_decoder.js","position":11,"original_position":11,"commit_id":"e03453918cb9785725dfaff16cbb3902948f0658","original_commit_id":"e03453918cb9785725dfaff16cbb3902948f0658","user":{"login":"jasnell","id":439929,"avatar_url":"https://avatars.githubusercontent.com/u/439929?v=3","gravatar_id":"","url":"https://api.github.com/users/jasnell","html_url":"https://github.com/jasnell","followers_url":"https://api.github.com/users/jasnell/followers","following_url":"https://api.github.com/users/jasnell/following{/other_user}","gists_url":"https://api.github.com/users/jasnell/gists{/gist_id}","starred_url":"https://api.github.com/users/jasnell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasnell/subscriptions","organizations_url":"https://api.github.com/users/jasnell/orgs","repos_url":"https://api.github.com/users/jasnell/repos","events_url":"https://api.github.com/users/jasnell/events{/privacy}","received_events_url":"https://api.github.com/users/jasnell/received_events","type":"User","site_admin":false},"body":"fwiw, I had been experimenting with something similar in the speculative icu module work. See https://github.com/jasnell/node/blob/icu-module/lib/icu.js#L113-L134.","created_at":"2016-05-15T20:49:15Z","updated_at":"2016-05-15T20:49:15Z","html_url":"https://github.com/nodejs/node/pull/6777#discussion_r63297789","pull_request_url":"https://api.github.com/repos/nodejs/node/pulls/6777","_links":{"self":{"href":"https://api.github.com/repos/nodejs/node/pulls/comments/63297789"},"html":{"href":"https://github.com/nodejs/node/pull/6777#discussion_r63297789"},"pull_request":{"href":"https://api.github.com/repos/nodejs/node/pulls/6777"}}},"pull_request":{"url":"https://api.github.com/repos/nodejs/node/pulls/6777","id":70130921,"html_url":"https://github.com/nodejs/node/pull/6777","diff_url":"https://github.com/nodejs/node/pull/6777.diff","patch_url":"https://github.com/nodejs/node/pull/6777.patch","issue_url":"https://api.github.com/repos/nodejs/node/issues/6777","number":6777,"state":"open","locked":false,"title":"string_decoder: rewrite implementation","user":{"login":"mscdex","id":54666,"avatar_url":"https://avatars.githubusercontent.com/u/54666?v=3","gravatar_id":"","url":"https://api.github.com/users/mscdex","html_url":"https://github.com/mscdex","followers_url":"https://api.github.com/users/mscdex/followers","following_url":"https://api.github.com/users/mscdex/following{/other_user}","gists_url":"https://api.github.com/users/mscdex/gists{/gist_id}","starred_url":"https://api.github.com/users/mscdex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mscdex/subscriptions","organizations_url":"https://api.github.com/users/mscdex/orgs","repos_url":"https://api.github.com/users/mscdex/repos","events_url":"https://api.github.com/users/mscdex/events{/privacy}","received_events_url":"https://api.github.com/users/mscdex/received_events","type":"User","site_admin":false},"body":"##### Checklist\r\n\r\n- [X] tests and code linting passes\r\n- [X] a test and/or benchmark is included\r\n- [X] the commit message follows commit guidelines\r\n\r\n\r\n##### Affected core subsystem(s)\r\n\r\n* string_decoder\r\n\r\n\r\n##### Description of change\r\n\r\nThis commit provides a rewrite of StringDecoder that both improves performance (for non-single-byte encodings) and understandability.\r\n\r\nAdditionally, StringDecoder instantiation performance has increased considerably due to inlinability and more efficient encoding name checking.\r\n\r\nBenchmark results:\r\n\r\n```\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=32 chunk=16 n=2500000: ./node: 2608500 ./node-master: 2411100 ............. 8.19%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=32 chunk=64 n=2500000: ./node: 3812400 ./node-master: 3689900 ............. 3.32%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=32 chunk=256 n=2500000: ./node: 3995900 ./node-master: 3666700 ............ 8.98%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=32 chunk=1024 n=2500000: ./node: 3990400 ./node-master: 3734300 ........... 6.86%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=128 chunk=16 n=2500000: ./node: 657720 ./node-master: 593080 ............. 10.90%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=128 chunk=64 n=2500000: ./node: 1454800 ./node-master: 1356500 ............ 7.25%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=128 chunk=256 n=2500000: ./node: 1821500 ./node-master: 1741000 ........... 4.62%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=128 chunk=1024 n=2500000: ./node: 1819900 ./node-master: 1750200 .......... 3.98%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=1024 chunk=16 n=2500000: ./node: 83475 ./node-master: 75012 .............. 11.28%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=1024 chunk=64 n=2500000: ./node: 175280 ./node-master: 172150 ............. 1.82%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=1024 chunk=256 n=2500000: ./node: 266000 ./node-master: 247300 ............ 7.56%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=1024 chunk=1024 n=2500000: ./node: 260120 ./node-master: 252230 ........... 3.13%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=4096 chunk=16 n=2500000: ./node: 20576 ./node-master: 17684 .............. 16.35%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=4096 chunk=64 n=2500000: ./node: 46176 ./node-master: 43044 ............... 7.27%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=4096 chunk=256 n=2500000: ./node: 66595 ./node-master: 63134 .............. 5.48%\r\nstring_decoder/string-decoder.js encoding=utf8 inlen=4096 chunk=1024 n=2500000: ./node: 67692 ./node-master: 64320 ............. 5.24%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=32 chunk=16 n=2500000: ./node: 792560 ./node-master: 376330 ...... 110.60%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=32 chunk=64 n=2500000: ./node: 2776000 ./node-master: 1388800 ..... 99.88%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=32 chunk=256 n=2500000: ./node: 2552900 ./node-master: 1250700 ... 104.12%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=32 chunk=1024 n=2500000: ./node: 2791300 ./node-master: 1263100 .. 120.99%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=128 chunk=16 n=2500000: ./node: 242150 ./node-master: 100900 ..... 139.99%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=128 chunk=64 n=2500000: ./node: 731910 ./node-master: 308100 ..... 137.56%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=128 chunk=256 n=2500000: ./node: 1880800 ./node-master: 1005100 ... 87.14%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=128 chunk=1024 n=2500000: ./node: 2031900 ./node-master: 1067100 .. 90.41%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=1024 chunk=16 n=2500000: ./node: 28221 ./node-master: 13268 ...... 112.70%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=1024 chunk=64 n=2500000: ./node: 110520 ./node-master: 48485 ..... 127.95%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=1024 chunk=256 n=2500000: ./node: 281630 ./node-master: 155010 .... 81.69%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=1024 chunk=1024 n=2500000: ./node: 509790 ./node-master: 329090 ... 54.91%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=4096 chunk=16 n=2500000: ./node: 7454.5 ./node-master: 3540.4 .... 110.56%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=4096 chunk=64 n=2500000: ./node: 24644 ./node-master: 12107 ...... 103.56%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=4096 chunk=256 n=2500000: ./node: 74954 ./node-master: 40305 ...... 85.97%\r\nstring_decoder/string-decoder.js encoding=base64-utf8 inlen=4096 chunk=1024 n=2500000: ./node: 125180 ./node-master: 92216 .... 35.75%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=32 chunk=16 n=2500000: ./node: 985010 ./node-master: 451520 ..... 118.15%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=32 chunk=64 n=2500000: ./node: 2830500 ./node-master: 1421600 .... 99.10%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=32 chunk=256 n=2500000: ./node: 2853400 ./node-master: 1380000 .. 106.77%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=32 chunk=1024 n=2500000: ./node: 2389400 ./node-master: 1483300 .. 61.08%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=128 chunk=16 n=2500000: ./node: 268370 ./node-master: 126350 .... 112.40%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=128 chunk=64 n=2500000: ./node: 756360 ./node-master: 448280 ..... 68.73%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=128 chunk=256 n=2500000: ./node: 2099500 ./node-master: 1075000 .. 95.29%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=128 chunk=1024 n=2500000: ./node: 1978000 ./node-master: 1120100 . 76.59%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=1024 chunk=16 n=2500000: ./node: 30721 ./node-master: 14321 ..... 114.52%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=1024 chunk=64 n=2500000: ./node: 132060 ./node-master: 64124 .... 105.94%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=1024 chunk=256 n=2500000: ./node: 324520 ./node-master: 185200 ... 75.23%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=1024 chunk=1024 n=2500000: ./node: 581660 ./node-master: 425450 .. 36.71%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=4096 chunk=16 n=2500000: ./node: 9096.6 ./node-master: 3610.9 ... 151.92%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=4096 chunk=64 n=2500000: ./node: 30843 ./node-master: 14610 ..... 111.11%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=4096 chunk=256 n=2500000: ./node: 90907 ./node-master: 46596 ..... 95.10%\r\nstring_decoder/string-decoder.js encoding=base64-ascii inlen=4096 chunk=1024 n=2500000: ./node: 150890 ./node-master: 98642 ... 52.97%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=32 chunk=16 n=2500000: ./node: 3743100 ./node-master: 2683600 ......... 39.48%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=32 chunk=64 n=2500000: ./node: 6516300 ./node-master: 4930200 ......... 32.17%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=32 chunk=256 n=2500000: ./node: 6235800 ./node-master: 5263600 ........ 18.47%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=32 chunk=1024 n=2500000: ./node: 6349900 ./node-master: 4837100 ....... 31.28%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=128 chunk=16 n=2500000: ./node: 973190 ./node-master: 777490 .......... 25.17%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=128 chunk=64 n=2500000: ./node: 3124800 ./node-master: 2180500 ........ 43.31%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=128 chunk=256 n=2500000: ./node: 4903100 ./node-master: 3918900 ....... 25.11%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=128 chunk=1024 n=2500000: ./node: 4909800 ./node-master: 3802800 ...... 29.11%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=1024 chunk=16 n=2500000: ./node: 131990 ./node-master: 95528 .......... 38.17%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=1024 chunk=64 n=2500000: ./node: 401520 ./node-master: 323660 ......... 24.05%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=1024 chunk=256 n=2500000: ./node: 964750 ./node-master: 824650 ........ 16.99%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=1024 chunk=1024 n=2500000: ./node: 1424400 ./node-master: 1378400 ...... 3.33%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=4096 chunk=16 n=2500000: ./node: 33139 ./node-master: 24806 ........... 33.59%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=4096 chunk=64 n=2500000: ./node: 101440 ./node-master: 77741 .......... 30.48%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=4096 chunk=256 n=2500000: ./node: 242900 ./node-master: 203300 ........ 19.48%\r\nstring_decoder/string-decoder.js encoding=utf16le inlen=4096 chunk=1024 n=2500000: ./node: 358530 ./node-master: 336270 ........ 6.62%\r\n\r\n\r\nstring_decoder/string-decoder-create.js encoding=ascii n=25000000: ./node: 17123000 ./node-master: 7115100 .. 140.66%\r\nstring_decoder/string-decoder-create.js encoding=utf8 n=25000000: ./node: 3912500 ./node-master: 2699900 ..... 44.91%\r\nstring_decoder/string-decoder-create.js encoding=utf-8 n=25000000: ./node: 3843400 ./node-master: 2118000 .... 81.46%\r\nstring_decoder/string-decoder-create.js encoding=base64 n=25000000: ./node: 3112700 ./node-master: 2427900 ... 28.21%\r\nstring_decoder/string-decoder-create.js encoding=ucs2 n=25000000: ./node: 3626400 ./node-master: 2487700 ..... 45.77%\r\nstring_decoder/string-decoder-create.js encoding=UTF-8 n=25000000: ./node: 2867000 ./node-master: 1915200 .... 49.70%\r\nstring_decoder/string-decoder-create.js encoding=AscII n=25000000: ./node: 7559200 ./node-master: 4634900 .... 63.09%\r\nstring_decoder/string-decoder-create.js encoding=UTF-16LE n=25000000: ./node: 2690700 ./node-master: 1747700 . 53.96%\r\n```","created_at":"2016-05-15T19:44:58Z","updated_at":"2016-05-15T20:49:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3a146481b8949a11ac8569a58e9f5cdda8d05e22","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/nodejs/node/pulls/6777/commits","review_comments_url":"https://api.github.com/repos/nodejs/node/pulls/6777/comments","review_comment_url":"https://api.github.com/repos/nodejs/node/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nodejs/node/issues/6777/comments","statuses_url":"https://api.github.com/repos/nodejs/node/statuses/e03453918cb9785725dfaff16cbb3902948f0658","head":{"label":"mscdex:stringdecoder-rewrite","ref":"stringdecoder-rewrite","sha":"e03453918cb9785725dfaff16cbb3902948f0658","user":{"login":"mscdex","id":54666,"avatar_url":"https://avatars.githubusercontent.com/u/54666?v=3","gravatar_id":"","url":"https://api.github.com/users/mscdex","html_url":"https://github.com/mscdex","followers_url":"https://api.github.com/users/mscdex/followers","following_url":"https://api.github.com/users/mscdex/following{/other_user}","gists_url":"https://api.github.com/users/mscdex/gists{/gist_id}","starred_url":"https://api.github.com/users/mscdex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mscdex/subscriptions","organizations_url":"https://api.github.com/users/mscdex/orgs","repos_url":"https://api.github.com/users/mscdex/repos","events_url":"https://api.github.com/users/mscdex/events{/privacy}","received_events_url":"https://api.github.com/users/mscdex/received_events","type":"User","site_admin":false},"repo":{"id":29220048,"name":"io.js","full_name":"mscdex/io.js","owner":{"login":"mscdex","id":54666,"avatar_url":"https://avatars.githubusercontent.com/u/54666?v=3","gravatar_id":"","url":"https://api.github.com/users/mscdex","html_url":"https://github.com/mscdex","followers_url":"https://api.github.com/users/mscdex/followers","following_url":"https://api.github.com/users/mscdex/following{/other_user}","gists_url":"https://api.github.com/users/mscdex/gists{/gist_id}","starred_url":"https://api.github.com/users/mscdex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mscdex/subscriptions","organizations_url":"https://api.github.com/users/mscdex/orgs","repos_url":"https://api.github.com/users/mscdex/repos","events_url":"https://api.github.com/users/mscdex/events{/privacy}","received_events_url":"https://api.github.com/users/mscdex/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mscdex/io.js","description":"A spork of Node.js with an open governance model","fork":true,"url":"https://api.github.com/repos/mscdex/io.js","forks_url":"https://api.github.com/repos/mscdex/io.js/forks","keys_url":"https://api.github.com/repos/mscdex/io.js/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mscdex/io.js/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mscdex/io.js/teams","hooks_url":"https://api.github.com/repos/mscdex/io.js/hooks","issue_events_url":"https://api.github.com/repos/mscdex/io.js/issues/events{/number}","events_url":"https://api.github.com/repos/mscdex/io.js/events","assignees_url":"https://api.github.com/repos/mscdex/io.js/assignees{/user}","branches_url":"https://api.github.com/repos/mscdex/io.js/branches{/branch}","tags_url":"https://api.github.com/repos/mscdex/io.js/tags","blobs_url":"https://api.github.com/repos/mscdex/io.js/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mscdex/io.js/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mscdex/io.js/git/refs{/sha}","trees_url":"https://api.github.com/repos/mscdex/io.js/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mscdex/io.js/statuses/{sha}","languages_url":"https://api.github.com/repos/mscdex/io.js/languages","stargazers_url":"https://api.github.com/repos/mscdex/io.js/stargazers","contributors_url":"https://api.github.com/repos/mscdex/io.js/contributors","subscribers_url":"https://api.github.com/repos/mscdex/io.js/subscribers","subscription_url":"https://api.github.com/repos/mscdex/io.js/subscription","commits_url":"https://api.github.com/repos/mscdex/io.js/commits{/sha}","git_commits_url":"https://api.github.com/repos/mscdex/io.js/git/commits{/sha}","comments_url":"https://api.github.com/repos/mscdex/io.js/comments{/number}","issue_comment_url":"https://api.github.com/repos/mscdex/io.js/issues/comments{/number}","contents_url":"https://api.github.com/repos/mscdex/io.js/contents/{+path}","compare_url":"https://api.github.com/repos/mscdex/io.js/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mscdex/io.js/merges","archive_url":"https://api.github.com/repos/mscdex/io.js/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mscdex/io.js/downloads","issues_url":"https://api.github.com/repos/mscdex/io.js/issues{/number}","pulls_url":"https://api.github.com/repos/mscdex/io.js/pulls{/number}","milestones_url":"https://api.github.com/repos/mscdex/io.js/milestones{/number}","notifications_url":"https://api.github.com/repos/mscdex/io.js/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mscdex/io.js/labels{/name}","releases_url":"https://api.github.com/repos/mscdex/io.js/releases{/id}","deployments_url":"https://api.github.com/repos/mscdex/io.js/deployments","created_at":"2015-01-14T01:01:23Z","updated_at":"2016-04-29T10:58:15Z","pushed_at":"2016-05-15T19:44:43Z","git_url":"git://github.com/mscdex/io.js.git","ssh_url":"git@github.com:mscdex/io.js.git","clone_url":"https://github.com/mscdex/io.js.git","svn_url":"https://github.com/mscdex/io.js","homepage":"","size":192493,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","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":1,"default_branch":"js-dns-resolver"}},"base":{"label":"nodejs:master","ref":"master","sha":"32b46d91a7677837eded79c0adcd4a31f1be9357","user":{"login":"nodejs","id":9950313,"avatar_url":"https://avatars.githubusercontent.com/u/9950313?v=3","gravatar_id":"","url":"https://api.github.com/users/nodejs","html_url":"https://github.com/nodejs","followers_url":"https://api.github.com/users/nodejs/followers","following_url":"https://api.github.com/users/nodejs/following{/other_user}","gists_url":"https://api.github.com/users/nodejs/gists{/gist_id}","starred_url":"https://api.github.com/users/nodejs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nodejs/subscriptions","organizations_url":"https://api.github.com/users/nodejs/orgs","repos_url":"https://api.github.com/users/nodejs/repos","events_url":"https://api.github.com/users/nodejs/events{/privacy}","received_events_url":"https://api.github.com/users/nodejs/received_events","type":"Organization","site_admin":false},"repo":{"id":27193779,"name":"node","full_name":"nodejs/node","owner":{"login":"nodejs","id":9950313,"avatar_url":"https://avatars.githubusercontent.com/u/9950313?v=3","gravatar_id":"","url":"https://api.github.com/users/nodejs","html_url":"https://github.com/nodejs","followers_url":"https://api.github.com/users/nodejs/followers","following_url":"https://api.github.com/users/nodejs/following{/other_user}","gists_url":"https://api.github.com/users/nodejs/gists{/gist_id}","starred_url":"https://api.github.com/users/nodejs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nodejs/subscriptions","organizations_url":"https://api.github.com/users/nodejs/orgs","repos_url":"https://api.github.com/users/nodejs/repos","events_url":"https://api.github.com/users/nodejs/events{/privacy}","received_events_url":"https://api.github.com/users/nodejs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/nodejs/node","description":"Node.js JavaScript runtime :sparkles::turtle::rocket::sparkles:","fork":false,"url":"https://api.github.com/repos/nodejs/node","forks_url":"https://api.github.com/repos/nodejs/node/forks","keys_url":"https://api.github.com/repos/nodejs/node/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nodejs/node/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nodejs/node/teams","hooks_url":"https://api.github.com/repos/nodejs/node/hooks","issue_events_url":"https://api.github.com/repos/nodejs/node/issues/events{/number}","events_url":"https://api.github.com/repos/nodejs/node/events","assignees_url":"https://api.github.com/repos/nodejs/node/assignees{/user}","branches_url":"https://api.github.com/repos/nodejs/node/branches{/branch}","tags_url":"https://api.github.com/repos/nodejs/node/tags","blobs_url":"https://api.github.com/repos/nodejs/node/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nodejs/node/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nodejs/node/git/refs{/sha}","trees_url":"https://api.github.com/repos/nodejs/node/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nodejs/node/statuses/{sha}","languages_url":"https://api.github.com/repos/nodejs/node/languages","stargazers_url":"https://api.github.com/repos/nodejs/node/stargazers","contributors_url":"https://api.github.com/repos/nodejs/node/contributors","subscribers_url":"https://api.github.com/repos/nodejs/node/subscribers","subscription_url":"https://api.github.com/repos/nodejs/node/subscription","commits_url":"https://api.github.com/repos/nodejs/node/commits{/sha}","git_commits_url":"https://api.github.com/repos/nodejs/node/git/commits{/sha}","comments_url":"https://api.github.com/repos/nodejs/node/comments{/number}","issue_comment_url":"https://api.github.com/repos/nodejs/node/issues/comments{/number}","contents_url":"https://api.github.com/repos/nodejs/node/contents/{+path}","compare_url":"https://api.github.com/repos/nodejs/node/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nodejs/node/merges","archive_url":"https://api.github.com/repos/nodejs/node/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nodejs/node/downloads","issues_url":"https://api.github.com/repos/nodejs/node/issues{/number}","pulls_url":"https://api.github.com/repos/nodejs/node/pulls{/number}","milestones_url":"https://api.github.com/repos/nodejs/node/milestones{/number}","notifications_url":"https://api.github.com/repos/nodejs/node/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nodejs/node/labels{/name}","releases_url":"https://api.github.com/repos/nodejs/node/releases{/id}","deployments_url":"https://api.github.com/repos/nodejs/node/deployments","created_at":"2014-11-26T19:57:11Z","updated_at":"2016-05-15T19:54:19Z","pushed_at":"2016-05-15T19:44:59Z","git_url":"git://github.com/nodejs/node.git","ssh_url":"git@github.com:nodejs/node.git","clone_url":"https://github.com/nodejs/node.git","svn_url":"https://github.com/nodejs/node","homepage":"https://nodejs.org","size":264685,"stargazers_count":23184,"watchers_count":23184,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3282,"mirror_url":null,"open_issues_count":668,"forks":3282,"open_issues":668,"watchers":23184,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nodejs/node/pulls/6777"},"html":{"href":"https://github.com/nodejs/node/pull/6777"},"issue":{"href":"https://api.github.com/repos/nodejs/node/issues/6777"},"comments":{"href":"https://api.github.com/repos/nodejs/node/issues/6777/comments"},"review_comments":{"href":"https://api.github.com/repos/nodejs/node/pulls/6777/comments"},"review_comment":{"href":"https://api.github.com/repos/nodejs/node/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nodejs/node/pulls/6777/commits"},"statuses":{"href":"https://api.github.com/repos/nodejs/node/statuses/e03453918cb9785725dfaff16cbb3902948f0658"}}}}