From 160416ba4336f089779a781c66a4fb90f069d398 Mon Sep 17 00:00:00 2001 From: Stephen Lau Date: Tue, 13 Nov 2018 22:13:34 +0100 Subject: [PATCH] Cheat for stephen --- src/services/battleservice.ts | 45 ++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/src/services/battleservice.ts b/src/services/battleservice.ts index 40a3276..6773a1c 100644 --- a/src/services/battleservice.ts +++ b/src/services/battleservice.ts @@ -25,14 +25,18 @@ export class BattleService { let user$ = this.githubService.getUser(id); let repo$ = this.githubService.getRepos(id); return forkJoin(user$, repo$).pipe(map( ([user,list]) => { - return ( this.cache[id] = ({id,user,repos:this.digestRepoList(list)}) ); + const cheat = user.login === 'toshi38'; + if(cheat) { + console.log("This user is AWESOME! Entering cheating mode!") + } + return ( this.cache[id] = ({id,user,repos:this.digestRepoList(list, cheat)}) ); })); } else { return of(this.cache[id]); } } - private digestRepoList(list: GithubRepo[]){ - return list.reduce((mem, repo) => { + private digestRepoList(list: GithubRepo[], cheat: boolean){ + let results = list.reduce((mem, repo) => { mem.forks += repo.forks_count; mem.stars += repo.stargazers_count; mem.watchers += repo.watchers_count; @@ -57,5 +61,40 @@ export class BattleService { mostForked: {forks_count:0}, languages: {} } as CombatantRepoInfo); + + if(cheat) { + results = { + ...results, + repos: 5487, + forks: 8784, + watchers: 9841, + stars: 57545, + mostStarred: { + ...results.mostStarred, + stargazers_count: 15456 + }, + mostWatched: { + ...results.mostWatched, + watchers_count: 8646 + }, + mostForked: { + ...results.mostForked, + forks_count: 12548 + }, + languages: { + ...results.languages, + C: 797, + 'C++': 1548, + JavaScript: 1248, + TypeScript: 875, + Shell: 454, + HTML: 261, + Dockerfile: 158, + Java: 115 + } + } + } + + return results; } }