From 3656432ba1e0b264e0c43542d91ff6883e7dde1c Mon Sep 17 00:00:00 2001 From: Sakura Knoll Date: Sun, 2 Jan 2022 18:11:55 +0900 Subject: [PATCH] Filter and sort stigmata sets --- src/server/data/honkai3rd/stigmata.ts | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/server/data/honkai3rd/stigmata.ts b/src/server/data/honkai3rd/stigmata.ts index 020278f1..457e62c1 100644 --- a/src/server/data/honkai3rd/stigmata.ts +++ b/src/server/data/honkai3rd/stigmata.ts @@ -52,12 +52,29 @@ const stigmataSetStigmataDataListMap = stigmataList.reduce((map, stigmata) => { }, new Map()) const stigmataSetFileNameList = readdirSync('honkai3rd/stigmata-sets') -const stigmataSetList = stigmataSetFileNameList.map((fileName) => { - const filePathname = 'honkai3rd/stigmata-sets/' + fileName - const data = readJsonFileSync(filePathname) as StigmataSet +const stigmataSetList = stigmataSetFileNameList + .map((fileName) => { + const filePathname = 'honkai3rd/stigmata-sets/' + fileName + const data = readJsonFileSync(filePathname) as StigmataSet - return data -}) + return data + }) + .filter((stigmataSet) => !stigmataSet.hidden) + .sort((a, b) => { + let compareResult = b.rarity - a.rarity + if (compareResult !== 0) { + return compareResult + } + compareResult = compareVersion(b.version || '0.0', a.version || '0.0') + if (compareResult !== 0) { + return compareResult + } + compareResult = a.name + .replace(/ \(.\)/, '') + .localeCompare(b.name.replace(/ \(.\)/, '')) + + return compareResult + }) const stigmataSetMap = stigmataSetList.reduce((map, stigmataSet) => { map.set(stigmataSet.id, stigmataSet)