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] Invalid generated type for array #571

Closed
juh9870 opened this issue Mar 11, 2023 · 0 comments · Fixed by #573
Closed

[BUG] Invalid generated type for array #571

juh9870 opened this issue Mar 11, 2023 · 0 comments · Fixed by #573
Assignees
Labels
bug Something isn't working Triage needed

Comments

@juh9870
Copy link

juh9870 commented Mar 11, 2023

Describe the bug
Generated types for my Schema have array field incorrectly generated as list of lists, instead of just a list, leading to deserialization issues.

To Reproduce
Schema: https://pastebin.com/LeDj3HbB

{
//...
    "BookEntity": {
        "type": "object",
        "properties": {
        // ...
          "tags": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "GENRE",
                    "AUTHOR",
                    "MISC"
                  ]
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "type",
                "name"
              ]
            }
          }
        // ...
        }
    }
//...
}

Generated code:

class BookEntity {
// ...
  @JsonKey(name: 'tags', defaultValue: <BookEntity$Tags>[])
  final List<BookEntity$Tags> tags;
// ...
}
// ...

typedef BookEntity$Tags = List<BookEntity$Tags$Item>;

Expected behavior
Non-nested list should be generated

class BookEntity {
// ...
  @JsonKey(name: 'tags', defaultValue: <BookEntity$Tags$Item>[])
  final BookEntity$Tags tags;
// ...
}
// ...

typedef BookEntity$Tags = List<BookEntity$Tags$Item>;

Swagger specification link
Schema: https://pastebin.com/LeDj3HbB

Library version used:
chopper: ^6.1.1
json_annotation: ^4.8.0
chopper_generator: ^6.0.0
json_serializable: ^6.6.1
swagger_dart_code_generator: ^2.10.2

Additional context
Add any other context about the problem here.

@juh9870 juh9870 added bug Something isn't working Triage needed labels Mar 11, 2023
Vovanella95 pushed a commit that referenced this issue Mar 22, 2023
Vovanella95 added a commit that referenced this issue Mar 23, 2023
* Fixed #553 Generation putIfAbsent for names begins with "Map"

* Removed not needed property

* Removed toJson generation

* Returned generation of toJson()

* Implemented toJson only for some models feature

* Fixed some errors

* Added some fixes

* Added createToJson: false for models without toJson

* Fixed #554 generation of putIfAbsent for not needed schemas

* Updated pubspec and changelog

* Reverted change in analysis_options

* Fixed warnings

* Fixed generation of multipart data

* Fixed parameter type generation

* Changed dynamic to Object

* Some fixes

* Add recognition of int64 as int

* Fixed #571

* Fixed #572

* Fixed #570

---------

Co-authored-by: Uladzimir Paliukhovich <uladzimir_paliukhovich@epam.com>
Vovanella95 added a commit that referenced this issue Apr 11, 2023
* Fixed #553 Generation putIfAbsent for names begins with "Map"

* Removed not needed property

* Removed toJson generation

* Returned generation of toJson()

* Implemented toJson only for some models feature

* Fixed some errors

* Added some fixes

* Added createToJson: false for models without toJson

* Fixed #554 generation of putIfAbsent for not needed schemas

* Updated pubspec and changelog

* Reverted change in analysis_options

* Fixed warnings

* Fixed generation of multipart data

* Fixed parameter type generation

* Changed dynamic to Object

* Some fixes

* Add recognition of int64 as int

* Fixed #571

* Fixed #572

* Fixed #570

* Fix #576

* Updated changelog

* Some fixed in configs

* Reverted changes

---------

Co-authored-by: Uladzimir Paliukhovich <uladzimir_paliukhovich@epam.com>
Vovanella95 added a commit that referenced this issue Apr 12, 2023
* Fixed #553 Generation putIfAbsent for names begins with "Map"

* Removed not needed property

* Removed toJson generation

* Returned generation of toJson()

* Implemented toJson only for some models feature

* Fixed some errors

* Added some fixes

* Added createToJson: false for models without toJson

* Fixed #554 generation of putIfAbsent for not needed schemas

* Updated pubspec and changelog

* Reverted change in analysis_options

