Skip to content

Commit fc43301

Browse files
Merge pull request #351 from StacDev/dv/stac-refactoring
Refactor type parsers
2 parents b2b66b0 + 2b5ece5 commit fc43301

File tree

204 files changed

+2276
-1822
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

204 files changed

+2276
-1822
lines changed

examples/movie_app/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ dependencies:
3434
# The following adds the Cupertino Icons font to your application.
3535
# Use with the CupertinoIcons class for iOS style icons.
3636
cupertino_icons: ^1.0.8
37-
stac:
37+
stac: ^1.0.0-dev.6
3838
stac_core:
3939
dio: ^5.8.0+1
4040
smooth_page_indicator: ^1.2.1

packages/stac/lib/src/parsers/actions/stac_dialog_action/stac_dialog_action_parser.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import 'dart:async';
22

33
import 'package:flutter/material.dart';
44
import 'package:stac/src/framework/framework.dart';
5-
import 'package:stac/src/parsers/types/type_parser.dart';
5+
import 'package:stac/src/parsers/foundation/interaction/stac_traversal_edge_behavior_parser.dart';
66
import 'package:stac/src/utils/color_utils.dart';
77
import 'package:stac_core/stac_core.dart';
88
import 'package:stac_framework/stac_framework.dart';
@@ -52,7 +52,7 @@ class StacDialogActionParser extends StacActionParser<StacDialogAction> {
5252
barrierColor: model.barrierColor.toColor(context),
5353
barrierLabel: model.barrierLabel,
5454
useSafeArea: model.useSafeArea ?? true,
55-
traversalEdgeBehavior: model.traversalEdgeBehavior.parse,
55+
traversalEdgeBehavior: model.traversalEdgeBehavior?.parse,
5656
);
5757
}
5858
}

packages/stac/lib/src/parsers/actions/stac_modal_bottom_sheet_action/stac_modal_bottom_sheet_action_parser.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import 'dart:async';
33
import 'package:flutter/material.dart';
44
import 'package:stac/src/framework/framework.dart';
55
import 'package:stac/src/parsers/core/stac_widget_parser.dart';
6-
import 'package:stac/src/parsers/types/type_parser.dart';
6+
import 'package:stac/src/parsers/foundation/borders/stac_border_parser.dart';
7+
import 'package:stac/src/parsers/foundation/geometry/stac_box_constraints_parser.dart';
78
import 'package:stac/src/utils/color_utils.dart';
89
import 'package:stac_core/stac_core.dart';
910
import 'package:stac_framework/stac_framework.dart';

