{"action":"created","comment":{"url":"https://api.github.com/repos/vuejs/vue/pulls/comments/113894735","pull_request_review_id":35320901,"id":113894735,"diff_hunk":"@@ -21,6 +21,7 @@ export function createFunctionalComponent (\n   const props = {}\n   const propOptions = Ctor.options.props\n   if (isDef(propOptions)) {\n+    propsData = propsData || {}","path":"src/core/vdom/create-functional-component.js","position":4,"original_position":4,"commit_id":"58dabcb76ad7c7ca5ddfbbd6b0a2b33d2ebbd4e9","original_commit_id":"58dabcb76ad7c7ca5ddfbbd6b0a2b33d2ebbd4e9","user":{"login":"HerringtonDarkholme","id":2883231,"avatar_url":"https://avatars1.githubusercontent.com/u/2883231?v=3","gravatar_id":"","url":"https://api.github.com/users/HerringtonDarkholme","html_url":"https://github.com/HerringtonDarkholme","followers_url":"https://api.github.com/users/HerringtonDarkholme/followers","following_url":"https://api.github.com/users/HerringtonDarkholme/following{/other_user}","gists_url":"https://api.github.com/users/HerringtonDarkholme/gists{/gist_id}","starred_url":"https://api.github.com/users/HerringtonDarkholme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HerringtonDarkholme/subscriptions","organizations_url":"https://api.github.com/users/HerringtonDarkholme/orgs","repos_url":"https://api.github.com/users/HerringtonDarkholme/repos","events_url":"https://api.github.com/users/HerringtonDarkholme/events{/privacy}","received_events_url":"https://api.github.com/users/HerringtonDarkholme/received_events","type":"User","site_admin":false},"body":"This is needed because propsData is possibly null.","created_at":"2017-04-28T10:00:42Z","updated_at":"2017-04-28T10:03:52Z","html_url":"https://github.com/vuejs/vue/pull/5549#discussion_r113894735","pull_request_url":"https://api.github.com/repos/vuejs/vue/pulls/5549","_links":{"self":{"href":"https://api.github.com/repos/vuejs/vue/pulls/comments/113894735"},"html":{"href":"https://github.com/vuejs/vue/pull/5549#discussion_r113894735"},"pull_request":{"href":"https://api.github.com/repos/vuejs/vue/pulls/5549"}}},"pull_request":{"url":"https://api.github.com/repos/vuejs/vue/pulls/5549","id":118118825,"html_url":"https://github.com/vuejs/vue/pull/5549","diff_url":"https://github.com/vuejs/vue/pull/5549.diff","patch_url":"https://github.com/vuejs/vue/pull/5549.patch","issue_url":"https://api.github.com/repos/vuejs/vue/issues/5549","number":5549,"state":"open","locked":false,"title":"fix #5539: improve `isDef` type definition","user":{"login":"HerringtonDarkholme","id":2883231,"avatar_url":"https://avatars1.githubusercontent.com/u/2883231?v=3","gravatar_id":"","url":"https://api.github.com/users/HerringtonDarkholme","html_url":"https://github.com/HerringtonDarkholme","followers_url":"https://api.github.com/users/HerringtonDarkholme/followers","following_url":"https://api.github.com/users/HerringtonDarkholme/following{/other_user}","gists_url":"https://api.github.com/users/HerringtonDarkholme/gists{/gist_id}","starred_url":"https://api.github.com/users/HerringtonDarkholme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HerringtonDarkholme/subscriptions","organizations_url":"https://api.github.com/users/HerringtonDarkholme/orgs","repos_url":"https://api.github.com/users/HerringtonDarkholme/repos","events_url":"https://api.github.com/users/HerringtonDarkholme/events{/privacy}","received_events_url":"https://api.github.com/users/HerringtonDarkholme/received_events","type":"User","site_admin":false},"body":"**What kind of change does this PR introduce?** (check at least one)\r\n- [x] Other, please describe:\r\n  improve flow type coverage to make `isDef` narrow nullable value to no-null value.\r\n\r\n**Does this PR introduce a breaking change?** (check one)\r\n\r\n- [ ] Yes\r\n- [x] No\r\n\r\nIf yes, please describe the impact and migration path for existing applications:\r\n\r\n**The PR fulfills these requirements:**\r\n\r\n- [x] It's submitted to the `dev` branch for v2.x (or to a previous version branch), _not_ the `master` branch\r\n- [x] When resolving a specific issue, it's referenced in the PR's title (e.g. `fix #xxx[,#xxx]`, where \"xxx\" is the issue number)\r\n- [x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup\r\n- [ ] New/updated tests are included: no new test needed.\r\n\r\n**Other information:**\r\n\r\nCurrently `isDef` cannot narrow nullable value, as tracked in https://github.com/facebook/flow/issues/34. Howerver, we can use a special `%checks` comment to instruct flow inline the function. \r\n\r\nTo make this happen, we need first to type check `utl/index.js`. So some type definition changes are required. I have tried my best to keep changes constrained to type level. But still some changes influence runtime.","created_at":"2017-04-28T09:58:35Z","updated_at":"2017-04-28T10:03:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0d8eacc07d6870a835031428d14b26a00a68d5be","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/vuejs/vue/pulls/5549/commits","review_comments_url":"https://api.github.com/repos/vuejs/vue/pulls/5549/comments","review_comment_url":"https://api.github.com/repos/vuejs/vue/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vuejs/vue/issues/5549/comments","statuses_url":"https://api.github.com/repos/vuejs/vue/statuses/58dabcb76ad7c7ca5ddfbbd6b0a2b33d2ebbd4e9","head":{"label":"HerringtonDarkholme:flow-type","ref":"flow-type","sha":"58dabcb76ad7c7ca5ddfbbd6b0a2b33d2ebbd4e9","user":{"login":"HerringtonDarkholme","id":2883231,"avatar_url":"https://avatars1.githubusercontent.com/u/2883231?v=3","gravatar_id":"","url":"https://api.github.com/users/HerringtonDarkholme","html_url":"https://github.com/HerringtonDarkholme","followers_url":"https://api.github.com/users/HerringtonDarkholme/followers","following_url":"https://api.github.com/users/HerringtonDarkholme/following{/other_user}","gists_url":"https://api.github.com/users/HerringtonDarkholme/gists{/gist_id}","starred_url":"https://api.github.com/users/HerringtonDarkholme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HerringtonDarkholme/subscriptions","organizations_url":"https://api.github.com/users/HerringtonDarkholme/orgs","repos_url":"https://api.github.com/users/HerringtonDarkholme/repos","events_url":"https://api.github.com/users/HerringtonDarkholme/events{/privacy}","received_events_url":"https://api.github.com/users/HerringtonDarkholme/received_events","type":"User","site_admin":false},"repo":{"id":71264070,"name":"vue","full_name":"HerringtonDarkholme/vue","owner":{"login":"HerringtonDarkholme","id":2883231,"avatar_url":"https://avatars1.githubusercontent.com/u/2883231?v=3","gravatar_id":"","url":"https://api.github.com/users/HerringtonDarkholme","html_url":"https://github.com/HerringtonDarkholme","followers_url":"https://api.github.com/users/HerringtonDarkholme/followers","following_url":"https://api.github.com/users/HerringtonDarkholme/following{/other_user}","gists_url":"https://api.github.com/users/HerringtonDarkholme/gists{/gist_id}","starred_url":"https://api.github.com/users/HerringtonDarkholme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HerringtonDarkholme/subscriptions","organizations_url":"https://api.github.com/users/HerringtonDarkholme/orgs","repos_url":"https://api.github.com/users/HerringtonDarkholme/repos","events_url":"https://api.github.com/users/HerringtonDarkholme/events{/privacy}","received_events_url":"https://api.github.com/users/HerringtonDarkholme/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/HerringtonDarkholme/vue","description":"Simple yet powerful library for building modern web interfaces.","fork":true,"url":"https://api.github.com/repos/HerringtonDarkholme/vue","forks_url":"https://api.github.com/repos/HerringtonDarkholme/vue/forks","keys_url":"https://api.github.com/repos/HerringtonDarkholme/vue/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HerringtonDarkholme/vue/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HerringtonDarkholme/vue/teams","hooks_url":"https://api.github.com/repos/HerringtonDarkholme/vue/hooks","issue_events_url":"https://api.github.com/repos/HerringtonDarkholme/vue/issues/events{/number}","events_url":"https://api.github.com/repos/HerringtonDarkholme/vue/events","assignees_url":"https://api.github.com/repos/HerringtonDarkholme/vue/assignees{/user}","branches_url":"https://api.github.com/repos/HerringtonDarkholme/vue/branches{/branch}","tags_url":"https://api.github.com/repos/HerringtonDarkholme/vue/tags","blobs_url":"https://api.github.com/repos/HerringtonDarkholme/vue/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HerringtonDarkholme/vue/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HerringtonDarkholme/vue/git/refs{/sha}","trees_url":"https://api.github.com/repos/HerringtonDarkholme/vue/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HerringtonDarkholme/vue/statuses/{sha}","languages_url":"https://api.github.com/repos/HerringtonDarkholme/vue/languages","stargazers_url":"https://api.github.com/repos/HerringtonDarkholme/vue/stargazers","contributors_url":"https://api.github.com/repos/HerringtonDarkholme/vue/contributors","subscribers_url":"https://api.github.com/repos/HerringtonDarkholme/vue/subscribers","subscription_url":"https://api.github.com/repos/HerringtonDarkholme/vue/subscription","commits_url":"https://api.github.com/repos/HerringtonDarkholme/vue/commits{/sha}","git_commits_url":"https://api.github.com/repos/HerringtonDarkholme/vue/git/commits{/sha}","comments_url":"https://api.github.com/repos/HerringtonDarkholme/vue/comments{/number}","issue_comment_url":"https://api.github.com/repos/HerringtonDarkholme/vue/issues/comments{/number}","contents_url":"https://api.github.com/repos/HerringtonDarkholme/vue/contents/{+path}","compare_url":"https://api.github.com/repos/HerringtonDarkholme/vue/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HerringtonDarkholme/vue/merges","archive_url":"https://api.github.com/repos/HerringtonDarkholme/vue/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HerringtonDarkholme/vue/downloads","issues_url":"https://api.github.com/repos/HerringtonDarkholme/vue/issues{/number}","pulls_url":"https://api.github.com/repos/HerringtonDarkholme/vue/pulls{/number}","milestones_url":"https://api.github.com/repos/HerringtonDarkholme/vue/milestones{/number}","notifications_url":"https://api.github.com/repos/HerringtonDarkholme/vue/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HerringtonDarkholme/vue/labels{/name}","releases_url":"https://api.github.com/repos/HerringtonDarkholme/vue/releases{/id}","deployments_url":"https://api.github.com/repos/HerringtonDarkholme/vue/deployments","created_at":"2016-10-18T15:41:28Z","updated_at":"2016-10-18T15:41:32Z","pushed_at":"2017-04-28T09:49:36Z","git_url":"git://github.com/HerringtonDarkholme/vue.git","ssh_url":"git@github.com:HerringtonDarkholme/vue.git","clone_url":"https://github.com/HerringtonDarkholme/vue.git","svn_url":"https://github.com/HerringtonDarkholme/vue","homepage":"http://vuejs.org","size":17938,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"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":"dev"}},"base":{"label":"vuejs:dev","ref":"dev","sha":"d6c070d54d59ea76e36063f5c5732ffe6246f339","user":{"login":"vuejs","id":6128107,"avatar_url":"https://avatars2.githubusercontent.com/u/6128107?v=3","gravatar_id":"","url":"https://api.github.com/users/vuejs","html_url":"https://github.com/vuejs","followers_url":"https://api.github.com/users/vuejs/followers","following_url":"https://api.github.com/users/vuejs/following{/other_user}","gists_url":"https://api.github.com/users/vuejs/gists{/gist_id}","starred_url":"https://api.github.com/users/vuejs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vuejs/subscriptions","organizations_url":"https://api.github.com/users/vuejs/orgs","repos_url":"https://api.github.com/users/vuejs/repos","events_url":"https://api.github.com/users/vuejs/events{/privacy}","received_events_url":"https://api.github.com/users/vuejs/received_events","type":"Organization","site_admin":false},"repo":{"id":11730342,"name":"vue","full_name":"vuejs/vue","owner":{"login":"vuejs","id":6128107,"avatar_url":"https://avatars2.githubusercontent.com/u/6128107?v=3","gravatar_id":"","url":"https://api.github.com/users/vuejs","html_url":"https://github.com/vuejs","followers_url":"https://api.github.com/users/vuejs/followers","following_url":"https://api.github.com/users/vuejs/following{/other_user}","gists_url":"https://api.github.com/users/vuejs/gists{/gist_id}","starred_url":"https://api.github.com/users/vuejs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vuejs/subscriptions","organizations_url":"https://api.github.com/users/vuejs/orgs","repos_url":"https://api.github.com/users/vuejs/repos","events_url":"https://api.github.com/users/vuejs/events{/privacy}","received_events_url":"https://api.github.com/users/vuejs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vuejs/vue","description":"A progressive, incrementally-adoptable JavaScript framework for building UI on the web.","fork":false,"url":"https://api.github.com/repos/vuejs/vue","forks_url":"https://api.github.com/repos/vuejs/vue/forks","keys_url":"https://api.github.com/repos/vuejs/vue/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vuejs/vue/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vuejs/vue/teams","hooks_url":"https://api.github.com/repos/vuejs/vue/hooks","issue_events_url":"https://api.github.com/repos/vuejs/vue/issues/events{/number}","events_url":"https://api.github.com/repos/vuejs/vue/events","assignees_url":"https://api.github.com/repos/vuejs/vue/assignees{/user}","branches_url":"https://api.github.com/repos/vuejs/vue/branches{/branch}","tags_url":"https://api.github.com/repos/vuejs/vue/tags","blobs_url":"https://api.github.com/repos/vuejs/vue/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vuejs/vue/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vuejs/vue/git/refs{/sha}","trees_url":"https://api.github.com/repos/vuejs/vue/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vuejs/vue/statuses/{sha}","languages_url":"https://api.github.com/repos/vuejs/vue/languages","stargazers_url":"https://api.github.com/repos/vuejs/vue/stargazers","contributors_url":"https://api.github.com/repos/vuejs/vue/contributors","subscribers_url":"https://api.github.com/repos/vuejs/vue/subscribers","subscription_url":"https://api.github.com/repos/vuejs/vue/subscription","commits_url":"https://api.github.com/repos/vuejs/vue/commits{/sha}","git_commits_url":"https://api.github.com/repos/vuejs/vue/git/commits{/sha}","comments_url":"https://api.github.com/repos/vuejs/vue/comments{/number}","issue_comment_url":"https://api.github.com/repos/vuejs/vue/issues/comments{/number}","contents_url":"https://api.github.com/repos/vuejs/vue/contents/{+path}","compare_url":"https://api.github.com/repos/vuejs/vue/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vuejs/vue/merges","archive_url":"https://api.github.com/repos/vuejs/vue/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vuejs/vue/downloads","issues_url":"https://api.github.com/repos/vuejs/vue/issues{/number}","pulls_url":"https://api.github.com/repos/vuejs/vue/pulls{/number}","milestones_url":"https://api.github.com/repos/vuejs/vue/milestones{/number}","notifications_url":"https://api.github.com/repos/vuejs/vue/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vuejs/vue/labels{/name}","releases_url":"https://api.github.com/repos/vuejs/vue/releases{/id}","deployments_url":"https://api.github.com/repos/vuejs/vue/deployments","created_at":"2013-07-29T03:24:51Z","updated_at":"2017-04-28T10:03:38Z","pushed_at":"2017-04-28T09:58:36Z","git_url":"git://github.com/vuejs/vue.git","ssh_url":"git@github.com:vuejs/vue.git","clone_url":"https://github.com/vuejs/vue.git","svn_url":"https://github.com/vuejs/vue","homepage":"http://vuejs.org","size":18399,"stargazers_count":51744,"watchers_count":51744,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6922,"mirror_url":null,"open_issues_count":74,"forks":6922,"open_issues":74,"watchers":51744,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/vuejs/vue/pulls/5549"},"html":{"href":"https://github.com/vuejs/vue/pull/5549"},"issue":{"href":"https://api.github.com/repos/vuejs/vue/issues/5549"},"comments":{"href":"https://api.github.com/repos/vuejs/vue/issues/5549/comments"},"review_comments":{"href":"https://api.github.com/repos/vuejs/vue/pulls/5549/comments"},"review_comment":{"href":"https://api.github.com/repos/vuejs/vue/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vuejs/vue/pulls/5549/commits"},"statuses":{"href":"https://api.github.com/repos/vuejs/vue/statuses/58dabcb76ad7c7ca5ddfbbd6b0a2b33d2ebbd4e9"}}}}
{"actor":{"display_login":"HerringtonDarkholme"}}