@tucmc/hazel
Version:
Clubs Data Processing Framework
48 lines (47 loc) • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClubRecord = void 0;
const DMap_1 = require("../../../util/data/DMap");
const ID_1 = require("../ID/ID");
class ClubRecord extends DMap_1.DMap {
constructor(props) {
super(props);
}
defaultMergeFunc = (prevValue, newValue) => ({
...prevValue,
...newValue
});
transformToMainClubs(mergeFunc = this.defaultMergeFunc) {
const transformed = {};
for (const [k, v] of Object.entries(this.content)) {
let dk = k;
if (ID_1.ID.mainClubsTranslationLayer.hasKey(k)) {
dk = ID_1.ID.mainClubsTranslationLayer.get(k);
}
if (dk in transformed) {
transformed[dk] = mergeFunc(transformed[dk], v);
}
else {
transformed[dk] = v;
}
}
return new ClubRecord(transformed);
}
mergeClubSection(mergeFunc = this.defaultMergeFunc) {
const transformed = {};
for (const [k, v] of Object.entries(this.content)) {
let dk = k;
if (ID_1.ID.clubsSectionTranslationLayer.hasKey(k)) {
dk = ID_1.ID.clubsSectionTranslationLayer.get(k);
}
if (dk in transformed) {
transformed[dk] = mergeFunc(transformed[dk], v);
}
else {
transformed[dk] = v;
}
}
return new ClubRecord(transformed);
}
}
exports.ClubRecord = ClubRecord;