packages/stac/lib/src/parsers/actions/stac_snack_bar/stac_snack_bar_parser.dart

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,13 @@ import 'dart:async';
33
import 'package:flutter/material.dart';
44
import 'package:stac/src/framework/framework.dart';
55
import 'package:stac/src/parsers/core/stac_action_parser.dart';
6-
import 'package:stac/src/parsers/painting/stac_edge_insets_parser.dart';
7-
import 'package:stac/src/parsers/types/type_parser.dart';
6+
import 'package:stac/src/parsers/foundation/animation/stac_duration_parsers.dart';
7+
import 'package:stac/src/parsers/foundation/borders/stac_shape_border_parser.dart';
8+
import 'package:stac/src/parsers/foundation/geometry/stac_edge_insets_parser.dart';
9+
import 'package:stac/src/parsers/foundation/interaction/stac_hit_test_behavior_parser.dart';
10+
import 'package:stac/src/parsers/foundation/layout/stac_clip_parser.dart';
11+
import 'package:stac/src/parsers/foundation/ui_components/stac_dismiss_direction_parser.dart';
12+
import 'package:stac/src/parsers/foundation/ui_components/stac_snack_bar_behavior_parser.dart';
813
import 'package:stac/src/utils/color_utils.dart';
914
import 'package:stac_core/stac_core.dart';
1015
import 'package:stac_framework/stac_framework.dart';
@@ -42,7 +47,7 @@ class StacSnackBarParser extends StacActionParser<StacSnackBar> {
4247
duration: model.duration?.parse ?? const Duration(milliseconds: 4000),
4348
onVisible: () => Stac.onCallFromJson(model.onVisible, context),
4449
dismissDirection: model.dismissDirection?.parse,
45-
clipBehavior: model.clipBehavior.parse,
50+
clipBehavior: model.clipBehavior?.parse ?? Clip.hardEdge,
4651
),
4752
);
4853
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:stac_core/stac_core.dart';
3+
4+
extension StacAlignmentDirectionalParser on StacAlignmentDirectional {
5+
AlignmentDirectional get parse {
6+
switch (this) {
7+
case StacAlignmentDirectional.topStart:
8+
return AlignmentDirectional.topStart;
9+
case StacAlignmentDirectional.topCenter:
10+
return AlignmentDirectional.topCenter;
11+
case StacAlignmentDirectional.topEnd:
12+
return AlignmentDirectional.topEnd;
13+
case StacAlignmentDirectional.centerStart:
14+
return AlignmentDirectional.centerStart;
15+
case StacAlignmentDirectional.center:
16+
return AlignmentDirectional.center;
17+
case StacAlignmentDirectional.centerEnd:
18+
return AlignmentDirectional.centerEnd;
19+
case StacAlignmentDirectional.bottomStart:
20+
return AlignmentDirectional.bottomStart;
21+
case StacAlignmentDirectional.bottomCenter:
22+
return AlignmentDirectional.bottomCenter;
23+
case StacAlignmentDirectional.bottomEnd:
24+
return AlignmentDirectional.bottomEnd;
25+
}
26+
}
27+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:stac_core/stac_core.dart';
3+
4+
extension StacAlignmentGeometryParser on StacAlignmentGeometry {
5+
Alignment get parse {
6+
return Alignment(dx, dy);
7+
}
8+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:stac_core/stac_core.dart';
3+
4+
extension StacAlignmentParser on StacAlignment {
5+
Alignment get parse {
6+
switch (this) {
7+
case StacAlignment.topLeft:
8+
return Alignment.topLeft;
9+
case StacAlignment.topCenter:
10+
return Alignment.topCenter;
11+
case StacAlignment.topRight:
12+
return Alignment.topRight;
13+
case StacAlignment.centerLeft:
14+
return Alignment.centerLeft;
15+
case StacAlignment.center:
16+
return Alignment.center;
17+
case StacAlignment.centerRight:
18+
return Alignment.centerRight;
19+
case StacAlignment.bottomLeft:
20+
return Alignment.bottomLeft;
21+
case StacAlignment.bottomCenter:
22+
return Alignment.bottomCenter;
23+
case StacAlignment.bottomRight:
24+
return Alignment.bottomRight;
25+
}
26+
}
27+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:stac_core/stac_core.dart';
3+
4+
extension StacCrossAxisAlignmentParser on StacCrossAxisAlignment {
5+
CrossAxisAlignment get parse {
6+
switch (this) {
7+
case StacCrossAxisAlignment.start:
8+
return CrossAxisAlignment.start;
9+
case StacCrossAxisAlignment.end:
10+
return CrossAxisAlignment.end;
11+
case StacCrossAxisAlignment.center:
12+
return CrossAxisAlignment.center;
13+
case StacCrossAxisAlignment.stretch:
14+
return CrossAxisAlignment.stretch;
15+
case StacCrossAxisAlignment.baseline:
16+
return CrossAxisAlignment.baseline;
17+
}
18+
}
19+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:stac_core/stac_core.dart';
3+
4+
extension StacIconAlignmentParser on StacIconAlignment {
5+
IconAlignment get parse {
6+
switch (this) {
7+
case StacIconAlignment.start:
8+
return IconAlignment.start;
9+
case StacIconAlignment.end:
10+
return IconAlignment.end;
11+
}
12+
}
13+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:stac_core/stac_core.dart';
3+
4+
extension StacMainAxisAlignmentParser on StacMainAxisAlignment {
5+
MainAxisAlignment get parse {
6+
switch (this) {
7+
case StacMainAxisAlignment.start:
8+
return MainAxisAlignment.start;
9+
case StacMainAxisAlignment.end:
10+
return MainAxisAlignment.end;
11+
case StacMainAxisAlignment.center:
12+
return MainAxisAlignment.center;
13+
case StacMainAxisAlignment.spaceBetween:
14+
return MainAxisAlignment.spaceBetween;
15+
case StacMainAxisAlignment.spaceAround:
16+
return MainAxisAlignment.spaceAround;
17+
case StacMainAxisAlignment.spaceEvenly:
18+
return MainAxisAlignment.spaceEvenly;
19+
}
20+
}
21+
}

0 commit comments

Comments
 (0)