Skip to content

Commit

Permalink
Merge pull request #19117 from GordonSmith/HPCC-32663-TYPESCRIPT_ERROR
Browse files Browse the repository at this point in the history
HPCC-32663 New TypeScript Error
  • Loading branch information
GordonSmith authored Sep 13, 2024
2 parents 9d56cf8 + 46540e5 commit ecd5977
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions esp/src/src-react/hooks/platform.ts
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,14 @@ export function useCheckFeatures(): Features {
timestamp
};
}

const fetchReleases = () => {
interface OctokitRelease {
id: number;
draft: boolean;
prerelease: boolean;
tag_name: string;
html_url: string;
}
const fetchReleases = (): Promise<{ data: OctokitRelease[] }> => {
const octokit = new Octokit({});
return octokit.request("GET /repos/{owner}/{repo}/releases", {
owner: "hpcc-systems",
Expand All @@ -149,16 +155,12 @@ const fetchReleases = () => {
}
});
};
type ReleasesPromise = ReturnType<typeof fetchReleases>;
type ReleasesResponse = Awaited<ReleasesPromise>;
type Releases = ReleasesResponse["data"];
type Release = Releases[number];

const _fetchLatestReleases = (): Promise<Releases> => {
const _fetchLatestReleases = (): Promise<OctokitRelease[]> => {
return fetchReleases().then(response => {
const latest: { [id: string]: Release } = response.data
const latest: { [releaseID: string]: OctokitRelease } = response.data
.filter(release => !release.draft || !release.prerelease)
.reduce((prev, curr: Release) => {
.reduce((prev, curr: OctokitRelease) => {
const versionParts = curr.tag_name.split(".");
versionParts.length = 2;
const partialVersion = versionParts.join(".");
Expand All @@ -167,14 +169,14 @@ const _fetchLatestReleases = (): Promise<Releases> => {
}
return prev;
}, {});
return Object.values(latest) as Releases;
return Object.values(latest);
}).catch(err => {
logger.error(err);
return [] as Releases;
return [];
});
};
let releasesPromise: Promise<Releases> | undefined;
export const fetchLatestReleases = (): Promise<Releases> => {
let releasesPromise: Promise<any> | undefined;
export const fetchLatestReleases = (): Promise<OctokitRelease[]> => {
if (!releasesPromise) {
releasesPromise = _fetchLatestReleases();
}
Expand Down

0 comments on commit ecd5977

Please sign in to comment.