🚿 clean up
This commit is contained in:
@@ -3,7 +3,7 @@ import { getGithubUserContribution } from "..";
|
||||
it("should get user contribution", async () => {
|
||||
const { cells, colorScheme } = await getGithubUserContribution("platane");
|
||||
|
||||
expect(cells).toBeDefined();
|
||||
expect(cells.length).toBeGreaterThan(300);
|
||||
expect(colorScheme).toEqual([
|
||||
"#ebedf0",
|
||||
"#9be9a8",
|
||||
|
||||
@@ -1,26 +1,11 @@
|
||||
// import * as https from "https";
|
||||
|
||||
// @ts-ignore
|
||||
// import * as cheerio from "cheerio";
|
||||
|
||||
import { JSDOM } from "jsdom";
|
||||
|
||||
/**
|
||||
* get the contribution grid from a github user page
|
||||
*
|
||||
* @param userName
|
||||
*/
|
||||
export const getGithubUserContribution = async (userName: string) => {
|
||||
// const content: string = await new Promise((resolve, reject) => {
|
||||
// const req = https.request(`https://github.com/${userName}`, (res) => {
|
||||
// let data = "";
|
||||
|
||||
// res.on("error", reject);
|
||||
// res.on("data", (chunk) => (data += chunk));
|
||||
// res.on("end", () => resolve(data));
|
||||
// });
|
||||
|
||||
// req.on("error", reject);
|
||||
// req.end();
|
||||
// });
|
||||
|
||||
// const dom = new JSDOM(content);
|
||||
|
||||
const dom = await JSDOM.fromURL(`https://github.com/${userName}`);
|
||||
|
||||
const colorScheme = Array.from(
|
||||
@@ -34,14 +19,14 @@ export const getGithubUserContribution = async (userName: string) => {
|
||||
dom.window.document.querySelectorAll(".js-calendar-graph-svg > g > g")
|
||||
)
|
||||
.map((column, x) =>
|
||||
Array.from(column.querySelectorAll("rect")).map((element, y) => ({
|
||||
x,
|
||||
y,
|
||||
count: element.getAttribute("data-count"),
|
||||
date: element.getAttribute("data-date"),
|
||||
color: element.getAttribute("fill"),
|
||||
k: colorScheme.indexOf(element.getAttribute("fill")!),
|
||||
}))
|
||||
Array.from(column.querySelectorAll("rect")).map((element, y) => {
|
||||
const count = +element.getAttribute("data-count")!;
|
||||
const date = element.getAttribute("data-date")!;
|
||||
const color = element.getAttribute("fill")!;
|
||||
const k = colorScheme.indexOf(color);
|
||||
|
||||
return { x, y, count, date, color, k };
|
||||
})
|
||||
)
|
||||
.flat();
|
||||
|
||||
@@ -53,9 +38,3 @@ type ThenArg<T> = T extends PromiseLike<infer U> ? U : T;
|
||||
export type Cell = ThenArg<
|
||||
ReturnType<typeof getGithubUserContribution>
|
||||
>["cells"][number];
|
||||
|
||||
// "#ebedf0";
|
||||
// "#9be9a8";
|
||||
// "#40c463";
|
||||
// "#30a14e";
|
||||
// "#216e39";
|
||||
|
||||
Reference in New Issue
Block a user