db-vendo-client/p/db/ageGroup.js
roehrt f3c2ee6f5a
DB: support age-based tariffs
The supported age groups are now:
- 'B' (baby, infant)
- 'K' (kind, child)
- 'Y' (young)
- 'E' (Erwachsener, adult)
- 'S' (Senior)
2022-04-26 12:13:41 +02:00

36 lines
630 B
JavaScript

'use strict'
const ageGroup = {
BABY: 'B',
CHILD: 'K',
YOUNG: 'Y',
ADULT: 'E',
SENIOR: 'S',
upperBoundOf: {
BABY: 6,
CHILD: 15,
YOUNG: 27,
ADULT: 65,
SENIOR: Infinity
}
}
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}'`)
}
module.exports = {
ageGroup,
ageGroupFromAge
}