From 18cf22eae5f8b12679bbcd81dbc6b4836e5cb048 Mon Sep 17 00:00:00 2001 From: Julian Steenbakker Date: Fri, 19 Mar 2021 13:46:57 +0100 Subject: [PATCH] style: apply pedantic --- analysis_options.yaml | 1 + lib/src/another_transformer_page_view.dart | 106 +++++++++++---------- lib/src/index_controller.dart | 18 ++-- lib/src/parallax.dart | 35 ++++--- pubspec.yaml | 1 + test/transformer_page_view_test.dart | 66 ++++++------- 6 files changed, 116 insertions(+), 111 deletions(-) create mode 100644 analysis_options.yaml diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..d4fcc1a --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1 @@ +include: package:pedantic/analysis_options.yaml \ No newline at end of file diff --git a/lib/src/another_transformer_page_view.dart b/lib/src/another_transformer_page_view.dart index 7b5972b..5918515 100644 --- a/lib/src/another_transformer_page_view.dart +++ b/lib/src/another_transformer_page_view.dart @@ -74,18 +74,19 @@ abstract class PageTransformer { /// final bool reverse; - PageTransformer({this.reverse: false}); + PageTransformer({this.reverse = false}); /// Return a transformed widget, based on child and TransformInfo Widget transform(Widget child, TransformInfo info); } -typedef Widget PageTransformerBuilderCallback(Widget child, TransformInfo info); +typedef PageTransformerBuilderCallback = Widget Function( + Widget child, TransformInfo info); class PageTransformerBuilder extends PageTransformer { final PageTransformerBuilderCallback builder; - PageTransformerBuilder({bool reverse: false, required this.builder}) + PageTransformerBuilder({bool reverse = false, required this.builder}) : super(reverse: reverse); @override @@ -103,9 +104,9 @@ class TransformerPageController extends PageController { int? initialPage = 0, bool keepPage = true, double viewportFraction = 1.0, - this.loop: false, + this.loop = false, this.itemCount, - this.reverse: false, + this.reverse = false, }) : super( initialPage: TransformerPageController._getRealIndexFromRenderIndex( initialPage ?? 0, loop, itemCount, reverse)!, @@ -121,7 +122,7 @@ class TransformerPageController extends PageController { return loop ? itemCount! + kMaxValue : itemCount; } - static _getRenderIndexFromRealIndex( + static int _getRenderIndexFromRealIndex( int index, bool loop, int? itemCount, bool reverse) { if (itemCount == 0) return 0; int? renderIndex; @@ -145,7 +146,7 @@ class TransformerPageController extends PageController { return super.page; } - static _getRenderPageFromRealPage( + static double? _getRenderPageFromRealPage( double? page, bool loop, int? itemCount, bool reverse) { double? renderPage; if (loop) { @@ -164,6 +165,7 @@ class TransformerPageController extends PageController { return renderPage; } + @override double? get page { return loop ? _getRenderPageFromRealPage(realPage, loop, itemCount, reverse) @@ -176,7 +178,12 @@ class TransformerPageController extends PageController { static int? _getRealIndexFromRenderIndex( int? index, bool loop, int? itemCount, bool reverse) { - int result = reverse ? itemCount! - index! - 1 : index!; + int result; + if (reverse) { + result = itemCount! - index! - 1; + } else { + result = index!; + } if (loop) { result += kMiddleValue; } @@ -247,9 +254,9 @@ class TransformerPageView extends StatefulWidget { Key? key, this.index, Duration? duration, - this.curve: Curves.ease, - this.viewportFraction: 1.0, - this.loop: false, + this.curve = Curves.ease, + this.viewportFraction = 1.0, + this.loop = false, this.scrollDirection = Axis.horizontal, this.physics, this.pageSnapping = true, @@ -260,17 +267,17 @@ class TransformerPageView extends StatefulWidget { this.pageController, required this.itemCount, }) : assert(itemCount == 0 || itemBuilder != null || transformer != null), - this.duration = - duration ?? new Duration(milliseconds: kDefaultTransactionDuration), + duration = + duration ?? Duration(milliseconds: kDefaultTransactionDuration), super(key: key); factory TransformerPageView.children( {Key? key, int? index, Duration? duration, - Curve curve: Curves.ease, - double viewportFraction: 1.0, - bool loop: false, + Curve curve = Curves.ease, + viewportFraction = 1.0, + bool loop = false, Axis scrollDirection = Axis.horizontal, ScrollPhysics? physics, bool pageSnapping = true, @@ -279,7 +286,7 @@ class TransformerPageView extends StatefulWidget { PageTransformer? transformer, required List children, TransformerPageController? pageController}) { - return new TransformerPageView( + return TransformerPageView( itemCount: children.length, itemBuilder: (BuildContext context, int index) { return children[index]; @@ -301,12 +308,12 @@ class TransformerPageView extends StatefulWidget { @override State createState() { - return new _TransformerPageViewState(); + return _TransformerPageViewState(); } static int? getRealIndexFromRenderIndex( {required bool reverse, int? index, int? itemCount, required bool loop}) { - int initPage = reverse ? (itemCount! - index! - 1) : index!; + var initPage = reverse ? (itemCount! - index! - 1) : index!; if (loop) { initPage += kMiddleValue; } @@ -319,7 +326,7 @@ class TransformerPageView extends StatefulWidget { int? itemCount, required bool loop, required double viewportFraction}) { - return new PageController( + return PageController( initialPage: getRealIndexFromRenderIndex( reverse: reverse, index: index, itemCount: itemCount, loop: loop)!, viewportFraction: viewportFraction); @@ -340,31 +347,28 @@ class _TransformerPageViewState extends State { TransformerPageController? _pageController; Widget _buildItemNormal(BuildContext context, int index) { - int renderIndex = _pageController!.getRenderIndexFromRealIndex(index)!; - Widget child = widget.itemBuilder!(context, renderIndex); + var renderIndex = _pageController!.getRenderIndexFromRealIndex(index)!; + var child = widget.itemBuilder!(context, renderIndex); return child; } Widget _buildItem(BuildContext context, int index) { - return new AnimatedBuilder( + return AnimatedBuilder( animation: _pageController!, builder: (BuildContext c, Widget? w) { - int? renderIndex = - _pageController!.getRenderIndexFromRealIndex(index); + var renderIndex = _pageController!.getRenderIndexFromRealIndex(index); Widget? child; if (widget.itemBuilder != null) { child = widget.itemBuilder!(context, renderIndex!); } - if (child == null) { - child = new Container(); - } + child ??= Container(); if (_size == null) { return child; } double position; - double? page = _pageController!.realPage; + var page = _pageController!.realPage; if (_transformer!.reverse) { position = page! - index; @@ -373,7 +377,7 @@ class _TransformerPageViewState extends State { } position *= widget.viewportFraction; - TransformInfo info = new TransformInfo( + var info = TransformInfo( index: renderIndex, width: _size!.width, height: _size!.height, @@ -402,9 +406,8 @@ class _TransformerPageViewState extends State { @override Widget build(BuildContext context) { - IndexedWidgetBuilder builder = - _transformer == null ? _buildItemNormal : _buildItem; - Widget child = new PageView.builder( + var builder = _transformer == null ? _buildItemNormal : _buildItem; + Widget child = PageView.builder( itemBuilder: builder, itemCount: _pageController!.getRealItemCount(), onPageChanged: _onIndexChanged, @@ -417,7 +420,7 @@ class _TransformerPageViewState extends State { if (_transformer == null) { return child; } - return new NotificationListener( + return NotificationListener( onNotification: (ScrollNotification notification) { if (notification is ScrollStartNotification) { _calcCurrentPixels(); @@ -444,9 +447,9 @@ class _TransformerPageViewState extends State { void _onGetSize(_) { Size? size; - RenderObject? renderObject = context.findRenderObject(); + var renderObject = context.findRenderObject(); if (renderObject != null) { - Rect bounds = renderObject.paintBounds; + var bounds = renderObject.paintBounds; size = bounds.size; } @@ -467,14 +470,12 @@ class _TransformerPageViewState extends State { _transformer = widget.transformer; // int index = widget.index ?? 0; _pageController = widget.pageController; - if (_pageController == null) { - _pageController = new TransformerPageController( - initialPage: widget.index, - itemCount: widget.itemCount, - loop: widget.loop, - reverse: - widget.transformer == null ? false : widget.transformer!.reverse); - } + _pageController ??= TransformerPageController( + initialPage: widget.index, + itemCount: widget.itemCount, + loop: widget.loop, + reverse: + widget.transformer == null ? false : widget.transformer!.reverse); // int initPage = _getRealIndexFromRenderIndex(index); // _pageController = new PageController(initialPage: initPage,viewportFraction: widget.viewportFraction); _fromIndex = _activeIndex = _pageController!.initialPage; @@ -489,14 +490,14 @@ class _TransformerPageViewState extends State { @override void didUpdateWidget(TransformerPageView oldWidget) { _transformer = widget.transformer; - int index = widget.index ?? 0; - bool created = false; + var index = widget.index ?? 0; + var created = false; if (_pageController != widget.pageController) { if (widget.pageController != null) { _pageController = widget.pageController; } else { created = true; - _pageController = new TransformerPageController( + _pageController = TransformerPageController( initialPage: widget.index, itemCount: widget.itemCount, loop: widget.loop, @@ -509,13 +510,14 @@ class _TransformerPageViewState extends State { if (_pageController!.getRenderIndexFromRealIndex(_activeIndex) != index) { _fromIndex = _activeIndex = _pageController!.initialPage; if (!created) { - int initPage = _pageController!.getRealIndexFromRenderIndex(index)!; + var initPage = _pageController!.getRealIndexFromRenderIndex(index)!; _pageController!.animateToPage(initPage, duration: widget.duration, curve: widget.curve); } } - if (_transformer != null) + if (_transformer != null) { WidgetsBinding.instance!.addPostFrameCallback(_onGetSize); + } if (_controller != getNotifier()) { if (_controller != null) { @@ -531,8 +533,9 @@ class _TransformerPageViewState extends State { @override void didChangeDependencies() { - if (_transformer != null) + if (_transformer != null) { WidgetsBinding.instance!.addPostFrameCallback(_onGetSize); + } super.didChangeDependencies(); } @@ -568,7 +571,7 @@ class _TransformerPageViewState extends State { } void onChangeNotifier() { - int? event = widget.controller!.event; + var event = widget.controller!.event; int? index; switch (event) { case IndexController.MOVE: @@ -599,6 +602,7 @@ class _TransformerPageViewState extends State { ChangeNotifier? _controller; + @override void dispose() { super.dispose(); if (_controller != null) { diff --git a/lib/src/index_controller.dart b/lib/src/index_controller.dart index fde7b10..27e983b 100644 --- a/lib/src/index_controller.dart +++ b/lib/src/index_controller.dart @@ -14,27 +14,27 @@ class IndexController extends ChangeNotifier { late bool animation; int? event; - Future move(int index, {bool animation: true}) { + Future move(int index, {bool animation = true}) { this.animation = animation; this.index = index; - this.event = MOVE; - _completer = new Completer(); + event = MOVE; + _completer = Completer(); notifyListeners(); return _completer.future; } - Future next({bool animation: true}) { - this.event = NEXT; + Future next({bool animation = true}) { + event = NEXT; this.animation = animation; - _completer = new Completer(); + _completer = Completer(); notifyListeners(); return _completer.future; } - Future previous({bool animation: true}) { - this.event = PREVIOUS; + Future previous({bool animation = true}) { + event = PREVIOUS; this.animation = animation; - _completer = new Completer(); + _completer = Completer(); notifyListeners(); return _completer.future; } diff --git a/lib/src/parallax.dart b/lib/src/parallax.dart index 1aacae6..d04d8da 100644 --- a/lib/src/parallax.dart +++ b/lib/src/parallax.dart @@ -2,7 +2,7 @@ import 'package:flutter/widgets.dart'; import 'another_transformer_page_view.dart'; -typedef void PaintCallback(Canvas canvas, Size siz); +typedef PaintCallback = void Function(Canvas canvas, Size siz); class ColorPainter extends CustomPainter { final Paint _paint; @@ -13,17 +13,16 @@ class ColorPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { - int index = info.fromIndex!; + var index = info.fromIndex!; _paint.color = colors[index]; - canvas.drawRect( - new Rect.fromLTWH(0.0, 0.0, size.width, size.height), _paint); + canvas.drawRect(Rect.fromLTWH(0.0, 0.0, size.width, size.height), _paint); if (info.done!) { return; } int alpha; int color; double opacity; - double? position = info.position; + var position = info.position; if (info.forward!) { if (index < colors.length - 1) { color = colors[index + 1].value & 0x00ffffff; @@ -38,9 +37,9 @@ class ColorPainter extends CustomPainter { } alpha = (0xff * opacity).toInt(); - _paint.color = new Color((alpha << 24) | color); + _paint.color = Color((alpha << 24) | color); canvas.drawRect( - new Rect.fromLTWH(0.0, 0.0, size.width, size.height), _paint); + Rect.fromLTWH(0.0, 0.0, size.width, size.height), _paint); } } else { if (index > 0) { @@ -56,9 +55,9 @@ class ColorPainter extends CustomPainter { } alpha = (0xff * opacity).toInt(); - _paint.color = new Color((alpha << 24) | color); + _paint.color = Color((alpha << 24) | color); canvas.drawRect( - new Rect.fromLTWH(0.0, 0.0, size.width, size.height), _paint); + Rect.fromLTWH(0.0, 0.0, size.width, size.height), _paint); } } } @@ -70,12 +69,12 @@ class ColorPainter extends CustomPainter { } class _ParallaxColorState extends State { - Paint paint = new Paint(); + Paint paint = Paint(); @override Widget build(BuildContext context) { - return new CustomPaint( - painter: new ColorPainter(paint, widget.info, widget.colors), + return CustomPaint( + painter: ColorPainter(paint, widget.info, widget.colors), child: widget.child, ); } @@ -96,7 +95,7 @@ class ParallaxColor extends StatefulWidget { @override State createState() { - return new _ParallaxColorState(); + return _ParallaxColorState(); } } @@ -109,15 +108,15 @@ class ParallaxContainer extends StatelessWidget { ParallaxContainer( {required this.child, required this.position, - this.translationFactor: 100.0, - this.opacityFactor: 1.0}); + this.translationFactor = 100.0, + this.opacityFactor = 1.0}); @override Widget build(BuildContext context) { return Opacity( opacity: (1 - position.abs()).clamp(0.0, 1.0) * opacityFactor, - child: new Transform.translate( - offset: new Offset(position * translationFactor, 0.0), + child: Transform.translate( + offset: Offset(position * translationFactor, 0.0), child: child, ), ); @@ -129,7 +128,7 @@ class ParallaxImage extends StatelessWidget { final double imageFactor; ParallaxImage.asset(String name, - {required double position, this.imageFactor: 0.3}) + {required double position, this.imageFactor = 0.3}) : image = Image.asset(name, fit: BoxFit.cover, alignment: FractionalOffset( diff --git a/pubspec.yaml b/pubspec.yaml index 6610cb9..cb8b2a9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -8,6 +8,7 @@ environment: sdk: '>=2.12.0 <3.0.0' dependencies: + pedantic: ^1.11.0 flutter: sdk: flutter diff --git a/test/transformer_page_view_test.dart b/test/transformer_page_view_test.dart index 6069f58..3d049fc 100644 --- a/test/transformer_page_view_test.dart +++ b/test/transformer_page_view_test.dart @@ -8,37 +8,37 @@ void main() { testWidgets('TransformerPageView basic usage', (WidgetTester tester) async { // Build our app and trigger a frame. await tester.pumpWidget(MaterialApp( - home: new TransformerPageView( + home: TransformerPageView( itemBuilder: (context, index) { - return Text("0"); + return Text('0'); }, itemCount: 10))); - expect(find.text("0", skipOffstage: false), findsOneWidget); + expect(find.text('0', skipOffstage: false), findsOneWidget); }); testWidgets('Zero item count ', (WidgetTester tester) async { // Build our app and trigger a frame. await tester.pumpWidget(MaterialApp( - home: new TransformerPageView( - transformer: new PageTransformerBuilder( + home: TransformerPageView( + transformer: PageTransformerBuilder( builder: (Widget child, TransformInfo info) { - return new Container( - child: new Text("0"), + return Container( + child: Text('0'), ); }), itemCount: 0))); - expect(find.text("0", skipOffstage: false), findsNothing); + expect(find.text('0', skipOffstage: false), findsNothing); }); testWidgets('TransformerPageView transformer only', (WidgetTester tester) async { // Build our app and trigger a frame. await tester.pumpWidget(MaterialApp( - home: new TransformerPageView( - transformer: new PageTransformerBuilder( + home: TransformerPageView( + transformer: PageTransformerBuilder( builder: (Widget child, TransformInfo info) { - return new Container( - child: new Text("0"), + return Container( + child: Text('0'), ); }), itemCount: 10))); @@ -49,8 +49,8 @@ void main() { // testWidgets('TransformerPageView animations', (WidgetTester tester) async { // // Build our app and trigger a frame. // await tester.pumpWidget(MaterialApp( -// home: new TransformerPageView( -// transformer: new ScaleAndFadeTransformer(), +// home: TransformerPageView( +// transformer: ScaleAndFadeTransformer(), // itemBuilder: (context, index) { // return Text("0"); // }, @@ -62,8 +62,8 @@ void main() { // testWidgets('TransformerPageView animations', (WidgetTester tester) async { // // Build our app and trigger a frame. // await tester.pumpWidget(MaterialApp( -// home: new TransformerPageView( -// transformer: new AccordionTransformer(), +// home: TransformerPageView( +// transformer: AccordionTransformer(), // itemBuilder: (context, index) { // return Text("0"); // }, @@ -75,8 +75,8 @@ void main() { // testWidgets('TransformerPageView animations', (WidgetTester tester) async { // // Build our app and trigger a frame. // await tester.pumpWidget(MaterialApp( -// home: new TransformerPageView( -// transformer: new ZoomInPageTransformer(), +// home: TransformerPageView( +// transformer: ZoomInPageTransformer(), // itemBuilder: (context, index) { // return Text("0"); // }, @@ -88,8 +88,8 @@ void main() { // testWidgets('TransformerPageView animations', (WidgetTester tester) async { // // Build our app and trigger a frame. // await tester.pumpWidget(MaterialApp( -// home: new TransformerPageView( -// transformer: new ZoomOutPageTransformer(), +// home: TransformerPageView( +// transformer: ZoomOutPageTransformer(), // itemBuilder: (context, index) { // return Text("0"); // }, @@ -101,8 +101,8 @@ void main() { // testWidgets('TransformerPageView animations', (WidgetTester tester) async { // // Build our app and trigger a frame. // await tester.pumpWidget(MaterialApp( -// home: new TransformerPageView( -// transformer: new ThreeDTransformer(), +// home: TransformerPageView( +// transformer: ThreeDTransformer(), // itemBuilder: (context, index) { // return Text("0"); // }, @@ -114,8 +114,8 @@ void main() { // testWidgets('TransformerPageView animations', (WidgetTester tester) async { // // Build our app and trigger a frame. // await tester.pumpWidget(MaterialApp( -// home: new TransformerPageView( -// transformer: new DeepthPageTransformer(), +// home: TransformerPageView( +// transformer: DeepthPageTransformer(), // itemBuilder: (context, index) { // return Text("0"); // }, @@ -126,26 +126,26 @@ void main() { // testWidgets('TransformerPageView controller', (WidgetTester tester) async { // Build our app and trigger a frame. - IndexController controller = new IndexController(); + var controller = IndexController(); await tester.pumpWidget(MaterialApp( - home: new TransformerPageView( + home: TransformerPageView( controller: controller, - transformer: new FackTransformer(), + transformer: FackTransformer(), itemBuilder: (context, index) { - print("===================build:$index"); - return Text("$index"); + print('===================build:$index'); + return Text('$index'); }, itemCount: 10))); - expect(find.text("0"), findsOneWidget); + expect(find.text('0'), findsOneWidget); await controller.next(animation: false); - expect(find.text("0"), findsOneWidget); + expect(find.text('0'), findsOneWidget); await controller.previous(animation: false); - expect(find.text("0"), findsOneWidget); + expect(find.text('0'), findsOneWidget); await controller.move(2, animation: false); - expect(find.text("0"), findsOneWidget); + expect(find.text('0'), findsOneWidget); }); }