From c9467eb1bd4625cbc6b0c2ee14af24a2ee0942e8 Mon Sep 17 00:00:00 2001 From: Leo Farias Date: Wed, 3 Jul 2024 10:23:32 -0400 Subject: [PATCH] Lint --- melos.yaml | 1 - .../attributes/border/shape_border_dto.dart | 67 +++++++------------ .../mix/lib/src/core/factory/style_mix.dart | 6 +- .../mix/lib/src/specs/icon/icon_widget.dart | 8 +-- .../mix/test/bechmarks/widget_build_test.dart | 4 +- packages/mix/test/empty_widget.dart | 2 +- packages/mix/test/helpers/testing_utils.dart | 3 +- 7 files changed, 36 insertions(+), 55 deletions(-) diff --git a/melos.yaml b/melos.yaml index 56d28de3a..af56d18ea 100644 --- a/melos.yaml +++ b/melos.yaml @@ -45,7 +45,6 @@ scripts: steps: - melos exec --category="mix_deps" dart analyze --fatal-infos . - melos exec --category="mix_deps" --depends-on="dart_code_metrics_presets" dcm analyze --fatal-warnings --fatal-style --fatal-performance . - - melos exec --category="mix_deps" --depends-on="dart_code_metrics_presets" dcm analyze . - melos run custom_lint_analyze verify_version_pubspec_changelog: diff --git a/packages/mix/lib/src/attributes/border/shape_border_dto.dart b/packages/mix/lib/src/attributes/border/shape_border_dto.dart index eea788acb..046d7bba7 100644 --- a/packages/mix/lib/src/attributes/border/shape_border_dto.dart +++ b/packages/mix/lib/src/attributes/border/shape_border_dto.dart @@ -39,13 +39,13 @@ sealed class ShapeBorderDto extends Dto { BorderSideDto? get _side => this is OutlinedBorderDto ? (this as OutlinedBorderDto).side : null; - BeveledRectangleBorderDto toBeveledRectangleBorder(); - RoundedRectangleBorderDto toRoundedRectangleBorder(); - ContinuousRectangleBorderDto toContinuousRectangleBorder(); - CircleBorderDto toCircleBorder(); + BeveledRectangleBorderDto toBeveled(); + RoundedRectangleBorderDto toRoundedRectangle(); + ContinuousRectangleBorderDto toContinuous(); + CircleBorderDto toCircle(); StadiumBorderDto toStadiumBorder(); - StarBorderDto toStarBorder(); - LinearBorderDto toLinearBorder(); + StarBorderDto toStar(); + LinearBorderDto toLinear(); @override ShapeBorderDto merge(covariant ShapeBorderDto? other); @@ -71,36 +71,19 @@ sealed class OutlinedBorderDto return _exhaustiveMerge(a, b); } - static OutlinedBorderDto _exhaustiveMerge( - OutlinedBorderDto a, - OutlinedBorderDto b, - ) { - if (a.runtimeType == b.runtimeType) return a.merge(b); - - switch (b.runtimeType) { - case BeveledRectangleBorderDto: - return a - .toBeveledRectangleBorder() - .merge(b as BeveledRectangleBorderDto); - case RoundedRectangleBorderDto: - return a - .toRoundedRectangleBorder() - .merge(b as RoundedRectangleBorderDto); - case ContinuousRectangleBorderDto: - return a - .toContinuousRectangleBorder() - .merge(b as ContinuousRectangleBorderDto); - case CircleBorderDto: - return a.toCircleBorder().merge(b as CircleBorderDto); - case StadiumBorderDto: - return a.toStadiumBorder().merge(b as StadiumBorderDto); - case StarBorderDto: - return a.toStarBorder().merge(b as StarBorderDto); - case LinearBorderDto: - return a.toLinearBorder().merge(b as LinearBorderDto); - default: - throw ArgumentError('Unknown OutlinedBorderDto type: ${b.runtimeType}'); - } + static B _exhaustiveMerge(A a, B b) { + if (a.runtimeType == b.runtimeType) return a.merge(b) as B; + + return switch (b) { + (BeveledRectangleBorderDto g) => a.toBeveled().merge(g) as B, + (RoundedRectangleBorderDto g) => a.toRoundedRectangle().merge(g) as B, + (ContinuousRectangleBorderDto g) => a.toContinuous().merge(g) as B, + (CircleBorderDto g) => a.toCircle().merge(g) as B, + (StadiumBorderDto g) => a.toStadiumBorder().merge(g) as B, + (StarBorderDto g) => a.toStar().merge(g) as B, + (LinearBorderDto g) => a.toLinear().merge(g) as B, + }; } BoxShape? _toBoxShape() { @@ -118,7 +101,7 @@ sealed class OutlinedBorderDto /// Tries to get borderRadius if available for [OutlineBorderDto] @override - BeveledRectangleBorderDto toBeveledRectangleBorder() { + BeveledRectangleBorderDto toBeveled() { if (this is BeveledRectangleBorderDto) { return this as BeveledRectangleBorderDto; } @@ -130,7 +113,7 @@ sealed class OutlinedBorderDto } @override - ContinuousRectangleBorderDto toContinuousRectangleBorder() { + ContinuousRectangleBorderDto toContinuous() { return ContinuousRectangleBorderDto( borderRadius: _borderRadius, side: _side, @@ -138,7 +121,7 @@ sealed class OutlinedBorderDto } @override - RoundedRectangleBorderDto toRoundedRectangleBorder() { + RoundedRectangleBorderDto toRoundedRectangle() { if (this is RoundedRectangleBorderDto) { return this as RoundedRectangleBorderDto; } @@ -150,7 +133,7 @@ sealed class OutlinedBorderDto } @override - CircleBorderDto toCircleBorder() { + CircleBorderDto toCircle() { if (this is CircleBorderDto) return this as CircleBorderDto; return CircleBorderDto(side: _side); @@ -164,14 +147,14 @@ sealed class OutlinedBorderDto } @override - LinearBorderDto toLinearBorder() { + LinearBorderDto toLinear() { if (this is LinearBorderDto) return this as LinearBorderDto; return LinearBorderDto(side: _side); } @override - StarBorderDto toStarBorder() { + StarBorderDto toStar() { if (this is StarBorderDto) return this as StarBorderDto; return StarBorderDto(side: _side); diff --git a/packages/mix/lib/src/core/factory/style_mix.dart b/packages/mix/lib/src/core/factory/style_mix.dart index 5db010600..f502688a8 100644 --- a/packages/mix/lib/src/core/factory/style_mix.dart +++ b/packages/mix/lib/src/core/factory/style_mix.dart @@ -343,10 +343,10 @@ class AnimatedStyle extends Style { final AnimatedData animated; const AnimatedStyle._({ - required AttributeMap styles, - required AttributeMap variants, + required super.styles, + required super.variants, required this.animated, - }) : super._(styles: styles, variants: variants); + }) : super._(); factory AnimatedStyle( Style style, { diff --git a/packages/mix/lib/src/specs/icon/icon_widget.dart b/packages/mix/lib/src/specs/icon/icon_widget.dart index 56b774956..38ba008b4 100644 --- a/packages/mix/lib/src/specs/icon/icon_widget.dart +++ b/packages/mix/lib/src/specs/icon/icon_widget.dart @@ -118,10 +118,10 @@ class AnimatedIconSpecWidget extends ImplicitlyAnimatedWidget { this.semanticLabel, this.textDirection, this.modifierOrder = const [], - Curve curve = Curves.linear, - required Duration duration, - VoidCallback? onEnd, - }) : super(curve: curve, duration: duration, onEnd: onEnd); + super.curve, + required super.duration, + super.onEnd, + }); final IconData? icon; final IconSpec spec; diff --git a/packages/mix/test/bechmarks/widget_build_test.dart b/packages/mix/test/bechmarks/widget_build_test.dart index 19eab0b31..c58128b20 100644 --- a/packages/mix/test/bechmarks/widget_build_test.dart +++ b/packages/mix/test/bechmarks/widget_build_test.dart @@ -9,7 +9,7 @@ import 'package:mix/mix.dart'; import '../helpers/testing_utils.dart'; class _StyledContainerExample extends StatelessWidget { - const _StyledContainerExample({Key? key}) : super(key: key); + const _StyledContainerExample(); @override Widget build(BuildContext context) { @@ -164,7 +164,7 @@ void main() { } class StyleWidgetExpensiveAttributge extends StatelessWidget { - const StyleWidgetExpensiveAttributge({Key? key}) : super(key: key); + const StyleWidgetExpensiveAttributge({super.key}); @override Widget build(BuildContext context) { diff --git a/packages/mix/test/empty_widget.dart b/packages/mix/test/empty_widget.dart index 9d146db21..2dac67f69 100644 --- a/packages/mix/test/empty_widget.dart +++ b/packages/mix/test/empty_widget.dart @@ -1,7 +1,7 @@ import 'package:flutter/widgets.dart'; class Empty extends StatelessWidget { - const Empty({Key? key}) : super(key: key); + const Empty({super.key}); @override Widget build(BuildContext context) { diff --git a/packages/mix/test/helpers/testing_utils.dart b/packages/mix/test/helpers/testing_utils.dart index 937ef1fac..9da6794b5 100644 --- a/packages/mix/test/helpers/testing_utils.dart +++ b/packages/mix/test/helpers/testing_utils.dart @@ -168,8 +168,7 @@ extension WidgetTesterExt on WidgetTester { const FillWidget = SizedBox(width: 25, height: 25); class WrapMixThemeWidget extends StatelessWidget { - const WrapMixThemeWidget({required this.child, this.theme, Key? key}) - : super(key: key); + const WrapMixThemeWidget({required this.child, this.theme, super.key}); final Widget child; final MixThemeData? theme;