refactoring

This commit is contained in:
frankknoll
2023-11-10 08:44:21 +01:00
parent 2456317257
commit 998c55f50e
6 changed files with 84 additions and 78 deletions

View File

@@ -1,17 +1,8 @@
class SymptomVsSymptomChartDataProvider {
// FK-TODO: extract utility class and test
static retainCommonKeys({ dict1, dict2 }) {
const commonKeys = SymptomVsSymptomChartDataProvider.#getCommonKeys(dict1, dict2);
return {
dict1: SymptomVsSymptomChartDataProvider.#retainKeysOfDict(dict1, commonKeys),
dict2: SymptomVsSymptomChartDataProvider.#retainKeysOfDict(dict2, commonKeys)
};
}
static getChartData({ prrByLotX, prrByLotY }) {
const { dict1: prrByLotXCommon, dict2: prrByLotYCommon } =
SymptomVsSymptomChartDataProvider.retainCommonKeys(
DictUtils.retainCommonKeys(
{
dict1: prrByLotX,
dict2: prrByLotY
@@ -27,22 +18,4 @@ class SymptomVsSymptomChartDataProvider {
}))
};
}
static #getCommonKeys(dict1, dict2) {
return Sets.intersection(
SymptomVsSymptomChartDataProvider.#getKeySet(dict1),
SymptomVsSymptomChartDataProvider.#getKeySet(dict2));
}
static #getKeySet(dict) {
return new Set(Object.keys(dict));
}
static #retainKeysOfDict(dict, keys2Retain) {
const entries2Retain =
Object
.entries(dict)
.filter(([key, _]) => keys2Retain.has(key));
return Object.fromEntries(entries2Retain);
}
}