From c30e130a485ebd672d2c6c9499767a6f3272581d Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 26 Oct 2025 01:07:08 -0700 Subject: [PATCH] dry --- esphome/components/binary_sensor/filter.h | 6 ++---- esphome/components/sensor/filter.h | 6 ++---- esphome/components/text_sensor/filter.h | 6 ++---- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/esphome/components/binary_sensor/filter.h b/esphome/components/binary_sensor/filter.h index 7ee253ead5..c1c54709a9 100644 --- a/esphome/components/binary_sensor/filter.h +++ b/esphome/components/binary_sensor/filter.h @@ -118,14 +118,12 @@ class LambdaFilter : public Filter { */ class StatelessLambdaFilter : public Filter { public: - using stateless_lambda_filter_t = optional (*)(bool); - - explicit StatelessLambdaFilter(stateless_lambda_filter_t f) : f_(f) {} + explicit StatelessLambdaFilter(optional (*f)(bool)) : f_(f) {} optional new_value(bool value) override { return this->f_(value); } protected: - stateless_lambda_filter_t f_; + optional (*f_)(bool); }; class SettleFilter : public Filter, public Component { diff --git a/esphome/components/sensor/filter.h b/esphome/components/sensor/filter.h index 4f0840a75e..ebcdbb8cab 100644 --- a/esphome/components/sensor/filter.h +++ b/esphome/components/sensor/filter.h @@ -303,14 +303,12 @@ class LambdaFilter : public Filter { */ class StatelessLambdaFilter : public Filter { public: - using stateless_lambda_filter_t = optional (*)(float); - - explicit StatelessLambdaFilter(stateless_lambda_filter_t lambda_filter) : lambda_filter_(lambda_filter) {} + explicit StatelessLambdaFilter(optional (*lambda_filter)(float)) : lambda_filter_(lambda_filter) {} optional new_value(float value) override { return this->lambda_filter_(value); } protected: - stateless_lambda_filter_t lambda_filter_; + optional (*lambda_filter_)(float); }; /// A simple filter that adds `offset` to each value it receives. diff --git a/esphome/components/text_sensor/filter.h b/esphome/components/text_sensor/filter.h index d8c71379ad..dddf1b2b34 100644 --- a/esphome/components/text_sensor/filter.h +++ b/esphome/components/text_sensor/filter.h @@ -69,14 +69,12 @@ class LambdaFilter : public Filter { */ class StatelessLambdaFilter : public Filter { public: - using stateless_lambda_filter_t = optional (*)(std::string); - - explicit StatelessLambdaFilter(stateless_lambda_filter_t lambda_filter) : lambda_filter_(lambda_filter) {} + explicit StatelessLambdaFilter(optional (*lambda_filter)(std::string)) : lambda_filter_(lambda_filter) {} optional new_value(std::string value) override { return this->lambda_filter_(value); } protected: - stateless_lambda_filter_t lambda_filter_; + optional (*lambda_filter_)(std::string); }; /// A simple filter that converts all text to uppercase