Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions lib/src/code_generators/swagger_enums_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:swagger_dart_code_generator/src/code_generators/constants.dart';
import 'package:swagger_dart_code_generator/src/code_generators/enum_model.dart';
import 'package:swagger_dart_code_generator/src/code_generators/swagger_generator_base.dart';
import 'package:swagger_dart_code_generator/src/code_generators/swagger_requests_generator.dart';
import 'package:swagger_dart_code_generator/src/code_generators/utils.dart';
import 'package:swagger_dart_code_generator/src/code_generators/v2/swagger_models_generator_v2.dart';
import 'package:swagger_dart_code_generator/src/extensions/string_extension.dart';
import 'package:swagger_dart_code_generator/src/models/generator_options.dart';
Expand Down Expand Up @@ -48,7 +49,7 @@ abstract class SwaggerEnumsGenerator extends SwaggerGeneratorBase {
final enumsFromClasses = definitions.keys
.map((String className) {
final result = generateEnumsFromClasses(
getValidatedClassName(className.pascalCase),
getValidatedClassName(className.toClassName),
definitions[className]!,
definitions,
);
Expand Down Expand Up @@ -101,7 +102,7 @@ ${allEnums.map((e) => e.toString()).join('\n')}
}

return generateEnumsFromClasses(
getValidatedClassName(className.pascalCase),
getValidatedClassName(className.toClassName),
schema,
{},
);
Expand Down Expand Up @@ -151,7 +152,7 @@ ${allEnums.map((e) => e.toString()).join('\n')}

if (successResponseSchema != null) {
final responseEnums = generateEnumsFromSchemaMap({
'${path.pascalCase}${requestType.pascalCase}\$$kResponse':
'${path.toClassName}${requestType.toClassName}\$$kResponse':
successResponseSchema
});
result.addAll(responseEnums);
Expand Down Expand Up @@ -223,7 +224,7 @@ ${allEnums.map((e) => e.toString()).join('\n')}
result.addAll(
generateEnumsContentFromModelProperties(
properties,
'$className\$${key.pascalCase}${isListProperty ? '\$Item' : ''}',
'$className\$${key.toClassName}${isListProperty ? '\$Item' : ''}',
),
);
}
Expand Down Expand Up @@ -304,7 +305,7 @@ ${allEnums.map((e) => e.toString()).join('\n')}

schema.items?.properties.forEach((key, value) {
final enumModel = generateEnumContentIfPossible(
value, '$className\$Item${key.pascalCase}');
value, '$className\$Item${key.toClassName}');
if (enumModel != null) {
result.add(enumModel);
}
Expand Down
5 changes: 3 additions & 2 deletions lib/src/code_generators/swagger_generator_base.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'package:recase/recase.dart';
import 'package:swagger_dart_code_generator/src/code_generators/constants.dart';
import 'package:swagger_dart_code_generator/src/code_generators/utils.dart';
import 'package:swagger_dart_code_generator/src/exception_words.dart';
import 'package:swagger_dart_code_generator/src/extensions/string_extension.dart';
import 'package:swagger_dart_code_generator/src/models/generator_options.dart';
Expand Down Expand Up @@ -36,8 +37,8 @@ abstract class SwaggerGeneratorBase {
final words = className.split('\$');

final result = words
.map((e) => e.pascalCase
.split(RegExp(r'\W+|\_'))
.map((e) => e.toClassName
.split(RegExp(r'\W+'))
.map((String str) => str.capitalize)
.join())
.join('\$')
Expand Down
23 changes: 12 additions & 11 deletions lib/src/code_generators/swagger_models_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'package:recase/recase.dart';
import 'package:swagger_dart_code_generator/src/code_generators/constants.dart';
import 'package:swagger_dart_code_generator/src/code_generators/enum_model.dart';
import 'package:swagger_dart_code_generator/src/code_generators/swagger_generator_base.dart';
import 'package:swagger_dart_code_generator/src/code_generators/utils.dart';
import 'package:swagger_dart_code_generator/src/exception_words.dart';
import 'package:swagger_dart_code_generator/src/extensions/string_extension.dart';
import 'package:swagger_dart_code_generator/src/models/generator_options.dart';
Expand Down Expand Up @@ -200,8 +201,8 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase {
neededResponse.schema != null &&
neededResponse.schema!.type == kObject &&
neededResponse.schema!.properties.isNotEmpty) {
final pathText = key.split('/').map((e) => e.pascalCase).join();
final requestText = operation.pascalCase;
final pathText = key.split('/').map((e) => e.toClassName).join();
final requestText = operation.toClassName;

results['$pathText$requestText\$Response'] = neededResponse.schema!;
}
Expand Down Expand Up @@ -248,7 +249,7 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase {

return generateModelClassContent(
root,
className.pascalCase,
className.toClassName,
classes[className]!,
classes,
options.defaultValuesMap,
Expand Down Expand Up @@ -313,7 +314,7 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase {
String? refNameParameter,
) {
if (refNameParameter != null) {
return refNameParameter.pascalCase;
return refNameParameter.toClassName;
}

if (parameter == null) return 'Object';
Expand All @@ -323,7 +324,7 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase {
}

if (parameter.hasRef) {
return parameter.ref.split('/').last.pascalCase;
return parameter.ref.split('/').last.toClassName;
}

switch (parameter.type) {
Expand Down Expand Up @@ -433,7 +434,7 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase {
isList = isList || allEnumListNames.contains(validatedTypeName);

final enumNameCamelCase = typeName.replaceAll('enums.', '').camelCase;
final propertyNameCamelCase = propertyName.pascalCase;
final propertyNameCamelCase = propertyName.toClassName;
final fromJsonPrefix = defaultValue == null
? enumNameCamelCase
: '$enumNameCamelCase$propertyNameCamelCase';
Expand Down Expand Up @@ -755,7 +756,7 @@ static $returnType $fromJsonFunction($valueType? value) => $enumNameCamelCase$fr
required Map<String, SwaggerSchema> allClasses,
}) {
if (className.endsWith('\$Item')) {
return kObject.pascalCase;
return kObject.toClassName;
}

final items = prop.items;
Expand Down Expand Up @@ -783,7 +784,7 @@ static $returnType $fromJsonFunction($valueType? value) => $enumNameCamelCase$fr
if (basicTypesMap.containsKey(typeName)) {
typeName = basicTypesMap[typeName]!;
} else if (typeName.isNotEmpty && typeName != kDynamic) {
typeName = typeName.pascalCase;
typeName = typeName.toClassName;
}
} else if (!allEnumNames.contains(typeName) &&
!kBasicTypes.contains(typeName.toLowerCase())) {
Expand Down Expand Up @@ -908,7 +909,7 @@ static $returnType $fromJsonFunction($valueType? value) => $enumNameCamelCase$fr
if (prop.hasAdditionalProperties && prop.type == 'object') {
typeName = kMapStringDynamic;
} else if (prop.hasRef) {
typeName = prop.ref.split('/').last.pascalCase + options.modelPostfix;
typeName = prop.ref.split('/').last.toClassName + options.modelPostfix;
} else {
typeName = getParameterTypeName(
className,
Expand Down Expand Up @@ -1336,7 +1337,7 @@ $copyWithMethod
}
for (var interface in _getInterfaces(schema)) {
if (interface.hasRef) {
final parentName = interface.ref.split('/').last.pascalCase;
final parentName = interface.ref.split('/').last.toClassName;
final parentSchema = schemas[parentName];

required.addAll(parentSchema != null
Expand Down Expand Up @@ -1537,7 +1538,7 @@ $allHashComponents;
if (schema != null) {
if (schema.type == kObject && schema.properties.isNotEmpty) {
final className =
'${pathKey.pascalCase}${requestKey.pascalCase}\$$kRequestBody';
'${pathKey.toClassName}${requestKey.toClassName}\$$kRequestBody';

result[getValidatedClassName(className)] = schema;
}
Expand Down
51 changes: 26 additions & 25 deletions lib/src/code_generators/swagger_requests_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:recase/recase.dart';
import 'package:swagger_dart_code_generator/src/code_generators/enum_model.dart';
import 'package:swagger_dart_code_generator/src/code_generators/swagger_generator_base.dart';
import 'package:swagger_dart_code_generator/src/code_generators/swagger_models_generator.dart';
import 'package:swagger_dart_code_generator/src/code_generators/utils.dart';
import 'package:swagger_dart_code_generator/src/extensions/parameter_extensions.dart';
import 'package:swagger_dart_code_generator/src/extensions/string_extension.dart';
import 'package:swagger_dart_code_generator/src/models/generator_options.dart';
Expand Down Expand Up @@ -419,15 +420,15 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
bool isMultipart,
) {
return [
refer(requestType.pascalCase).call(
refer(requestType.toClassName).call(
[],
{
kPath: literalString(path),
if (hasOptionalBody) 'optionalBody': refer(true.toString()),
},
),
if (isMultipart)
refer(kMultipart.pascalCase).call(
refer(kMultipart.toClassName).call(
[],
{},
),
Expand Down Expand Up @@ -479,10 +480,10 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
return refer(kField)
.call([literalString(parameter.name.replaceAll('\$', ''))]);
case kBody:
return refer(kBody.pascalCase).call([]);
return refer(kBody.toClassName).call([]);
default:
//https://github.com/lejard-h/chopper/issues/295
return refer(parameter.inParameter.pascalCase)
return refer(parameter.inParameter.toClassName)
.call([literalString(parameter.name.replaceAll('\$', ''))]);
}
}
Expand All @@ -494,11 +495,11 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
}) {
final pathString = path
.split('/')
.map((e) => e.replaceAll('}', '').replaceAll('{', '').pascalCase)
.map((e) => e.replaceAll('}', '').replaceAll('{', '').toClassName)
.join();

final result = getValidatedClassName(
'$pathString ${requestType.pascalCase} $parameterName');
'$pathString ${requestType.toClassName} $parameterName');

return result.asEnum();
}
Expand Down Expand Up @@ -603,15 +604,15 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
return _mapParameterName(parameter.schema!.type, format, modelPostfix);
}

return kObject.pascalCase;
return kObject.toClassName;
}

String _mapParameterName(String name, String format, String modelPostfix) {
if (name == kArray) {
return 'List?';
}

final result = kBasicTypesMap[name] ?? name.pascalCase + modelPostfix;
final result = kBasicTypesMap[name] ?? name.toClassName + modelPostfix;

if (result.isEmpty) {
return kDynamic;
Expand Down Expand Up @@ -708,7 +709,7 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
requestBody.content!.schema!.ref.getRef()))
..named = true
..annotations.add(
refer(kPart.pascalCase).call([]),
refer(kPart.toClassName).call([]),
),
),
);
Expand All @@ -729,7 +730,7 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
)
..named = true
..annotations.add(
refer(kPartFile.pascalCase).call([]),
refer(kPartFile.toClassName).call([]),
),
),
);
Expand All @@ -750,7 +751,7 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
)
..named = true
..annotations.add(
refer(kPartFile.pascalCase).call([]),
refer(kPartFile.toClassName).call([]),
),
),
);
Expand All @@ -767,7 +768,7 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
..type = Reference(typeName.makeNullable())
..named = true
..annotations.add(
refer(kPart.pascalCase).call([literalString(key)]),
refer(kPart.toClassName).call([literalString(key)]),
),
),
);
Expand Down Expand Up @@ -798,7 +799,7 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {

if (schema != null) {
if (schema.format == kBinary || schema.oneOf.isNotEmpty) {
typeName = kObject.pascalCase;
typeName = kObject.toClassName;
} else if (schema.items?.type.isNotEmpty == true) {
typeName = _mapParameterName(schema.items!.type, schema.items!.format,
options.modelPostfix)
Expand All @@ -808,7 +809,7 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
schema: schema,
modelPostfix: options.modelPostfix,
root: root,
requestPath: path + requestType.pascalCase,
requestPath: path + requestType.toClassName,
);
}
}
Expand All @@ -820,12 +821,12 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
..named = true
..required = true
..type = Reference(
(typeName.isNotEmpty ? typeName : kObject.pascalCase)
(typeName.isNotEmpty ? typeName : kObject.toClassName)
.makeNullable(),
)
..named = true
..annotations.add(
refer(kBody.pascalCase).call([]),
refer(kBody.toClassName).call([]),
),
),
);
Expand Down Expand Up @@ -882,7 +883,7 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
}

