Add return type info for fetchGithubRepo (#143)

Once the type was added, flow correctly discovered a bug in
GithubGraphFetcher.js, which resulted in broken graph fetching in the
ArtifactEditor. Oops! / Good work Flow!

I made `ensureNoMorePages` expect the result it is testing to be an
`any`, which is appropriate for how the function is written (i.e. it is
written in a way that is agnostic to the actual result).
This commit is contained in:
Dandelion Mané 2018-04-24 16:00:50 -07:00 committed by GitHub
parent 8fdfacd097
commit 4f857a8bb1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -33,7 +33,7 @@ export class GithubGraphFetcher extends React.Component<Props> {
fetchGithubRepo(repoOwner, repoName, githubApiToken)
.then((json) => {
const parser = new GithubParser(`${repoOwner}/${repoName}`);
parser.addData(json.data);
parser.addData(json);
return Promise.resolve(parser.graph);
})
.then((graph) => {

View File

@ -8,6 +8,7 @@ import fetch from "isomorphic-fetch";
import {stringify, inlineLayout} from "../../graphql/queries";
import {createQuery, createVariables, postQueryExhaustive} from "./graphql";
import type {RepositoryJSON} from "./graphql";
/**
* Scrape data from a GitHub repo using the GitHub API.
@ -28,7 +29,7 @@ export default function fetchGithubRepo(
repoOwner: string,
repoName: string,
token: string
): Promise<Object> {
): Promise<RepositoryJSON> {
repoOwner = String(repoOwner);
repoName = String(repoName);
token = String(token);
@ -51,7 +52,7 @@ export default function fetchGithubRepo(
return postQueryExhaustive(
(somePayload) => postQuery(somePayload, token),
payload
).then((x) => {
).then((x: RepositoryJSON) => {
ensureNoMorePages(x);
return x;
});
@ -80,7 +81,7 @@ function postQuery({body, variables}, token) {
});
}
function ensureNoMorePages(result, path = []) {
function ensureNoMorePages(result: any, path = []) {
if (result == null) {
return;
}