Skip to content

Commit

Permalink
add comment
Browse files Browse the repository at this point in the history
  • Loading branch information
tlambert03 committed Jan 31, 2024
1 parent dc4c775 commit a8fd0cf
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/psygnal/_group_descriptor.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,16 +146,18 @@ def _build_dataclass_signal_group(
_equality_operators = dict(equality_operators) if equality_operators else {}
signals = {}
eq_map = _get_eq_operator_map(cls)
# create a Signal for each field in the dataclass
for name, type_ in iter_fields(cls):
if name in _equality_operators:
if not callable(_equality_operators[name]): # pragma: no cover
raise TypeError("EqOperator must be callable")
eq_map[name] = _equality_operators[name]
else:
eq_map[name] = _pick_equality_operator(type_)
sig = Signal(object if type_ is None else type_)
field_type = object if type_ is None else type_
signals[name] = sig = Signal(field_type)
# patch in our custom SignalInstance class with maxargs=1 on connect_setattr
sig._signal_instance_class = _DataclassFieldSignalInstance
signals[name] = sig

return type(f"{cls.__name__}SignalGroup", (SignalGroup,), signals)

Expand Down

0 comments on commit a8fd0cf

Please sign in to comment.