* Fixed warnings

* Fixed generation of multipart data

* Fixed parameter type generation

* Changed dynamic to Object

* Some fixes

* Add recognition of int64 as int

* Fixed #571

* Fixed #572

* Fixed #570

* Fix #576

* Updated changelog

* Some fixed in configs

* Reverted changes

* implemented support of multipart for border cases

* Added fix for partFile parameters

* Updated pubspec and changelog

* Formatted lib folder

* Fixed warning

---------

Co-authored-by: Uladzimir Paliukhovich <uladzimir_paliukhovich@epam.com>
Vovanella95 added a commit that referenced this issue Apr 20, 2023
* Fixed #553 Generation putIfAbsent for names begins with "Map"

* Removed not needed property

* Removed toJson generation

* Returned generation of toJson()

* Implemented toJson only for some models feature

* Fixed some errors

* Added some fixes

* Added createToJson: false for models without toJson

* Fixed #554 generation of putIfAbsent for not needed schemas

* Updated pubspec and changelog

* Reverted change in analysis_options

* Fixed warnings

* Fixed generation of multipart data

* Fixed parameter type generation

* Changed dynamic to Object

* Some fixes

* Add recognition of int64 as int

* Fixed #571

* Fixed #572

* Fixed #570

* Fix #576

* Updated changelog

* Some fixed in configs

* Reverted changes

* implemented support of multipart for border cases

* Added fix for partFile parameters

* Updated pubspec and changelog

* Formatted lib folder

* Fixed warning

* Updated libs
Fixed generation of with base url

* Small fix

* Fixed dependencies

---------

Co-authored-by: Uladzimir Paliukhovich <uladzimir_paliukhovich@epam.com>
Vovanella95 added a commit that referenced this issue May 1, 2023
* Fixed #553 Generation putIfAbsent for names begins with "Map"

* Removed not needed property

* Removed toJson generation

* Returned generation of toJson()

* Implemented toJson only for some models feature

* Fixed some errors

* Added some fixes

* Added createToJson: false for models without toJson

* Fixed #554 generation of putIfAbsent for not needed schemas

* Updated pubspec and changelog

* Reverted change in analysis_options

* Fixed warnings

* Fixed generation of multipart data

* Fixed parameter type generation

* Changed dynamic to Object

* Some fixes

* Add recognition of int64 as int

* Fixed #571

* Fixed #572

* Fixed #570

* Fix #576

* Updated changelog

* Some fixed in configs

* Reverted changes

* implemented support of multipart for border cases

* Added fix for partFile parameters

* Updated pubspec and changelog

* Formatted lib folder

* Fixed warning

* Updated libs
Fixed generation of with base url

* Small fix

* Fixed dependencies

* Added support of nullabe responses

---------

Co-authored-by: Uladzimir Paliukhovich <uladzimir_paliukhovich@epam.com>
Vovanella95 added a commit that referenced this issue May 2, 2023
* Fixed #553 Generation putIfAbsent for names begins with "Map"

* Removed not needed property

* Removed toJson generation

* Returned generation of toJson()

* Implemented toJson only for some models feature

* Fixed some errors

* Added some fixes

* Added createToJson: false for models without toJson

* Fixed #554 generation of putIfAbsent for not needed schemas

* Updated pubspec and changelog

* Reverted change in analysis_options

* Fixed warnings

* Fixed generation of multipart data

* Fixed parameter type generation

* Changed dynamic to Object

* Some fixes

* Add recognition of int64 as int

* Fixed #571

* Fixed #572

* Fixed #570

* Fix #576

* Updated changelog

* Some fixed in configs

* Reverted changes

* implemented support of multipart for border cases

* Added fix for partFile parameters

* Updated pubspec and changelog

* Formatted lib folder

* Fixed warning

* Updated libs
Fixed generation of with base url

* Small fix

* Fixed dependencies

* Added support of nullabe responses

* Fixed #579

* Removed not needed tests

---------

Co-authored-by: Uladzimir Paliukhovich <uladzimir_paliukhovich@epam.com>
Vovanella95 added a commit that referenced this issue Jun 7, 2023
* Fixed #553 Generation putIfAbsent for names begins with "Map"

