UNPKG

pockybot

Version:

Spark bot that handles team recognition

37 lines (36 loc) 1.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultCategoryResultsService = void 0; const htmlHelper_1 = require("../parsers/htmlHelper"); class DefaultCategoryResultsService { returnCategoryResultsTable(results, categories) { let tables = ''; categories.forEach((category, index) => { const sectionId = `categoryresults-${index}`; const categoryResults = this.sortCategoryPegs(results, category); if (categoryResults.length > 0) { tables += ` <h2 class="clickable collapsed" data-toggle="collapse" data-target="#section-${sectionId}" aria-expanded="false" aria-controls="section-${sectionId}"><i class="fas fa-plus"></i><i class="fas fa-minus"></i> Category: ${htmlHelper_1.default.uppercaseFirstChar(category)}</h2> `; tables += htmlHelper_1.default.generateCategoryResultsTable(categoryResults, sectionId); } else { tables += ` <h2>Category: ${htmlHelper_1.default.uppercaseFirstChar(category)}</h2> <p class="pb-3">There were no pegs given for this keyword</p>`; } }); return tables; } sortCategoryPegs(results, category) { let categoryResults = results.map(x => Object.assign({}, x)); // deep copy array categoryResults.forEach(catResult => { catResult.validPegsReceived = catResult.validPegsReceived.filter(x => x.categories.includes(category)); }); categoryResults = categoryResults.filter(x => x.validPegsReceived.length > 0); // sort from most to least pegs categoryResults.sort((a, b) => b.validPegsReceived.length - a.validPegsReceived.length); return categoryResults; } } exports.DefaultCategoryResultsService = DefaultCategoryResultsService;