Compile protocol buffer messages to TypeScript.
Messages now have a method called fromObject
which can coerce json data with the support for mapping non-scalar values.
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.
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.
{ServiceName}Client
is now fully typed. Including the rpcs inside the service not matter client_streaming
, server_streaming
, bidi
or unary
.