enzostvs's picture
enzostvs HF staff
add sort
92c8d86
raw
history blame
940 Bytes
import { SpaceProps } from "./type";
export const fetchAllPages = async () => {
const filter_key = "zero-a10g";
const pageNumbers = Array.from({ length: 200 }, (_, i) => i);
const urls = pageNumbers.map(async (pageNumber) => {
const url = `https://huggingface.co/spaces-json?p=${pageNumber}&sort=trending`;
const response = await fetch(url);
const json = await response.json();
return json?.spaces ?? [];
});
const jsonResponses = await Promise.all(urls);
const spaces = jsonResponses.flat()?.filter((space) => space?.runtime?.hardware?.current === filter_key);
return sortByCreatedAt(spaces);
};
export const sortByCreatedAt = (spaces: SpaceProps[]) => {
return spaces.sort((a, b) => {
return new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime();
});
}
export const sortByLikes = (spaces: SpaceProps[]) => {
return spaces.sort((a, b) => {
return b.likes - a.likes;
});
}