Skip to content

Commit 14e8d36

Browse files
committed
closes #178
1 parent f2882a0 commit 14e8d36

File tree

4 files changed

+29
-13
lines changed

4 files changed

+29
-13
lines changed

codegen/gql_code_builder/lib/src/built_class.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import "package:built_collection/built_collection.dart";
22
import "package:code_builder/code_builder.dart";
3-
import "package:recase/recase.dart";
43

54
import "./common.dart";
5+
import "./utils/to_camel_case.dart";
66

77
/// Generates a class that implements [Built], along with its serializers
88
Class builtClass({
@@ -68,7 +68,7 @@ Class builtClass({
6868
if (getters != null) ...getters,
6969
// Serlialization methods
7070
buildSerializerGetter(className).rebuild(
71-
(b) => b..body = Code("_\$${className.camelCase}Serializer"),
71+
(b) => b..body = Code("_\$${toCamelCase(className)}Serializer"),
7272
),
7373
buildToJsonGetter(className),
7474
buildFromJsonGetter(className),

codegen/gql_code_builder/lib/src/schema/enum.dart

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import "package:built_collection/built_collection.dart";
22
import "package:code_builder/code_builder.dart";
33
import "package:gql/ast.dart";
4-
import "package:gql_code_builder/schema.dart";
5-
import "package:recase/recase.dart";
64

7-
import "package:gql_code_builder/src/common.dart";
5+
import "../../schema.dart";
6+
import "../common.dart";
7+
import "../utils/to_camel_case.dart";
88

99
Class buildEnumClass(
1010
EnumTypeDefinitionNode node,
@@ -97,7 +97,7 @@ ListBuilder<Method> _buildMethods(
9797
..type = MethodType.getter
9898
..name = "serializer"
9999
..lambda = true
100-
..body = Code("_\$${enumName.camelCase}Serializer"),
100+
..body = Code("_\$${toCamelCase(enumName)}Serializer"),
101101
),
102102
Method(
103103
(b) => b
@@ -113,7 +113,7 @@ ListBuilder<Method> _buildMethods(
113113
..type = MethodType.getter
114114
..name = "values"
115115
..lambda = true
116-
..body = Code("_\$${enumName.camelCase}Values"),
116+
..body = Code("_\$${toCamelCase(enumName)}Values"),
117117
),
118118
Method(
119119
(b) => b
@@ -128,7 +128,7 @@ ListBuilder<Method> _buildMethods(
128128
),
129129
)
130130
..lambda = true
131-
..body = refer("_\$${enumName.camelCase}ValueOf")
131+
..body = refer("_\$${toCamelCase(enumName)}ValueOf")
132132
.call([refer("name")]).code,
133133
),
134134
],
@@ -177,5 +177,5 @@ Field _buildConst(
177177
..type = refer(enumName)
178178
..name = _escapeConstName(node.name.value)
179179
..assignment = Code(
180-
"_\$${enumName.camelCase}${_escapeConstName(node.name.value)}"),
180+
"_\$${toCamelCase(enumName)}${_escapeConstName(node.name.value)}"),
181181
);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
String toCamelCase(String name) {
2+
var result = "";
3+
var upperCase = false;
4+
var firstCharacter = true;
5+
for (final char in name.split("")) {
6+
if (char == "_") {
7+
upperCase = true;
8+
} else {
9+
result += firstCharacter
10+
? char.toLowerCase()
11+
: (upperCase ? char.toUpperCase() : char);
12+
upperCase = false;
13+
firstCharacter = false;
14+
}
15+
}
16+
return result;
17+
}

codegen/gql_code_builder/pubspec.yaml

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: gql_code_builder
22
version: 0.2.0
33
description: Dart code builders taking *.graphql documents and SDL to build useful classes.
44
repository: https://github.com/gql-dart/gql
5-
environment:
5+
environment:
66
sdk: '>=2.12.0 <3.0.0'
7-
dependencies:
7+
dependencies:
88
analyzer: ^1.2.0
99
built_collection: ^5.0.0
1010
built_value: ^8.0.6
@@ -13,8 +13,7 @@ dependencies:
1313
gql: ^0.13.0
1414
gql_exec: ^0.3.0
1515
path: ^1.8.0
16-
recase: ^4.0.0
17-
dev_dependencies:
16+
dev_dependencies:
1817
build_runner: ^2.0.0
1918
gql_pedantic: ^1.0.2
2019
test: ^1.16.8

0 commit comments

Comments
 (0)