{"action":"created","comment":{"url":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/comments/77081251","id":77081251,"diff_hunk":"@@ -4,8 +4,12 @@ const equalsProp = (propValue, propName) => e => typeSafeEq(_.get(e, propName),\n const nullFn = x => null\n \n export const get = (collection, id, prop='id') => allPresent(collection, id) ? collection.find(equalsProp(id, prop)) : null\n+export const gget = (collection, id, searchProp, getProp) => _.get(get(collection, id, searchProp), getProp)","path":"src/lib/engine/collections.js","position":4,"original_position":4,"commit_id":"b897fb63c0aab4b88a13f6b50cb6a2cbd4349b02","original_commit_id":"b897fb63c0aab4b88a13f6b50cb6a2cbd4349b02","user":{"login":"mmcdermott","id":470751,"avatar_url":"https://avatars.githubusercontent.com/u/470751?v=3","gravatar_id":"","url":"https://api.github.com/users/mmcdermott","html_url":"https://github.com/mmcdermott","followers_url":"https://api.github.com/users/mmcdermott/followers","following_url":"https://api.github.com/users/mmcdermott/following{/other_user}","gists_url":"https://api.github.com/users/mmcdermott/gists{/gist_id}","starred_url":"https://api.github.com/users/mmcdermott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmcdermott/subscriptions","organizations_url":"https://api.github.com/users/mmcdermott/orgs","repos_url":"https://api.github.com/users/mmcdermott/repos","events_url":"https://api.github.com/users/mmcdermott/events{/privacy}","received_events_url":"https://api.github.com/users/mmcdermott/received_events","type":"User","site_admin":false},"body":"get from the result of a get. \r\n\r\nSo, the way I read is, if you call:\r\n```_collections.gget(metrics, 3, 'id', 'readableId')```\r\nthen that means \"Get the property 'readableId' from the metric with 'id' '3' within the collection 'metrics'\"","created_at":"2016-08-31T21:56:25Z","updated_at":"2016-08-31T21:56:25Z","html_url":"https://github.com/getguesstimate/guesstimate-app/pull/798#discussion_r77081251","pull_request_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/798","_links":{"self":{"href":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/comments/77081251"},"html":{"href":"https://github.com/getguesstimate/guesstimate-app/pull/798#discussion_r77081251"},"pull_request":{"href":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/798"}}},"pull_request":{"url":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/798","id":83524455,"html_url":"https://github.com/getguesstimate/guesstimate-app/pull/798","diff_url":"https://github.com/getguesstimate/guesstimate-app/pull/798.diff","patch_url":"https://github.com/getguesstimate/guesstimate-app/pull/798.patch","issue_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/issues/798","number":798,"state":"open","locked":false,"title":"Graph propagation lib refactor.","user":{"login":"mmcdermott","id":470751,"avatar_url":"https://avatars.githubusercontent.com/u/470751?v=3","gravatar_id":"","url":"https://api.github.com/users/mmcdermott","html_url":"https://github.com/mmcdermott","followers_url":"https://api.github.com/users/mmcdermott/followers","following_url":"https://api.github.com/users/mmcdermott/following{/other_user}","gists_url":"https://api.github.com/users/mmcdermott/gists{/gist_id}","starred_url":"https://api.github.com/users/mmcdermott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmcdermott/subscriptions","organizations_url":"https://api.github.com/users/mmcdermott/orgs","repos_url":"https://api.github.com/users/mmcdermott/repos","events_url":"https://api.github.com/users/mmcdermott/events{/privacy}","received_events_url":"https://api.github.com/users/mmcdermott/received_events","type":"User","site_admin":false},"body":"This refactors the graph propagation library in preparation for writable facts.\r\nFuture work along this thread includes:\r\n  * Unifying error typespace & improving internal error API.\r\n  * Not making 'fake metrics' for facts, and instead adding them as simulation nodes directly.\r\n  * incorporating the Guesstimator library directly into the simulation node library.\r\n  * Additional improvements to the recorder's interactions with this library (e.g. better isolation).\r\n  * Revise guesstimate's usage API (e.g. `graphFilters`) to better mesh with new API and reduce wrapper complexity.\r\n\r\nThis PR is deployed to matthew.getguesstimate.com, and should be smoke tested extensively.","created_at":"2016-08-31T20:36:31Z","updated_at":"2016-08-31T21:56:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2807b745b1888e18717f37bdbc781d66b3533899","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/798/commits","review_comments_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/798/comments","review_comment_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/comments{/number}","comments_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/issues/798/comments","statuses_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/statuses/b897fb63c0aab4b88a13f6b50cb6a2cbd4349b02","head":{"label":"getguesstimate:graph-propagation-lib-refactor","ref":"graph-propagation-lib-refactor","sha":"b897fb63c0aab4b88a13f6b50cb6a2cbd4349b02","user":{"login":"getguesstimate","id":13894028,"avatar_url":"https://avatars.githubusercontent.com/u/13894028?v=3","gravatar_id":"","url":"https://api.github.com/users/getguesstimate","html_url":"https://github.com/getguesstimate","followers_url":"https://api.github.com/users/getguesstimate/followers","following_url":"https://api.github.com/users/getguesstimate/following{/other_user}","gists_url":"https://api.github.com/users/getguesstimate/gists{/gist_id}","starred_url":"https://api.github.com/users/getguesstimate/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/getguesstimate/subscriptions","organizations_url":"https://api.github.com/users/getguesstimate/orgs","repos_url":"https://api.github.com/users/getguesstimate/repos","events_url":"https://api.github.com/users/getguesstimate/events{/privacy}","received_events_url":"https://api.github.com/users/getguesstimate/received_events","type":"Organization","site_admin":false},"repo":{"id":41168144,"name":"guesstimate-app","full_name":"getguesstimate/guesstimate-app","owner":{"login":"getguesstimate","id":13894028,"avatar_url":"https://avatars.githubusercontent.com/u/13894028?v=3","gravatar_id":"","url":"https://api.github.com/users/getguesstimate","html_url":"https://github.com/getguesstimate","followers_url":"https://api.github.com/users/getguesstimate/followers","following_url":"https://api.github.com/users/getguesstimate/following{/other_user}","gists_url":"https://api.github.com/users/getguesstimate/gists{/gist_id}","starred_url":"https://api.github.com/users/getguesstimate/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/getguesstimate/subscriptions","organizations_url":"https://api.github.com/users/getguesstimate/orgs","repos_url":"https://api.github.com/users/getguesstimate/repos","events_url":"https://api.github.com/users/getguesstimate/events{/privacy}","received_events_url":"https://api.github.com/users/getguesstimate/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/getguesstimate/guesstimate-app","description":"Create Fermi Estimates and Perform Monte Carlo Estimates","fork":false,"url":"https://api.github.com/repos/getguesstimate/guesstimate-app","forks_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/forks","keys_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/keys{/key_id}","collaborators_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/teams","hooks_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/hooks","issue_events_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/issues/events{/number}","events_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/events","assignees_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/assignees{/user}","branches_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/branches{/branch}","tags_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/tags","blobs_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/git/refs{/sha}","trees_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/git/trees{/sha}","statuses_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/statuses/{sha}","languages_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/languages","stargazers_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/stargazers","contributors_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/contributors","subscribers_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/subscribers","subscription_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/subscription","commits_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/commits{/sha}","git_commits_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/git/commits{/sha}","comments_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/comments{/number}","issue_comment_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/issues/comments{/number}","contents_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/contents/{+path}","compare_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/compare/{base}...{head}","merges_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/merges","archive_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/downloads","issues_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/issues{/number}","pulls_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls{/number}","milestones_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/milestones{/number}","notifications_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/labels{/name}","releases_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/releases{/id}","deployments_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/deployments","created_at":"2015-08-21T17:19:43Z","updated_at":"2016-08-31T06:07:27Z","pushed_at":"2016-08-31T21:04:31Z","git_url":"git://github.com/getguesstimate/guesstimate-app.git","ssh_url":"git@github.com:getguesstimate/guesstimate-app.git","clone_url":"https://github.com/getguesstimate/guesstimate-app.git","svn_url":"https://github.com/getguesstimate/guesstimate-app","homepage":"http://getguesstimate.com/","size":7701,"stargazers_count":1659,"watchers_count":1659,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":82,"mirror_url":null,"open_issues_count":67,"forks":82,"open_issues":67,"watchers":1659,"default_branch":"master"}},"base":{"label":"getguesstimate:master","ref":"master","sha":"91bc267708055634c24d627d7aeee84da28e7bea","user":{"login":"getguesstimate","id":13894028,"avatar_url":"https://avatars.githubusercontent.com/u/13894028?v=3","gravatar_id":"","url":"https://api.github.com/users/getguesstimate","html_url":"https://github.com/getguesstimate","followers_url":"https://api.github.com/users/getguesstimate/followers","following_url":"https://api.github.com/users/getguesstimate/following{/other_user}","gists_url":"https://api.github.com/users/getguesstimate/gists{/gist_id}","starred_url":"https://api.github.com/users/getguesstimate/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/getguesstimate/subscriptions","organizations_url":"https://api.github.com/users/getguesstimate/orgs","repos_url":"https://api.github.com/users/getguesstimate/repos","events_url":"https://api.github.com/users/getguesstimate/events{/privacy}","received_events_url":"https://api.github.com/users/getguesstimate/received_events","type":"Organization","site_admin":false},"repo":{"id":41168144,"name":"guesstimate-app","full_name":"getguesstimate/guesstimate-app","owner":{"login":"getguesstimate","id":13894028,"avatar_url":"https://avatars.githubusercontent.com/u/13894028?v=3","gravatar_id":"","url":"https://api.github.com/users/getguesstimate","html_url":"https://github.com/getguesstimate","followers_url":"https://api.github.com/users/getguesstimate/followers","following_url":"https://api.github.com/users/getguesstimate/following{/other_user}","gists_url":"https://api.github.com/users/getguesstimate/gists{/gist_id}","starred_url":"https://api.github.com/users/getguesstimate/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/getguesstimate/subscriptions","organizations_url":"https://api.github.com/users/getguesstimate/orgs","repos_url":"https://api.github.com/users/getguesstimate/repos","events_url":"https://api.github.com/users/getguesstimate/events{/privacy}","received_events_url":"https://api.github.com/users/getguesstimate/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/getguesstimate/guesstimate-app","description":"Create Fermi Estimates and Perform Monte Carlo Estimates","fork":false,"url":"https://api.github.com/repos/getguesstimate/guesstimate-app","forks_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/forks","keys_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/keys{/key_id}","collaborators_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/teams","hooks_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/hooks","issue_events_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/issues/events{/number}","events_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/events","assignees_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/assignees{/user}","branches_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/branches{/branch}","tags_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/tags","blobs_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/git/refs{/sha}","trees_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/git/trees{/sha}","statuses_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/statuses/{sha}","languages_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/languages","stargazers_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/stargazers","contributors_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/contributors","subscribers_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/subscribers","subscription_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/subscription","commits_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/commits{/sha}","git_commits_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/git/commits{/sha}","comments_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/comments{/number}","issue_comment_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/issues/comments{/number}","contents_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/contents/{+path}","compare_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/compare/{base}...{head}","merges_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/merges","archive_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/downloads","issues_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/issues{/number}","pulls_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls{/number}","milestones_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/milestones{/number}","notifications_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/labels{/name}","releases_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/releases{/id}","deployments_url":"https://api.github.com/repos/getguesstimate/guesstimate-app/deployments","created_at":"2015-08-21T17:19:43Z","updated_at":"2016-08-31T06:07:27Z","pushed_at":"2016-08-31T21:04:31Z","git_url":"git://github.com/getguesstimate/guesstimate-app.git","ssh_url":"git@github.com:getguesstimate/guesstimate-app.git","clone_url":"https://github.com/getguesstimate/guesstimate-app.git","svn_url":"https://github.com/getguesstimate/guesstimate-app","homepage":"http://getguesstimate.com/","size":7701,"stargazers_count":1659,"watchers_count":1659,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":82,"mirror_url":null,"open_issues_count":67,"forks":82,"open_issues":67,"watchers":1659,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/798"},"html":{"href":"https://github.com/getguesstimate/guesstimate-app/pull/798"},"issue":{"href":"https://api.github.com/repos/getguesstimate/guesstimate-app/issues/798"},"comments":{"href":"https://api.github.com/repos/getguesstimate/guesstimate-app/issues/798/comments"},"review_comments":{"href":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/798/comments"},"review_comment":{"href":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/getguesstimate/guesstimate-app/pulls/798/commits"},"statuses":{"href":"https://api.github.com/repos/getguesstimate/guesstimate-app/statuses/b897fb63c0aab4b88a13f6b50cb6a2cbd4349b02"}}}}
{"actor":{"display_login":"mmcdermott"}}