Skip to content

Commit eadd776

Browse files
authored
Merge pull request #64 from netglade/pub-workspaces
Move project into pub workspaces, add toHexString extension
2 parents ab92823 + 4ea10c7 commit eadd776

File tree

13 files changed

+77
-66
lines changed

13 files changed

+77
-66
lines changed

.fvm/fvm_config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"flutterSdkVersion": "3.24.0"
2+
"flutterSdkVersion": "3.27.1"
33
}

.fvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"flutter": "3.24.0"
2+
"flutter": "3.27.1"
33
}

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"dart.flutterSdkPath": ".fvm/versions/3.24.0",
2+
"dart.flutterSdkPath": ".fvm/versions/3.27.1",
33
"search.exclude": {
44
"**/.fvm": true,
55
"**/*.g.dart": true

melos.yaml

Lines changed: 0 additions & 32 deletions
This file was deleted.

packages/netglade_analysis/pubspec.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ screenshots:
1010
path: doc/icon.png
1111

1212
environment:
13-
sdk: ^3.5.0
13+
sdk: ^3.6.0
14+
resolution: workspace

packages/netglade_flutter_utils/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.1.0
2+
- Upgrade repo into pub workspaces
3+
- Add toHexString() in Colors extension.
4+
15
## 1.0.1
26
- Adhere to `netglade_analysis 12.0.0`.
37

packages/netglade_flutter_utils/lib/src/extensions/color_extensions.dart

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,16 @@ extension ColorExtensions on Color {
2929

3030
return Color(int.parse(value, radix: 16));
3131
}
32+
33+
// ignore: prefer-boolean-prefixes, ok naming.
34+
String toHexString({bool includeSign = false, bool includeAlpha = true, bool asUpperCase = true}) {
35+
final alpha = (a * 255).toInt().toRadixString(16).padLeft(2, '0');
36+
final red = (r * 255).toInt().toRadixString(16).padLeft(2, '0');
37+
final green = (g * 255).toInt().toRadixString(16).padLeft(2, '0');
38+
final blue = (b * 255).toInt().toRadixString(16).padLeft(2, '0');
39+
40+
final result = '${includeSign ? '#' : ''}${includeAlpha ? alpha : ''}$red$green$blue';
41+
42+
return asUpperCase ? result.toUpperCase() : result;
43+
}
3244
}

packages/netglade_flutter_utils/pubspec.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
name: netglade_flutter_utils
2-
version: 1.0.1
2+
version: 1.1.0
33
description: Flutter utils used internally at netglade.
44
repository: https://github.com/netglade/flutter_core/tree/main/packages/netglade_flutter_utils
55
issue_tracker: https://github.com/netglade/flutter_core/issues
66
homepage: https://github.com/netglade/flutter_core
77
documentation: https://github.com/netglade/flutter_core/tree/main/packages/netglade_flutter_utils
88

99
environment:
10-
sdk: ^3.5.0
10+
sdk: ^3.6.0
1111
flutter: ">=3.24.0"
12+
resolution: workspace
1213

1314
dependencies:
1415
flutter:
@@ -19,7 +20,7 @@ dev_dependencies:
1920
flutter_test:
2021
sdk: flutter
2122
mocktail: ^1.0.0
22-
netglade_analysis: ^12.0.0
23+
netglade_analysis: ^14.0.0
2324
test: ^1.24.6
2425

2526
flutter:

packages/netglade_flutter_utils/test/src/hooks/route_aware_test.dart

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ class _UnderTestWidget extends HookWidget {
7777
}
7878

7979
void _handlePushNextBtnPressed(BuildContext context) {
80-
// ignore: avoid-undisposed-instances, ok for test
8180
unawaited(Navigator.of(context).push(MaterialPageRoute<void>(builder: (_) => const _MockPage())));
8281
}
8382
}
@@ -135,11 +134,9 @@ void main() {
135134
);
136135

137136
await tester.tap(find.byKey(pushBtn));
138-
// ignore: avoid-ignoring-return-values, ignores number of pump performed
139137
await tester.pumpAndSettle();
140138

