Skip to content

Commit

Permalink
Refactor string utility function into extension function (#241)
Browse files Browse the repository at this point in the history
  • Loading branch information
vitusortner authored Jan 24, 2020
1 parent 0f14224 commit 6babe2e
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 12 deletions.
8 changes: 5 additions & 3 deletions floor_generator/lib/misc/string_utils.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
/// Makes the first letter of the supplied string [value] lowercase.
String decapitalize(final String value) {
return '${value[0].toLowerCase()}${value.substring(1)}';
extension StringUtils on String {
/// Makes the first letter of the supplied string [value] lowercase.
String decapitalize() {
return '${this[0].toLowerCase()}${substring(1)}';
}
}
8 changes: 4 additions & 4 deletions floor_generator/lib/writer/dao_writer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class DaoWriter extends Writer {
.toSet()
.map((entity) {
final constructor = entity.constructor;
final name = '_${decapitalize(entity.name)}Mapper';
final name = '_${entity.name.decapitalize()}Mapper';

return Field((builder) => builder
..name = name
Expand All @@ -82,7 +82,7 @@ class DaoWriter extends Writer {

for (final entity in entities) {
final entityClassName = entity.classElement.displayName;
final fieldName = '_${decapitalize(entityClassName)}InsertionAdapter';
final fieldName = '_${entityClassName.decapitalize()}InsertionAdapter';
final type = refer('InsertionAdapter<$entityClassName>');

final field = Field((builder) => builder
Expand Down Expand Up @@ -110,7 +110,7 @@ class DaoWriter extends Writer {

for (final entity in entities) {
final entityClassName = entity.classElement.displayName;
final fieldName = '_${decapitalize(entityClassName)}UpdateAdapter';
final fieldName = '_${entityClassName.decapitalize()}UpdateAdapter';
final type = refer('UpdateAdapter<$entityClassName>');

final field = Field((builder) => builder
Expand Down Expand Up @@ -138,7 +138,7 @@ class DaoWriter extends Writer {

for (final entity in entities) {
final entityClassName = entity.classElement.displayName;
final fieldName = '_${decapitalize(entityClassName)}DeletionAdapter';
final fieldName = '_${entityClassName.decapitalize()}DeletionAdapter';
final type = refer('DeletionAdapter<$entityClassName>');

final field = Field((builder) => builder
Expand Down
2 changes: 1 addition & 1 deletion floor_generator/lib/writer/deletion_method_writer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class DeletionMethodWriter implements Writer {
@nonNull
String _generateMethodBody() {
final entityClassName =
decapitalize(_method.entity.classElement.displayName);
_method.entity.classElement.displayName.decapitalize();
final methodSignatureParameterName = _method.parameterElement.name;

if (_method.flattenedReturnType.isVoid) {
Expand Down
2 changes: 1 addition & 1 deletion floor_generator/lib/writer/insertion_method_writer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class InsertionMethodWriter implements Writer {
@nonNull
String _generateMethodBody() {
final entityClassName =
decapitalize(_method.entity.classElement.displayName);
_method.entity.classElement.displayName.decapitalize();
final methodSignatureParameterName = _method.parameterElement.displayName;

if (_method.flattenedReturnType.isVoid) {
Expand Down
2 changes: 1 addition & 1 deletion floor_generator/lib/writer/query_method_writer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ class QueryMethodWriter implements Writer {
return _methodBody.toString();
}

final mapper = '_${decapitalize(_queryMethod.entity.name)}Mapper';
final mapper = '_${_queryMethod.entity.name.decapitalize()}Mapper';
if (_queryMethod.returnsStream) {
_methodBody.write(_generateStreamQuery(arguments, mapper));
} else {
Expand Down
2 changes: 1 addition & 1 deletion floor_generator/lib/writer/update_method_writer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class UpdateMethodWriter implements Writer {
@nonNull
String _generateMethodBody() {
final entityClassName =
decapitalize(_method.entity.classElement.displayName);
_method.entity.classElement.displayName.decapitalize();
final methodSignatureParameterName = _method.parameterElement.displayName;

if (_method.flattenedReturnType.isVoid) {
Expand Down
2 changes: 1 addition & 1 deletion floor_generator/test/misc/string_utils_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ void main() {
test('decapitalize word (first letter to lowercase)', () {
const string = 'FOO';

final actual = decapitalize(string);
final actual = string.decapitalize();

expect(actual, 'fOO');
});
Expand Down

0 comments on commit 6babe2e

Please sign in to comment.