Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] duplicate method's name when generate model. #720

Open
YeomDongUk opened this issue Jan 31, 2024 · 1 comment
Open

[BUG] duplicate method's name when generate model. #720

YeomDongUk opened this issue Jan 31, 2024 · 1 comment
Assignees
Labels
bug Something isn't working Triage needed

Comments

@YeomDongUk
Copy link

YeomDongUk commented Jan 31, 2024

Describe the bug
When generating Swagger models with property names that share the same prefix, such as "orderStatus" and "orderStatusList," where the latter ends with "List," it creates duplicate function names.

To Reproduce
스크린샷 2024-01-31 오전 11 21 06

String? searchOrderDtoRequestOrderStatusListToJson(
    enums.SearchOrderDtoRequestOrderStatusList? searchOrderDtoRequestOrderStatusList) {
  return searchOrderDtoRequestOrderStatusList?.value;
}

enums.SearchOrderDtoRequestOrderStatusList searchOrderDtoRequestOrderStatusListFromJson(
  Object? searchOrderDtoRequestOrderStatusList, [
  enums.SearchOrderDtoRequestOrderStatusList? defaultValue,
]) {
  return enums.SearchOrderDtoRequestOrderStatusList.values.firstWhereOrNull(
          (e) => e.value.toString().toLowerCase() == searchOrderDtoRequestOrderStatusList?.toString().toLowerCase()) ??
      defaultValue ??
      enums.SearchOrderDtoRequestOrderStatusList.swaggerGeneratedUnknown;
}

List<String> searchOrderDtoRequestOrderStatusListToJson(
    List<enums.SearchOrderDtoRequestOrderStatus>? searchOrderDtoRequestOrderStatus) {
  if (searchOrderDtoRequestOrderStatus == null) {
    return [];
  }

  return searchOrderDtoRequestOrderStatus.map((e) => e.value!).toList();
}

List<enums.SearchOrderDtoRequestOrderStatus> searchOrderDtoRequestOrderStatusListFromJson(
  List? searchOrderDtoRequestOrderStatus, [
  List<enums.SearchOrderDtoRequestOrderStatus>? defaultValue,
]) {
  if (searchOrderDtoRequestOrderStatus == null) {
    return defaultValue ?? [];
  }

  return searchOrderDtoRequestOrderStatus.map((e) => searchOrderDtoRequestOrderStatusFromJson(e.toString())).toList();
}

Expected behavior

Does not generate duplicate function names.

Swagger specification link
I can't provide it because it's within the internal network.

Library version used:
swagger_dart_code_generator: 2.11.11

@YeomDongUk YeomDongUk added bug Something isn't working Triage needed labels Jan 31, 2024
@YeomDongUk YeomDongUk changed the title [BUG] duplicate method's name when enum. [BUG] duplicate method's name when generate model. Jan 31, 2024
@Vovanella95
Copy link
Collaborator

Hi @YeomDongUk , can you provide swagger file with such issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Triage needed
Projects
None yet
Development

No branches or pull requests

3 participants