def telemetry_attributes_provider_factory(
msg: Union["Msg", Sequence["Msg"], None],
) -> Union[
NatsTelemetrySettingsProvider,
NatsBatchTelemetrySettingsProvider,
None,
]:
if isinstance(msg, Sequence):
return NatsBatchTelemetrySettingsProvider()
elif isinstance(msg, Msg) or msg is None:
return NatsTelemetrySettingsProvider()
else:
# KeyValue and Object Storage watch cases
return None