chore: code formatting
This commit is contained in:
@@ -1022,23 +1022,23 @@
|
||||
user: options["leetcode.user"],
|
||||
sections: options["leetcode.sections"].split(",").map(x => x.trim()).filter(x => x),
|
||||
languages: new Array(6).fill(null).map(_ => ({
|
||||
language:faker.hacker.noun(),
|
||||
solved:faker.datatype.number(200)
|
||||
language: faker.hacker.noun(),
|
||||
solved: faker.datatype.number(200),
|
||||
})),
|
||||
skills: new Array(Number(options["leetcode.limit.skills"]) || 10).fill(null).map(_ => ({
|
||||
name:faker.hacker.noun(),
|
||||
category:faker.helpers.arrayElement(["advanced", "intermediate", "fundamental"]),
|
||||
solved:faker.datatype.number(30)
|
||||
name: faker.hacker.noun(),
|
||||
category: faker.helpers.arrayElement(["advanced", "intermediate", "fundamental"]),
|
||||
solved: faker.datatype.number(30),
|
||||
})),
|
||||
problems: {
|
||||
All: { count: 2402, solved: faker.datatype.number(2402) },
|
||||
Easy: { count: 592, solved: faker.datatype.number(592) },
|
||||
Medium: { count: 1283, solved: faker.datatype.number(1283) },
|
||||
Hard: { count: 527, solved: faker.datatype.number(527) }
|
||||
All: {count: 2402, solved: faker.datatype.number(2402)},
|
||||
Easy: {count: 592, solved: faker.datatype.number(592)},
|
||||
Medium: {count: 1283, solved: faker.datatype.number(1283)},
|
||||
Hard: {count: 527, solved: faker.datatype.number(527)},
|
||||
},
|
||||
recent: new Array(Number(options["leetcode.limit.recent"]) || 2).fill(null).map(_ => ({
|
||||
title:faker.lorem.sentence(),
|
||||
date:faker.date.recent(),
|
||||
title: faker.lorem.sentence(),
|
||||
date: faker.date.recent(),
|
||||
})),
|
||||
},
|
||||
})
|
||||
|
||||
@@ -14,7 +14,7 @@ export default async function({login, graphql, rest, data, q, queries, imports,
|
||||
console.debug(`metrics/compute/${login}/base > affiliations constraints ${affiliations}`)
|
||||
|
||||
//Skip initial data gathering if not needed
|
||||
if ((conf.settings.notoken)||(skip)) {
|
||||
if ((conf.settings.notoken) || (skip)) {
|
||||
await callbacks?.plugin?.(login, "base", true, data).catch(error => console.debug(`metrics/compute/${login}/plugins/callbacks > base > ${error}`))
|
||||
return (postprocess.skip({login, data, imports}), {})
|
||||
}
|
||||
|
||||
@@ -7,22 +7,22 @@ export default async function({login, q, imports, data, queries, account}, {enab
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
let {user, sections, "limit.skills":_limit_skills, "limit.recent":_limit_recent} = imports.metadata.plugins.leetcode.inputs({data, account, q})
|
||||
const result = {user, sections, languages:[], skills:[], problems:{}, recent:[]}
|
||||
let {user, sections, "limit.skills": _limit_skills, "limit.recent": _limit_recent} = imports.metadata.plugins.leetcode.inputs({data, account, q})
|
||||
const result = {user, sections, languages: [], skills: [], problems: {}, recent: []}
|
||||
|
||||
//Languages stats
|
||||
{
|
||||
console.debug(`metrics/compute/${login}/plugins > leetcode > querying api (languages statistics)`)
|
||||
const {data:{data:{matchedUser:{languageProblemCount:languages}}}} = await imports.axios.post("https://leetcode.com/graphql", {variables: {username: user}, query: queries.leetcode.languages()})
|
||||
result.languages = languages.map(({languageName:language, problemsSolved:solved}) => ({language, solved}))
|
||||
const {data: {data: {matchedUser: {languageProblemCount: languages}}}} = await imports.axios.post("https://leetcode.com/graphql", {variables: {username: user}, query: queries.leetcode.languages()})
|
||||
result.languages = languages.map(({languageName: language, problemsSolved: solved}) => ({language, solved}))
|
||||
}
|
||||
|
||||
//Skills stats
|
||||
{
|
||||
console.debug(`metrics/compute/${login}/plugins > leetcode > querying api (skills statistics)`)
|
||||
const {data:{data:{matchedUser:{tagProblemCounts:skills}}}} = await imports.axios.post("https://leetcode.com/graphql", {variables: {username: user}, query: queries.leetcode.skills()})
|
||||
const {data: {data: {matchedUser: {tagProblemCounts: skills}}}} = await imports.axios.post("https://leetcode.com/graphql", {variables: {username: user}, query: queries.leetcode.skills()})
|
||||
for (const category in skills)
|
||||
result.skills.push(...skills[category].map(({tagName:name, problemsSolved:solved}) => ({name, solved, category})))
|
||||
result.skills.push(...skills[category].map(({tagName: name, problemsSolved: solved}) => ({name, solved, category})))
|
||||
result.skills.sort((a, b) => b.solved - a.solved)
|
||||
result.skills = result.skills.slice(0, _limit_skills || Infinity)
|
||||
}
|
||||
@@ -30,18 +30,18 @@ export default async function({login, q, imports, data, queries, account}, {enab
|
||||
//Problems
|
||||
{
|
||||
console.debug(`metrics/compute/${login}/plugins > leetcode > querying api (problems statistics)`)
|
||||
const {data:{data:{allQuestionsCount:all, matchedUser:{submitStatsGlobal:{acSubmissionNum:submissions}}}}} = await imports.axios.post("https://leetcode.com/graphql", {variables: {username: user}, query: queries.leetcode.problems()})
|
||||
const {data: {data: {allQuestionsCount: all, matchedUser: {submitStatsGlobal: {acSubmissionNum: submissions}}}}} = await imports.axios.post("https://leetcode.com/graphql", {variables: {username: user}, query: queries.leetcode.problems()})
|
||||
for (const {difficulty, count} of all)
|
||||
result.problems[difficulty] = {count, solved:0}
|
||||
for (const {difficulty, count:solved} of submissions)
|
||||
result.problems[difficulty] = {count, solved: 0}
|
||||
for (const {difficulty, count: solved} of submissions)
|
||||
result.problems[difficulty].solved = solved
|
||||
}
|
||||
|
||||
//Recent submissions
|
||||
{
|
||||
console.debug(`metrics/compute/${login}/plugins > leetcode > querying api (recent submissions statistics)`)
|
||||
const {data:{data:{recentAcSubmissionList:submissions}}} = await imports.axios.post("https://leetcode.com/graphql", {variables: {username: user, limit:_limit_recent}, query: queries.leetcode.recent()})
|
||||
result.recent = submissions.map(({title, timestamp}) => ({title, date:new Date(timestamp*1000)}))
|
||||
const {data: {data: {recentAcSubmissionList: submissions}}} = await imports.axios.post("https://leetcode.com/graphql", {variables: {username: user, limit: _limit_recent}, query: queries.leetcode.recent()})
|
||||
result.recent = submissions.map(({title, timestamp}) => ({title, date: new Date(timestamp * 1000)}))
|
||||
}
|
||||
|
||||
//Results
|
||||
@@ -51,4 +51,4 @@ export default async function({login, q, imports, data, queries, account}, {enab
|
||||
catch (error) {
|
||||
throw imports.format.error(error)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user