db-vendo-client/lib/age-group.js

49 lines
778 B
JavaScript
Raw Normal View History

const ageGroup = {
BABY: 'B',
CHILD: 'K',
YOUNG: 'Y',
ADULT: 'E',
SENIOR: 'S',
upperBoundOf: {
BABY: 6,
CHILD: 15,
YOUNG: 27,
ADULT: 65,
SENIOR: Infinity,
},
};
2024-12-07 16:16:31 +00:00
const ageGroupLabel = {
2024-12-08 21:42:57 +00:00
B: 'KLEINKIND',
K: 'FAMILIENKIND',
Y: 'JUGENDLICHER',
E: 'ERWACHSENER',
S: 'SENIOR',
2024-12-07 16:16:31 +00:00
};
const ageGroupFromAge = (age) => {
const {upperBoundOf} = ageGroup;
if (age < upperBoundOf.BABY) {
return ageGroup.BABY;
}
if (age < upperBoundOf.CHILD) {
return ageGroup.CHILD;
}
if (age < upperBoundOf.YOUNG) {
return ageGroup.YOUNG;
}
if (age < upperBoundOf.ADULT) {
return ageGroup.ADULT;
}
if (age < upperBoundOf.SENIOR) {
return ageGroup.SENIOR;
}
throw new TypeError(`Invalid age '${age}'`);
};
2022-05-07 16:17:37 +02:00
export {
ageGroup,
2024-12-07 16:16:31 +00:00
ageGroupLabel,
2022-05-07 16:17:37 +02:00
ageGroupFromAge,
};