Skip to content

Commit e06e380

Browse files
committed
Use new casing-utils from source_helper
Drop internal implementations and tests
1 parent 368a8c7 commit e06e380

File tree

6 files changed

+7
-97
lines changed

6 files changed

+7
-97
lines changed

json_serializable/lib/src/helper_core.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import 'type_helper.dart';
1414
import 'type_helper_ctx.dart';
1515
import 'type_helpers/config_types.dart';
1616
import 'unsupported_type_error.dart';
17-
import 'utils.dart';
1817

1918
abstract class HelperCore {
2019
final ClassElement element;
@@ -38,7 +37,7 @@ abstract class HelperCore {
3837
escapeDartString(nameAccess(field));
3938

4039
@protected
41-
String get prefix => '_\$${nonPrivateName(element.name)}';
40+
String get prefix => '_\$${element.name.nonPrivate}';
4241

4342
/// Returns a [String] representing the type arguments that exist on
4443
/// [element].

json_serializable/lib/src/json_key_utils.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,11 +245,11 @@ String _encodedFieldName(
245245
case FieldRename.none:
246246
return fieldElement.name;
247247
case FieldRename.snake:
248-
return snakeCase(fieldElement.name);
248+
return fieldElement.name.snake;
249249
case FieldRename.kebab:
250-
return kebabCase(fieldElement.name);
250+
return fieldElement.name.kebab;
251251
case FieldRename.pascal:
252-
return pascalCase(fieldElement.name);
252+
return fieldElement.name.pascal;
253253
default:
254254
throw ArgumentError.value(
255255
classAnnotation,

json_serializable/lib/src/utils.dart

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -26,33 +26,6 @@ ConstantReader jsonKeyAnnotation(FieldElement element) =>
2626
bool hasJsonKeyAnnotation(FieldElement element) =>
2727
_jsonKeyAnnotation(element) != null;
2828

29-
final _upperCase = RegExp('[A-Z]');
30-
31-
String kebabCase(String input) => _fixCase(input, '-');
32-
33-
String snakeCase(String input) => _fixCase(input, '_');
34-
35-
String pascalCase(String input) {
36-
if (input.isEmpty) {
37-
return '';
38-
}
39-
40-
return input[0].toUpperCase() + input.substring(1);
41-
}
42-
43-
String _fixCase(String input, String separator) =>
44-
input.replaceAllMapped(_upperCase, (match) {
45-
var lower = match.group(0)!.toLowerCase();
46-
47-
if (match.start > 0) {
48-
lower = '$separator$lower';
49-
}
50-
51-
return lower;
52-
});
53-
54-
String nonPrivateName(String input) => input.replaceFirst(RegExp(r'^_*'), '');
55-
5629
Never throwUnsupported(FieldElement element, String message) =>
5730
throw InvalidGenerationSourceError(
5831
'Error with `@JsonKey` on `${element.name}`. $message',

json_serializable/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ dependencies:
1919
meta: ^1.3.0
2020
path: ^1.8.0
2121
source_gen: ^1.0.0
22-
source_helper: ^1.2.1
22+
source_helper: ^1.3.0
2323

2424
dev_dependencies:
2525
build_runner: ^2.0.0

json_serializable/test/utils_test.dart

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

json_serializable/tool/doc_builder.dart

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

66
import 'package:analyzer/dart/element/element.dart';
77
import 'package:build/build.dart';
8-
import 'package:json_serializable/src/utils.dart';
98
import 'package:pub_semver/pub_semver.dart';
109
import 'package:source_gen/source_gen.dart';
10+
import 'package:source_helper/source_helper.dart';
1111
import 'package:yaml/yaml.dart';
1212

1313
Builder docBuilder([_]) => _DocBuilder();
@@ -144,7 +144,7 @@ class _FieldInfo implements Comparable<_FieldInfo> {
144144
return '';
145145
}
146146

147-
return snakeCase(_classField!.name);
147+
return _classField!.name.snake;
148148
}
149149

150150
_FieldInfo(this._keyField, this._classField);

0 commit comments

Comments
 (0)