141139
await tester.tap(find.byKey(_UnderTestWidget._popBtnKey));
142-
// ignore: avoid-ignoring-return-values, ignores number of pump performed
143140
await tester.pumpAndSettle();
144141
expect(action, equals('didPop'));
145142
});
@@ -161,14 +158,12 @@ void main() {
161158
);
162159

163160
await tester.tap(find.byKey(_UnderTestWidget._pushNextBtnKey));
164-
// ignore: avoid-ignoring-return-values, ignores number of pump performed
165161
await tester.pumpAndSettle();
166162

167163
expect(action, equals('didPushNext'));
168164
expect(find.byKey(_MockPage._btnKey), findsOneWidget);
169165

170166
await tester.tap(find.byKey(_MockPage._btnKey));
171-
// ignore: avoid-ignoring-return-values, ignores number of pump performed
172167
await tester.pumpAndSettle();
173168

174169
expect(action, equals('didPopNext'));

packages/netglade_utils/lib/src/result/option.dart

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,17 @@ sealed class Option<T> {
1919
const factory Option.none() = None;
2020
const factory Option.some(T value) = Some<T>;
2121

22-
TResult map<TResult extends Object?>({
22+
TResult map<TResult>({
2323
required NoneCallback<TResult> none,
2424
required SomeCallback<TResult, T> some,
2525
});
2626

27-
TResult? mapOrNull<TResult extends Object?>({
27+
TResult? mapOrNull<TResult>({
2828
NullableNoneCallback<TResult>? none,
2929
NullableSomeCallback<TResult, T>? some,
3030
});
3131

32-
TResult when<TResult extends Object?>({
32+
TResult when<TResult>({
3333
required ValueNoneCallback<TResult> none,
3434
required ValueSomeCallback<TResult, T> some,
3535
});
@@ -39,21 +39,21 @@ final class None<T> extends Option<T> {
3939
const None();
4040

4141
@override
42-
TResult map<TResult extends Object?>({
42+
TResult map<TResult>({
4343
required NoneCallback<TResult> none,
4444
required SomeCallback<TResult, T> some,
4545
}) =>
4646
none();
4747

4848
@override
49-
TResult? mapOrNull<TResult extends Object?>({
49+
TResult? mapOrNull<TResult>({
5050
NullableNoneCallback<TResult>? none,
5151
NullableSomeCallback<TResult, T>? some,
5252
}) =>
5353
none?.call();
5454

5555
@override
56-
TResult when<TResult extends Object?>({
56+
TResult when<TResult>({
5757
required ValueNoneCallback<TResult> none,
5858
required ValueSomeCallback<TResult, T> some,
5959
}) =>
@@ -66,21 +66,21 @@ final class Some<T> extends Option<T> {
6666
const Some(this.value);
6767

6868
@override
69-
TResult map<TResult extends Object?>({
69+
TResult map<TResult>({
7070
required NoneCallback<TResult> none,
7171
required SomeCallback<TResult, T> some,
7272
}) =>
7373
some(this);
7474

7575
@override
76-
TResult? mapOrNull<TResult extends Object?>({
76+
TResult? mapOrNull<TResult>({
7777
NullableNoneCallback<TResult>? none,
7878
NullableSomeCallback<TResult, T>? some,
7979
}) =>
8080
some?.call(this);
8181

8282
@override
83-
TResult when<TResult extends Object?>({
83+
TResult when<TResult>({
8484
required ValueNoneCallback<TResult> none,
8585
required ValueSomeCallback<TResult, T> some,
8686
}) =>

packages/netglade_utils/lib/src/result/result_impl.dart

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@ sealed class Result<S, E> {
1616
const factory Result.success(S success) = Success<S, E>;
1717
const factory Result.error(E error) = Error<S, E>;
1818

19-
TResult map<TResult extends Object?>({
19+
TResult map<TResult>({
2020
required SuccessCallback<TResult, S, E> success,
2121
required ErrorCallback<TResult, S, E> error,
2222
});
2323

24-
TResult? mapOrNull<TResult extends Object?>({
24+
TResult? mapOrNull<TResult>({
2525
NullableSuccessCallback<TResult, S, E> success,
2626
NullableErrorCallback<TResult, S, E> error,
2727
});
2828

29-
TResult when<TResult extends Object?>({
29+
TResult when<TResult>({
3030
required SuccessValueCallback<TResult, S> success,
3131
required ErrorValueCallback<TResult, E> error,
3232
});
@@ -38,21 +38,21 @@ final class Success<S, E> extends Result<S, E> {
3838
const Success(this.success);
3939

4040
@override
41-
TResult map<TResult extends Object?>({
41+
TResult map<TResult>({
4242
required SuccessCallback<TResult, S, E> success,
4343
required ErrorCallback<TResult, S, E> error,
4444
}) =>
4545
success(this);
4646

4747
@override
48-
TResult? mapOrNull<TResult extends Object?>({
48+
TResult? mapOrNull<TResult>({
4949
NullableSuccessCallback<TResult, S, E>? success,
5050
NullableErrorCallback<TResult, S, E>? error,
5151
}) =>
5252
success?.call(this);
5353

5454
@override
55-
TResult when<TResult extends Object?>({
55+
TResult when<TResult>({
5656
required SuccessValueCallback<TResult, S> success,
5757
required ErrorValueCallback<TResult, E> error,
5858
}) =>
@@ -65,21 +65,21 @@ final class Error<S, E> extends Result<S, E> {
6565
const Error(this.error);
6666

6767
@override
68-
TResult map<TResult extends Object?>({
68+
TResult map<TResult>({
6969
required SuccessCallback<TResult, S, E> success,
7070
required ErrorCallback<TResult, S, E> error,
7171
}) =>
7272
error(this);
7373

7474
@override
75-
TResult? mapOrNull<TResult extends Object?>({
75+
TResult? mapOrNull<TResult>({
7676
NullableSuccessCallback<TResult, S, E>? success,
7777
NullableErrorCallback<TResult, S, E>? error,
7878
}) =>
7979
error?.call(this);
8080

8181
@override
82-
TResult when<TResult extends Object?>({
82+
TResult when<TResult>({
8383
required SuccessValueCallback<TResult, S> success,
8484
required ErrorValueCallback<TResult, E> error,
8585
}) =>

packages/netglade_utils/pubspec.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ homepage: https://github.com/netglade/flutter_core
77
documentation: https://github.com/netglade/flutter_core/tree/main/packages/netglade_utils
88

99
environment:
10-
sdk: ^3.5.0
10+
sdk: ^3.6.0
11+
resolution: workspace
1112

1213
dependencies:
1314
characters: ^1.2.0
@@ -17,5 +18,5 @@ dependencies:
1718
mocktail: ^1.0.0
1819

1920
dev_dependencies:
20-
netglade_analysis: ^12.0.0
21+
netglade_analysis: ^14.0.0
2122
test: ^1.24.6

pubspec.yaml

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,36 @@ name: workspace
22
publish_to: "none"
33

44
environment:
5-
sdk: ^3.0.0
5+
sdk: ^3.6.0
6+
workspace:
7+
- packages/netglade_analysis
8+
- packages/netglade_flutter_utils
9+
- packages/netglade_utils
10+
611

712
dev_dependencies:
8-
melos: ^3.0.0
13+
melos: ^7.0.0-dev.3
14+
15+
melos:
16+
scripts:
17+
# ANALYZING
18+
lint:
19+
run: melos run -- lint:dart && melos run lint:dcm
20+
description: Run all static analysis checks.
21+
22+
lint:dart:
23+
run: melos exec -c 10 -- dart analyze --fatal-infos
24+
description: Run Dart static analysis checks.
25+
26+
lint:dcm:
27+
run: melos exec -c 10 -- dcm analyze . --fatal-style --fatal-performance --fatal-warnings
28+
description: Run DCM static analysis checks.
29+
# TESTING
30+
test:
31+
run: melos exec -- flutter test
32+
packageFilters:
33+
dirExists:
34+
- test
35+
# CLEAN
36+
clean:
37+
run: melos exec -- flutter clean

0 commit comments

Comments
 (0)