* Removed not needed property

* Removed toJson generation

* Returned generation of toJson()

* Implemented toJson only for some models feature

* Fixed some errors

* Added some fixes

* Added createToJson: false for models without toJson

* Fixed #554 generation of putIfAbsent for not needed schemas

* Updated pubspec and changelog

* Reverted change in analysis_options

* Fixed warnings

* Fixed generation of multipart data

* Fixed parameter type generation

* Changed dynamic to Object

* Some fixes

* Add recognition of int64 as int

* Fixed #571

* Fixed #572

* Fixed #570

* Fix #576

* Updated changelog

* Some fixed in configs

* Reverted changes

* implemented support of multipart for border cases

* Added fix for partFile parameters

* Updated pubspec and changelog

* Formatted lib folder

* Fixed warning

* Updated libs
Fixed generation of with base url

* Small fix

* Fixed dependencies

* CUSTOM_IMPORT_AND_RETURN_TYPE : DONE

* Added support of nullabe responses

* Fixed #579

* Removed not needed tests

* Fixed generation of request parameters

* Some refactoring of generator

* Some improvements and refactoring

* Some fixes and refactoring

* Updated version in pubspec

* Changed string postfix extension

* Updated changelog

* Fixed warnings

* Fixed generation of classes from list properties of another classes

* Fixed generation of number classes

* Updated pubspec

* Some fixes and refactoring

* Some fixes and improvements

* Some fixes

* Fixed models generation

* Updated pubspec and changelog

* Fixed generation of complex models

* Updated pubspec and changelog

* Fixed generation of allOf refs

* Updated pubspec and changelog

* Resolved conflicts

* Some fixes

* Some fixes and refactoring

---------

Co-authored-by: Uladzimir Paliukhovich <uladzimir_paliukhovich@epam.com>
Co-authored-by: Yauheni_Navakolski <>
vipw pushed a commit to vipw/swagger-dart-code-generator that referenced this issue Aug 9, 2023
* Fixed epam-cross-platform-lab#553 Generation putIfAbsent for names begins with "Map"

* Removed not needed property

* Removed toJson generation

* Returned generation of toJson()

* Implemented toJson only for some models feature

* Fixed some errors

* Added some fixes

* Added createToJson: false for models without toJson

* Fixed epam-cross-platform-lab#554 generation of putIfAbsent for not needed schemas

* Updated pubspec and changelog

* Reverted change in analysis_options

* Fixed warnings

* Fixed generation of multipart data

* Fixed parameter type generation

* Changed dynamic to Object

* Some fixes

* Add recognition of int64 as int

* Fixed epam-cross-platform-lab#571

* Fixed epam-cross-platform-lab#572

* Fixed epam-cross-platform-lab#570

* Fix epam-cross-platform-lab#576

* Updated changelog

* Some fixed in configs

* Reverted changes

* implemented support of multipart for border cases

* Added fix for partFile parameters

* Updated pubspec and changelog

* Formatted lib folder

* Fixed warning

* Updated libs
Fixed generation of with base url

* Small fix

* Fixed dependencies

* CUSTOM_IMPORT_AND_RETURN_TYPE : DONE

* Added support of nullabe responses

* Fixed epam-cross-platform-lab#579

* Removed not needed tests

* Fixed generation of request parameters

* Some refactoring of generator

* Some improvements and refactoring

* Some fixes and refactoring

* Updated version in pubspec

* Changed string postfix extension

* Updated changelog

* Fixed warnings

* Fixed generation of classes from list properties of another classes

* Fixed generation of number classes

* Updated pubspec

* Some fixes and refactoring

* Some fixes and improvements

* Some fixes

* Fixed models generation

* Updated pubspec and changelog

* Fixed generation of complex models

* Updated pubspec and changelog

* Fixed generation of allOf refs

* Updated pubspec and changelog

* Resolved conflicts

* Some fixes

* Some fixes and refactoring

---------

Co-authored-by: Uladzimir Paliukhovich <uladzimir_paliukhovich@epam.com>
Co-authored-by: Yauheni_Navakolski <>
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

Successfully merging a pull request may close this issue.

3 participants