Skip to content

Type everything!

Compare
Choose a tag to compare
@thesayyn thesayyn released this 07 Jul 10:33

With this release, we have covered every inch of the generated code to be type-safe.

In #48, we introduced a new union type, that ensures one of the "one-of-fields" is present at most.
In #72, we introduced a new way to implement grpc services and fully typed service clients.

We introduced a few breaking changes to the generated service classes that would require some small changes in your codebase to comply with the breaking changes.

Breaking changes

  • interface I{ServiceName}Service is not generated anymore. Use typeof Unimplemented{ServiceName}Service.definition as a replacement.

  • interface I{ServiceName}Server is not generated anymore. Use Unimplemented{ServiceName}Service abstract class and extend your concrete service implementation from it. For further information see rpc.

  • constant {ServiceName} is not generated anymore. Use Unimplemented{ServiceName}Service.definition as a replacement.

Features

  • {ServiceName}Client is now fully typed. Including the rpcs inside the service not matter client_streaming, server_streaming, bidi or unary.