def __init__(
self,
identity_field: str,
compare_fields: list[str] | None = None,
) -> None:
if not identity_field:
message = 'identity_field must be a non-empty string'
raise InvalidParameterError(message)
if compare_fields is not None:
for field_name in compare_fields:
if not field_name:
message = (
'compare_fields must not contain '
'empty strings'
)
raise InvalidParameterError(message)
self._compare_fields = compare_fields
self._identity_field = identity_field
self._schema_tag = self._compute_schema_tag()