Draft/RFC: Adds a Service mixin that can be used to get static type safety for classes #3077
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Very rough "implementation", just adding some static type check tests that this actually provides static type support.
This doesn't actually implement these methods, and it's a bit TBD if the actual implementation should be in in the mixin or the
Obj
(probably the latter?)Preferably, the same implementation can be reused through composition in Function
This is also pending the discussion of whether to put these methods on the class directly or under a
.service
attribute or similar, but IMO this is the most promising and consistent way of doing it...Check these boxes or delete any item (or this section) if not relevant for this PR.
Note on protobuf: protobuf message changes in one place may have impact to
multiple entities (client, server, worker, database). See points above.
Changelog