Spaces:
Running
Running
File size: 904 Bytes
92c8d86 a2157f5 b10df03 a2f4024 b10df03 a2f4024 b10df03 a2f4024 b10df03 a2f4024 118829c 92c8d86 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import { SpaceProps } from "./type";
export const fetchAllPages = async (sort = "trending") => {
const filter_key = "zero-a10g";
const pageNumbers = Array.from({ length: 55 }, (_, i) => i);
const urls = pageNumbers.map(async (pageNumber) => {
const url = `https://huggingface.co/spaces-json?p=${pageNumber}&sort=${sort}&runtime.hardware.current=${filter_key}`;
const response = await fetch(url);
const json = await response.json();
return json?.spaces ?? [];
});
const jsonResponses = await Promise.all(urls);
const spaces = jsonResponses.flat();
return 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;
});
} |