{"action":"created","comment":{"url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/comments/180490968","pull_request_review_id":110616850,"id":180490968,"diff_hunk":"@@ -0,0 +1,441 @@\n+//external libraries\n+import * as React from \"react\";\n+import * as ReactDOM from \"react-dom\";\n+import * as debounce from \"debounce\";\n+import * as URL from \"url-parse\";\n+import * as parameterize from \"parameterize\";\n+//models\n+import IApiUtils from \"../utils/api\";\n+import Product from \"./product/models\";\n+import Filters, { ICategory } from \"./filters/models\";\n+import Location from \"./filters/models/location\";\n+import Results from \"./results/models\";\n+//components\n+import Destination from \"../autocomplete/destination/models\";\n+import DestinationAutocompleteComponent, {\n+  IDestinationAutocompleteProps\n+} from \"../autocomplete/destination_autocomplete\";\n+\n+export enum FilterSection {\n+  Dates = \"dates\",\n+  Destination = \"destination\",\n+  Other = \"other\"\n+}\n+\n+export interface ISearchProps {\n+  utils: IApiUtils;\n+  resultsPerPage: number;\n+  heroHeadline: string;\n+  heroSubheadline?: string;\n+  destinationAutocompleteProps?: IDestinationAutocompleteProps;\n+  autocompletePortalSelector?: string;\n+  renderHeroPortal?: (\n+    destination: string,\n+    id: string,\n+    default_headline: string\n+  ) => any;\n+  renderAutocompletePortal?: (\n+    props: IDestinationAutocompleteProps,\n+    active: boolean\n+  ) => any;\n+  setKeyboardListeners?: () => void;\n+  removePlaceholders?: () => void;\n+  I18n;\n+  paths;\n+}\n+\n+export interface ISearchState {\n+  results: Results;\n+  filters: Filters;\n+  isLoading: boolean;\n+  autoCompleteFocused: boolean;\n+  destinationAutocompleteProps: IDestinationAutocompleteProps;\n+  focusedDateInput: null | string;\n+  focusedFilterSection: null | string;\n+  mediumScreenAndUp: boolean;\n+}\n+\n+export default class Search extends React.Component<\n+  ISearchProps,\n+  ISearchState\n+> {\n+  constructor(props: ISearchProps) {\n+    super(props);\n+    this.state = {\n+      isLoading: true,\n+      filters: Filters.generateNewFiltersFromUrl(new URL(location.href, true)),\n+      results: new Results(),\n+      autoCompleteFocused: false,\n+      destinationAutocompleteProps: this.props.destinationAutocompleteProps,\n+      focusedDateInput: null,\n+      focusedFilterSection: null,\n+      mediumScreenAndUp: window.matchMedia(\"(min-width: 400px)\").matches\n+    };\n+  }\n+\n+  componentDidMount() {\n+    if (this.props.removePlaceholders) this.props.removePlaceholders();\n+    if (this.props.setKeyboardListeners) this.props.setKeyboardListeners();\n+    this.search();\n+    this.updateUrl(\"replace\");\n+    window.matchMedia(\"(max-width: 768px)\").addListener(mQ => {\n+      this.setState({ mediumScreenAndUp: mQ.matches });\n+    });\n+    onpopstate = e => {\n+      this.setState(\n+        {\n+          filters: Filters.generateNewFiltersFromUrl(\n+            new URL(location.href, true)\n+          ),\n+          destinationAutocompleteProps: {\n+            ...this.state.destinationAutocompleteProps,\n+            selectedDestination: e.state\n+          }\n+        },\n+        () => {\n+          this.search();\n+        }\n+      );\n+    };\n+  }\n+\n+  handleDestinationSelected = (destination: Destination) => {\n+    if (\n+      destination &&\n+      this.state.filters.location.getWebId() !== destination.getId()\n+    ) {\n+      let loc = new Location({ WebId: destination.getId() }),\n+        newFilters = new Filters({\n+          ...this.state.filters,\n+          location: loc,\n+          currentPage: 0\n+        }),\n+        newAutocompleteProps = {\n+          ...this.state.destinationAutocompleteProps,\n+          selectedDestination: {\n+            webId: destination.getId(),\n+            location: destination.getName(),\n+            hasExternalAttributes: destination.getHasExternalAttributes()\n+          }\n+        };\n+      this.setState(\n+        {\n+          filters: newFilters,\n+          destinationAutocompleteProps: newAutocompleteProps,\n+          focusedFilterSection: null\n+        },\n+        () => {\n+          this.searchAndPushState();\n+        }\n+      );\n+    } else {\n+      this.setState({ focusedFilterSection: null });\n+    }\n+  };\n+\n+  handleDateInputFocusChange = (input: string) => {\n+    this.setState({ focusedDateInput: input }, () => {\n+      if (!input && this.state.filters.startDate) this.applyDates();\n+    });\n+  };\n+\n+  handleDatesChange = (startDate, endDate) => {\n+    let noDates = !startDate && !endDate;\n+    let newFilters = {\n+      ...this.state.filters,\n+      startDate: startDate,\n+      endDate: endDate\n+    };\n+    if (noDates) {\n+      newFilters.currentPage = 0;\n+      this.setState(\n+        {\n+          filters: new Filters(newFilters),\n+          focusedDateInput: this.state.focusedDateInput ? \"startDate\" : null\n+        },\n+        () => this.searchAndPushState()\n+      );\n+    } else {\n+      this.setState({ filters: new Filters(newFilters) });\n+    }\n+  };\n+\n+  applyDates = () => {\n+    let newState = { focusedDateInput: null, focusedFilterSection: null },\n+      newFilters = { ...this.state.filters, currentPage: 0 };\n+    if (!this.state.filters.endDate)\n+      newFilters.endDate = this.state.filters.startDate;\n+    this.setState(\n+      {\n+        focusedDateInput: null,\n+        filters: new Filters(newFilters),\n+        focusedFilterSection: null\n+      },\n+      () => this.searchAndPushState()\n+    );\n+  };\n+\n+  handleQueryChange = (value: string) => {\n+    let newFilters = new Filters({\n+      ...this.state.filters,\n+      query: value,\n+      currentPage: 0\n+    });\n+    this.setState({ filters: newFilters }, () => this.debouncedSearch());\n+  };\n+\n+  handleCategoryClick = (\n+    e: React.ChangeEvent<HTMLInputElement>,\n+    category: ICategory,\n+    action: string\n+  ) => {\n+    let newCategories, newFilters;\n+    if (action === \"add\") {\n+      newCategories = [...this.state.filters.categories, category];\n+    } else {\n+      newCategories = this.state.filters.categories.filter(\n+        c => c.key !== category.key\n+      );\n+    }\n+    newFilters = new Filters({\n+      ...this.state.filters,\n+      categories: newCategories,\n+      currentPage: 0\n+    });\n+    this.setState({ filters: newFilters }, () => this.searchAndPushState());\n+  };\n+\n+  handleMaxPriceChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n+    let value = parseInt(e.target.value) || null;\n+    if (value >= 0) {\n+      this.setState({\n+        filters: new Filters({\n+          ...this.state.filters,\n+          priceRange: {\n+            ...this.state.filters.priceRange,\n+            inputMax: value\n+          }\n+        })\n+      });\n+    }\n+  };\n+\n+  applyMaxPrice = (action: string = \"update\") => {\n+    let { priceRange } = this.state.filters,\n+      newMax;\n+    if (action === \"update\") {\n+      newMax =\n+        priceRange.inputMax >= priceRange.selectedMin\n+          ? priceRange.inputMax\n+          : priceRange.selectedMax;\n+    } else if (action === \"clear\") {\n+      newMax = null;\n+    }\n+    this.setState(\n+      {\n+        filters: new Filters({\n+          ...this.state.filters,\n+          priceRange: {\n+            ...priceRange,\n+            selectedMax: newMax,\n+            inputMax: newMax\n+          },\n+          currentPage: 0","path":"src/search/search.tsx","position":243,"original_position":243,"commit_id":"40397afeb41b11eaa803582c9898a595667f540c","original_commit_id":"40397afeb41b11eaa803582c9898a595667f540c","user":{"login":"brianeroth","id":16072983,"avatar_url":"https://avatars2.githubusercontent.com/u/16072983?v=4","gravatar_id":"","url":"https://api.github.com/users/brianeroth","html_url":"https://github.com/brianeroth","followers_url":"https://api.github.com/users/brianeroth/followers","following_url":"https://api.github.com/users/brianeroth/following{/other_user}","gists_url":"https://api.github.com/users/brianeroth/gists{/gist_id}","starred_url":"https://api.github.com/users/brianeroth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brianeroth/subscriptions","organizations_url":"https://api.github.com/users/brianeroth/orgs","repos_url":"https://api.github.com/users/brianeroth/repos","events_url":"https://api.github.com/users/brianeroth/events{/privacy}","received_events_url":"https://api.github.com/users/brianeroth/received_events","type":"User","site_admin":false},"body":"`currentPage: 0` used a few times. Move the 0 to a constant to make it more obvious maybe? ","created_at":"2018-04-10T16:45:33Z","updated_at":"2018-04-10T16:51:54Z","html_url":"https://github.com/ETMAInc/TruffleHunt-ReactComponents/pull/5#discussion_r180490968","pull_request_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/5","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/comments/180490968"},"html":{"href":"https://github.com/ETMAInc/TruffleHunt-ReactComponents/pull/5#discussion_r180490968"},"pull_request":{"href":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/5"}}},"pull_request":{"url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/5","id":179489085,"html_url":"https://github.com/ETMAInc/TruffleHunt-ReactComponents/pull/5","diff_url":"https://github.com/ETMAInc/TruffleHunt-ReactComponents/pull/5.diff","patch_url":"https://github.com/ETMAInc/TruffleHunt-ReactComponents/pull/5.patch","issue_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/issues/5","number":5,"state":"open","locked":false,"title":"Product search","user":{"login":"fjlanasa","id":18427346,"avatar_url":"https://avatars0.githubusercontent.com/u/18427346?v=4","gravatar_id":"","url":"https://api.github.com/users/fjlanasa","html_url":"https://github.com/fjlanasa","followers_url":"https://api.github.com/users/fjlanasa/followers","following_url":"https://api.github.com/users/fjlanasa/following{/other_user}","gists_url":"https://api.github.com/users/fjlanasa/gists{/gist_id}","starred_url":"https://api.github.com/users/fjlanasa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fjlanasa/subscriptions","organizations_url":"https://api.github.com/users/fjlanasa/orgs","repos_url":"https://api.github.com/users/fjlanasa/repos","events_url":"https://api.github.com/users/fjlanasa/events{/privacy}","received_events_url":"https://api.github.com/users/fjlanasa/received_events","type":"User","site_admin":false},"body":"WIP","created_at":"2018-04-04T19:29:02Z","updated_at":"2018-04-10T16:51:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"88ae096b83c2f18caf49b1433abd059391206f55","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/5/commits","review_comments_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/5/comments","review_comment_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/issues/5/comments","statuses_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/statuses/40397afeb41b11eaa803582c9898a595667f540c","head":{"label":"ETMAInc:product-search","ref":"product-search","sha":"40397afeb41b11eaa803582c9898a595667f540c","user":{"login":"ETMAInc","id":18564711,"avatar_url":"https://avatars1.githubusercontent.com/u/18564711?v=4","gravatar_id":"","url":"https://api.github.com/users/ETMAInc","html_url":"https://github.com/ETMAInc","followers_url":"https://api.github.com/users/ETMAInc/followers","following_url":"https://api.github.com/users/ETMAInc/following{/other_user}","gists_url":"https://api.github.com/users/ETMAInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ETMAInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ETMAInc/subscriptions","organizations_url":"https://api.github.com/users/ETMAInc/orgs","repos_url":"https://api.github.com/users/ETMAInc/repos","events_url":"https://api.github.com/users/ETMAInc/events{/privacy}","received_events_url":"https://api.github.com/users/ETMAInc/received_events","type":"Organization","site_admin":false},"repo":{"id":125421672,"name":"TruffleHunt-ReactComponents","full_name":"ETMAInc/TruffleHunt-ReactComponents","owner":{"login":"ETMAInc","id":18564711,"avatar_url":"https://avatars1.githubusercontent.com/u/18564711?v=4","gravatar_id":"","url":"https://api.github.com/users/ETMAInc","html_url":"https://github.com/ETMAInc","followers_url":"https://api.github.com/users/ETMAInc/followers","following_url":"https://api.github.com/users/ETMAInc/following{/other_user}","gists_url":"https://api.github.com/users/ETMAInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ETMAInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ETMAInc/subscriptions","organizations_url":"https://api.github.com/users/ETMAInc/orgs","repos_url":"https://api.github.com/users/ETMAInc/repos","events_url":"https://api.github.com/users/ETMAInc/events{/privacy}","received_events_url":"https://api.github.com/users/ETMAInc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ETMAInc/TruffleHunt-ReactComponents","description":"Common React components used across our suite","fork":false,"url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents","forks_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/forks","keys_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/teams","hooks_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/hooks","issue_events_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/issues/events{/number}","events_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/events","assignees_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/assignees{/user}","branches_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/branches{/branch}","tags_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/tags","blobs_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/git/refs{/sha}","trees_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/statuses/{sha}","languages_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/languages","stargazers_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/stargazers","contributors_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/contributors","subscribers_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/subscribers","subscription_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/subscription","commits_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/commits{/sha}","git_commits_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/git/commits{/sha}","comments_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/comments{/number}","issue_comment_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/issues/comments{/number}","contents_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/contents/{+path}","compare_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/merges","archive_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/downloads","issues_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/issues{/number}","pulls_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls{/number}","milestones_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/milestones{/number}","notifications_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/labels{/name}","releases_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/releases{/id}","deployments_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/deployments","created_at":"2018-03-15T20:19:19Z","updated_at":"2018-03-23T18:52:45Z","pushed_at":"2018-04-10T16:32:41Z","git_url":"git://github.com/ETMAInc/TruffleHunt-ReactComponents.git","ssh_url":"git@github.com:ETMAInc/TruffleHunt-ReactComponents.git","clone_url":"https://github.com/ETMAInc/TruffleHunt-ReactComponents.git","svn_url":"https://github.com/ETMAInc/TruffleHunt-ReactComponents","homepage":null,"size":259,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":2,"license":null,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"base":{"label":"ETMAInc:master","ref":"master","sha":"e12dbd201a69583f8c71eaac36acc5bd41b406bf","user":{"login":"ETMAInc","id":18564711,"avatar_url":"https://avatars1.githubusercontent.com/u/18564711?v=4","gravatar_id":"","url":"https://api.github.com/users/ETMAInc","html_url":"https://github.com/ETMAInc","followers_url":"https://api.github.com/users/ETMAInc/followers","following_url":"https://api.github.com/users/ETMAInc/following{/other_user}","gists_url":"https://api.github.com/users/ETMAInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ETMAInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ETMAInc/subscriptions","organizations_url":"https://api.github.com/users/ETMAInc/orgs","repos_url":"https://api.github.com/users/ETMAInc/repos","events_url":"https://api.github.com/users/ETMAInc/events{/privacy}","received_events_url":"https://api.github.com/users/ETMAInc/received_events","type":"Organization","site_admin":false},"repo":{"id":125421672,"name":"TruffleHunt-ReactComponents","full_name":"ETMAInc/TruffleHunt-ReactComponents","owner":{"login":"ETMAInc","id":18564711,"avatar_url":"https://avatars1.githubusercontent.com/u/18564711?v=4","gravatar_id":"","url":"https://api.github.com/users/ETMAInc","html_url":"https://github.com/ETMAInc","followers_url":"https://api.github.com/users/ETMAInc/followers","following_url":"https://api.github.com/users/ETMAInc/following{/other_user}","gists_url":"https://api.github.com/users/ETMAInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ETMAInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ETMAInc/subscriptions","organizations_url":"https://api.github.com/users/ETMAInc/orgs","repos_url":"https://api.github.com/users/ETMAInc/repos","events_url":"https://api.github.com/users/ETMAInc/events{/privacy}","received_events_url":"https://api.github.com/users/ETMAInc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ETMAInc/TruffleHunt-ReactComponents","description":"Common React components used across our suite","fork":false,"url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents","forks_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/forks","keys_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/teams","hooks_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/hooks","issue_events_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/issues/events{/number}","events_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/events","assignees_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/assignees{/user}","branches_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/branches{/branch}","tags_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/tags","blobs_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/git/refs{/sha}","trees_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/statuses/{sha}","languages_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/languages","stargazers_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/stargazers","contributors_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/contributors","subscribers_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/subscribers","subscription_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/subscription","commits_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/commits{/sha}","git_commits_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/git/commits{/sha}","comments_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/comments{/number}","issue_comment_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/issues/comments{/number}","contents_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/contents/{+path}","compare_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/merges","archive_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/downloads","issues_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/issues{/number}","pulls_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls{/number}","milestones_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/milestones{/number}","notifications_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/labels{/name}","releases_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/releases{/id}","deployments_url":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/deployments","created_at":"2018-03-15T20:19:19Z","updated_at":"2018-03-23T18:52:45Z","pushed_at":"2018-04-10T16:32:41Z","git_url":"git://github.com/ETMAInc/TruffleHunt-ReactComponents.git","ssh_url":"git@github.com:ETMAInc/TruffleHunt-ReactComponents.git","clone_url":"https://github.com/ETMAInc/TruffleHunt-ReactComponents.git","svn_url":"https://github.com/ETMAInc/TruffleHunt-ReactComponents","homepage":null,"size":259,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":2,"license":null,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/5"},"html":{"href":"https://github.com/ETMAInc/TruffleHunt-ReactComponents/pull/5"},"issue":{"href":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/issues/5"},"comments":{"href":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/ETMAInc/TruffleHunt-ReactComponents/statuses/40397afeb41b11eaa803582c9898a595667f540c"}},"author_association":"NONE"}}
{"actor":{"display_login":"brianeroth"}}