File tree Expand file tree Collapse file tree 4 files changed +21
-19
lines changed
Expand file tree Collapse file tree 4 files changed +21
-19
lines changed Original file line number Diff line number Diff line change @@ -2,17 +2,27 @@ import 'dart:io';
22
33import 'package:add_imports/src/args.dart' ;
44import 'package:add_imports/src/config.dart' ;
5+ import 'package:add_imports/src/util.dart' ;
56import 'package:collection/collection.dart' ;
67
78void main (List <String > arguments) {
8- final args = Args .tryParse (arguments);
9+ final args = (() => Args .parse (arguments)). orNull ( );
910 if (args == null ) {
1011 print (Args .usage);
1112
1213 return ;
1314 }
1415
15- final config = Config .fromYaml (File (args.configpath).readAsStringSync ());
16+ final config = (() => Config .fromYaml (
17+ File (args.configpath).readAsStringSync (),
18+ )).orNull ();
19+
20+ if (config == null ) {
21+ print ('Error while reading config from "${args .configpath }"' );
22+
23+ return ;
24+ }
25+
1626 final sourceFile = File (args.filename);
1727 final sourceString = sourceFile.readAsStringSync ();
1828
Original file line number Diff line number Diff line change @@ -15,18 +15,9 @@ class Args {
1515 factory Args .parse (List <String > arguments) {
1616 final result = parser.parse (arguments);
1717
18-
1918 return Args (
2019 filename: result['filename' ] as String ,
2120 configpath: result['configpath' ] as String ,
2221 );
2322 }
24-
25- static Args ? tryParse (List <String > arguments) {
26- try {
27- return Args .parse (arguments);
28- } catch (_) {
29- return null ;
30- }
31- }
3223}
Original file line number Diff line number Diff line change @@ -21,12 +21,4 @@ class Config {
2121 fileUrlPrefix: parsedYaml['file_url_prefix' ] as String ,
2222 );
2323 }
24-
25- static Config ? tryFromYaml (String yamlString) {
26- try {
27- return Config .fromYaml (yamlString);
28- } catch (_) {
29- return null ;
30- }
31- }
3224}
Original file line number Diff line number Diff line change 1+ extension FunctionOrNull <T > on T Function () {
2+ T ? orNull () {
3+ try {
4+ return this ();
5+ } catch (_) {
6+ return null ;
7+ }
8+ }
9+ }
You can’t perform that action at this time.
0 commit comments