Skip to content

Commit

Permalink
Fixed analyzer + formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
vanlooverenkoen committed Oct 24, 2020
1 parent 7163a0f commit 44feb43
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 27 deletions.
40 changes: 27 additions & 13 deletions lib/config/yml_generator_config.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,23 @@ class YmlGeneratorConfig {

YmlGeneratorConfig(PubspecConfig pubspecConfig, String configContent) {
loadYaml(configContent).forEach((key, value) {
final String baseDirectory = value['base_directory'] ?? pubspecConfig.baseDirectory;
final String baseDirectory =
value['base_directory'] ?? pubspecConfig.baseDirectory;
final String path = value['path'];
final YamlMap properties = value['properties'];
final YamlList converters = value['converters'];
final String type = value['type'];
if (type == 'custom') {
models.add(CustomModel(name: key, path: path, baseDirectory: baseDirectory));
models.add(
CustomModel(name: key, path: path, baseDirectory: baseDirectory));
return;
} else if (type == 'custom_from_to_json') {
models.add(CustomFromToJsonModel(name: key, path: path, baseDirectory: baseDirectory));
models.add(CustomFromToJsonModel(
name: key, path: path, baseDirectory: baseDirectory));
return;
} else if (type == 'json_converter') {
models.add(JsonConverterModel(name: key, path: path, baseDirectory: baseDirectory));
models.add(JsonConverterModel(
name: key, path: path, baseDirectory: baseDirectory));
return;
}
if (properties == null) {
Expand Down Expand Up @@ -69,7 +73,9 @@ class YmlGeneratorConfig {
}
fields.add(getField(propertyKey, propertyValue));
});
final mappedConverters = converters?.map((element) => element.toString())?.toList() ?? <String>[];
final mappedConverters =
converters?.map((element) => element.toString())?.toList() ??
<String>[];
models.add(ObjectModel(
name: key,
path: path,
Expand All @@ -85,10 +91,14 @@ class YmlGeneratorConfig {

Field getField(String name, YamlMap property) {
try {
final required = property.containsKey('required') && property['required'] == true;
final ignored = property.containsKey('ignore') && property['ignore'] == true;
final nonFinal = ignored || property.containsKey('non_final') && property['non_final'] == true;
final includeIfNull = property.containsKey('include_if_null') && property['include_if_null'] == false;
final required =
property.containsKey('required') && property['required'] == true;
final ignored =
property.containsKey('ignore') && property['ignore'] == true;
final nonFinal = ignored ||
property.containsKey('non_final') && property['non_final'] == true;
final includeIfNull = property.containsKey('include_if_null') &&
property['include_if_null'] == false;
final unknownEnumValue = property['unknown_enum_value'];
final jsonKey = property['jsonKey'] ?? property['jsonkey'];
final type = property['type'];
Expand Down Expand Up @@ -152,9 +162,11 @@ class YmlGeneratorConfig {
}

String getPathForName(PubspecConfig pubspecConfig, String name) {
final foundModel = models.firstWhere((model) => model.name == name, orElse: () => null);
final foundModel =
models.firstWhere((model) => model.name == name, orElse: () => null);
if (foundModel == null) return null;
final baseDirectory = foundModel.baseDirectory ?? pubspecConfig.baseDirectory;
final baseDirectory =
foundModel.baseDirectory ?? pubspecConfig.baseDirectory;
if (foundModel.path == null) {
return '$baseDirectory';
} else {
Expand Down Expand Up @@ -185,14 +197,16 @@ class YmlGeneratorConfig {
print(types);
types.forEach((type) {
if (!TypeChecker.isKnownDartType(type) && !names.contains(type)) {
throw Exception('Could not generate all models. `$type` is not added to the config file');
throw Exception(
'Could not generate all models. `$type` is not added to the config file');
}
});
}

static Model getModelByName(ItemType itemType) {
if (itemType is! ObjectType) return null;
final model = _models.firstWhere((element) => element.name == itemType.name, orElse: () => null);
final model = _models.firstWhere((element) => element.name == itemType.name,
orElse: () => null);
if (model == null) {
throw ArgumentError('getModelByname is null: given name: `$itemType`');
}
Expand Down
5 changes: 3 additions & 2 deletions lib/model/field.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@ class Field {
@required this.nonFinal,
@required this.unknownEnumValue,
String jsonKey,
})
})
// ignore: prefer_initializing_formals
: serializedName = jsonKey ?? name,
name = CaseUtil(KeywordHelper.instance.getCorrectKeyword(name)).camelCase;
name =
CaseUtil(KeywordHelper.instance.getCorrectKeyword(name)).camelCase;
}
1 change: 0 additions & 1 deletion lib/model/model/object_model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import 'package:meta/meta.dart';
import 'package:model_generator/model/field.dart';
import 'package:model_generator/model/model/model.dart';


class ObjectModel extends Model {
final List<Field> fields;
final List<String> converters;
Expand Down
12 changes: 3 additions & 9 deletions test/model/model/enum_model_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -40,24 +40,18 @@ void main() {
});
});

group('EnumField', (){
group('EnumField', () {
group('Default', () {
test('Normal EnumField', () {
final field = EnumField(
name: 'MY_ENUM_VALUE',
value: 'MY_ENUM_VALUE'
);
final field = EnumField(name: 'MY_ENUM_VALUE', value: 'MY_ENUM_VALUE');
expect(field.name, 'MY_ENUM_VALUE');
expect(field.serializedName, 'MY_ENUM_VALUE');
expect(field.value, 'MY_ENUM_VALUE');
});
});
group('Custom serializedName', () {
test('Normal Custom Base Dir', () {
final field = EnumField(
name: 'my_enum_value',
value: 'my_enum_value'
);
final field = EnumField(name: 'my_enum_value', value: 'my_enum_value');
expect(field.name, 'my_enum_value');
expect(field.serializedName, 'MY_ENUM_VALUE');
expect(field.value, 'my_enum_value');
Expand Down
4 changes: 2 additions & 2 deletions test/util/keyword_helper_test.dart
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import 'package:model_generator/util/case_util.dart';
import 'package:model_generator/util/keyword_helper.dart';
import 'package:test/test.dart';

void main() {
group('Default', () {
test('KeywordHelper', () {
KeywordHelper.instance.list.forEach((element) {
expect(KeywordHelper.instance.getCorrectKeyword(element), '${element}Value');
expect(KeywordHelper.instance.getCorrectKeyword(element),
'${element}Value');
});
});
});
Expand Down

0 comments on commit 44feb43

Please sign in to comment.