Если достаточно часто, то для вас эта новость будет подобна освежающему бризу в лютую жару)) В репозитории спецификации Dart обновление! Замечены черновики новой фичи - static-extensions.
Статические расширения (Static Extensions) будут предназначены для того, чтобы дать возможность разработчику добавлять новые конструкторы или статические члены к существующим классам, mixin, enum или другим расширениям.
На текущий момент времени есть 2 версии черновика. В первой для объявления таких расширений предлагается использовать перед extension ключевое слово static:
class Distance {
final int value;
const Distance(this.value);
}
static extension E1 on Distance {
factory Distance.fromHalf(int half) => Distance(2 * half);
}
void walk(Distance d) {...}
void main() {
walk(Distance.fromHalf(10));
}А во втором черновике предлагается не страдать фигней и просто расширить возможности уже существующих расширений, не плодя новых сущностей😎
Будет ли полезна для вас эта фича?
👍 - хочу релиза первого варианта черновика с static extension
😎 - не хочу страдать фигней и жду, что утвердят вторую версию черновика
👎 - нет