if (_isBasicTypeRef(ref, root)) {
return kObject.pascalCase;
return kObject.toClassName;
}

if (ref.isNotEmpty) {
Expand All @@ -895,7 +896,7 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
return getValidatedClassName('$requestPath\$$kRequestBody');
}

return kObject.pascalCase;
return kObject.toClassName;
}

return kBasicTypesMap[schema.type] ?? schema.type;
Expand All @@ -907,7 +908,7 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
}

if (_isBasicTypeRef(schema.ref, root)) {
return kObject.pascalCase;
return kObject.toClassName;
}

return getValidatedClassName(
Expand Down Expand Up @@ -960,7 +961,7 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
required String methodName,
required String modelPostfix,
}) {
return '${methodName.pascalCase}\$$kResponse$modelPostfix';
return '${methodName.toClassName}\$$kResponse$modelPostfix';
}

String? _getReturnTypeFromType(
Expand Down Expand Up @@ -1005,19 +1006,19 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
final neededResponse = allReusableObjects[ref.getUnformattedRef()];

if (neededResponse == null) {
return kObject.pascalCase;
return kObject.toClassName;
}

if (neededResponse.ref.isNotEmpty) {
return kObject.pascalCase;
return kObject.toClassName;
}

if (kBasicTypes.contains(neededResponse.type)) {
return kBasicTypesMap[neededResponse.type]!;
}

if (neededResponse.oneOf.isNotEmpty) {
return kObject.pascalCase;
return kObject.toClassName;
}

return getValidatedClassName(ref.getRef() + modelPostfix);
Expand Down Expand Up @@ -1068,11 +1069,11 @@ class SwaggerRequestsGenerator extends SwaggerGeneratorBase {
final neededSchema = allRefs[schemaRef.getUnformattedRef()];

if (neededSchema == null) {
return kObject.pascalCase;
return kObject.toClassName;
}

if (kBasicTypes.contains(neededSchema.type)) {
return kObject.pascalCase;
return kObject.toClassName;
}

final typeName =
Expand Down
Loading