CardSet constructor
Creates a card set with the given name
and abbreviation
.
If abbreviation
is not provided, it is derived from name
, by using
the first letter of each word in name
, in all caps. For example the
abbreviation of "Spark of Rebellion" is "SOR".
Errors
This class is not intended to be used with user-provided input, and as such does not provide any error handling. If any of the fields are invalid, an error will be thrown.
Implementation
factory CardSet(
String name, {
required int totalCards,
String? abbreviation,
int totalTokens = 0,
}) {
checkNotEmpty(value: name, name: 'name');
abbreviation ??= _abbreviate(name);
checkNotEmpty(value: abbreviation, name: 'abbreviation');
checkPositive(totalCards, 'totalCards');
RangeError.checkNotNegative(totalTokens, 'totalTokens');
return CardSet._(
abbreviation: abbreviation,
fullName: name,
totalCards: totalCards,
totalTokens: totalTokens,
);
}