Skip to content

Declarative defaults

Compare
Choose a tag to compare
@TadLeonard TadLeonard released this 15 Sep 17:30
· 25 commits to master since this release

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)