Declarative defaults
SparseEnumap
gets declarative default values in the style of typing.NamedTuple
:
class Horse(SparseEnumap):
speckled = auto() # enum.auto for auto unique values
brown = 55 # not a default
shetland = default(30) # both unique AND a default for tuple/map collections
Collections made from this SparseEnumap
will have defaults for the shetland
field:
>>> Horse.tuple()
Horse_tuple(speckled=None, brown=None, shetland=30)