Skip to content

Conversation

@onno-vos-dev
Copy link
Member

@onno-vos-dev onno-vos-dev commented Mar 16, 2024

Description

Generate types and type specs for all generated functions in aws-elixir and aws-erlang

  • Generate common errors in order to unify types and reduce noise
  • Ensure that for Elixir, typedoc examples are considered code blocks
  • Erlang Type docs are not hoverable for now due to issues with 'rebar3 ex_doc'
    • Will follow up on this task
  • Increase Task.await/2 timeout

Follow up tasks

Tasks to follow up on:

  • aws_client() in aws-erlang is marked as opaque but this is not really true due to build_host/2. We should either fix this to be truly opaque or simply turn it into a regular type.
    • Due to this Dialyzer is not really happy with aws-erlang and while getting it down to 0 is likely gonna be a challenge, solving the above bring it down to 27 which is a lot more reasonable.
  • Add nowarn_unused_type to rebar.config in aws-erlang since some types are only used from comments (examples) and hence are "unused". Let's not flood the terminal with noise.

Generated code

Generated aws-elixir code as an example: comparison
Generated aws-erlang code as an example: comparison

Additional info

Related to #108 which I declined in favor of this one due to wrong branch naming.

Some additional screenshots

ElixirLS overview

Screenshot 2024-03-13 at 20 58 20

Erlang types overview

Screenshot 2024-03-16 at 11 45 27
Screenshot 2024-03-16 at 11 45 48

Copy link
Contributor

@philss philss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome work, @onno-vos-dev!! 🎉 ❤️

I liked very much the way it is describing the type! I hope in the future we can include the entire type description in the type specs.

I added some minor points only, but consider it approved! 😺
Please don't forget to run the formatter :)

…ir and aws-erlang

- Generate common errors in order to unify types and reduce noise
- Ensure that for Elixir, typedoc examples are considered code blocks
- Erlang Type docs are not hoverable for now due to issues with 'rebar3 ex_doc'
  - Will follow up on this task
- Increase Task.await/2 timeout
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants