ProfileLevel constructor
ProfileLevel({})
Implementation
ProfileLevel({
required this.level,
required this.currentXp,
this.xpForNextLevel,
this.label,
this.xpText,
}) {
if (level < 1) {
throw ArgumentError.value(level, 'level', 'must be >= 1');
}
if (currentXp < 0) {
throw ArgumentError.value(currentXp, 'currentXp', 'must be >= 0');
}
final next = xpForNextLevel;
if (next != null && (next <= 0 || currentXp > next)) {
throw ArgumentError.value(
next,
'xpForNextLevel',
'must be > 0 and >= currentXp',
);
}
for (final (name, value) in [('label', label), ('xpText', xpText)]) {
if (value != null && value.trim().isEmpty) {
throw ArgumentError.value(value, name, 'must not be blank');
}
}
}