[rb] Expand RBS typing support by replacing untypes with precise typing#13709
[rb] Expand RBS typing support by replacing untypes with precise typing#13709titusfortner merged 26 commits intoSeleniumHQ:trunkfrom
Conversation
… into expand_rbs_type_checking
… into expand_rbs_type_checking
… into expand_rbs_type_checking
PR Review 🔍
|
|
Once this PR is merged I will keep improving the RBS-type support and in the meantime, I will work on my draft #13796 and I will add the correspondent RBS files for all the new classes and modules |
PR Code Suggestions ✨
|
|
Hi @p0deje I hope you are having a great day, if you have time could you review this PR? thank you so much |
|
@aguspe thank you! |
…ng (SeleniumHQ#13709) * Update atoms.rb signature types * Start adding bidi types * Extended types of devtools and edge * Added firefox and safari types and removed unused signature * Update chrome features with type and remove Safari error * Update server and remove unused signature * Expand Server type signature * expanding type support on options * Expand options types * add extra options support * Expand options support --------- Co-authored-by: aguspe <agustin.pe94@gmail.com>
User description
Description
This PR is the first PR of several to replace the untyped types for the precise types in all of the RBS signature files
The goal of splitting this process into multiple PRs is to make it easier for reviewers to go through the PRs, if anyone will prefer a big PR instead please let me know
Motivation and Context
Based on #10943 I created the following PRs to add RBS-type support to the ruby selenium library:
On #12844 I started adding support for RBS and I added the steep file configuration
On #13192 I extended the classes supported on RBS and updated the logger file
On #13234 I added RBS files for the entire selenium library,
however several of the autogenerated files only have the type defined as untyped instead of the precise type
Example
Before:
After:
Types of changes
Checklist
PR Type
Enhancement
Description
untyped.Changes walkthrough 📝
10 files
server.rbs
Replace untyped attributes and methods with specific typesrb/sig/lib/selenium/server.rbs
String,Integer,bool).untyped.atoms.rbs
Update method signatures with specific typesrb/sig/lib/selenium/webdriver/atoms.rbs
untyped.bidi.rbs
Replace untyped attributes and methods with specific typesrb/sig/lib/selenium/webdriver/bidi.rbs
WebSocketConnection,Session).untyped.features.rbs
Update constants and methods with specific typesrb/sig/lib/selenium/webdriver/chrome/features.rbs
of
untyped.options.rbs
Replace untyped attributes and methods with specific typesrb/sig/lib/selenium/webdriver/common/options.rbs
(e.g.,
Hash,String,Symbol).untyped.target_locator.rbs
Update method signatures with specific typesrb/sig/lib/selenium/webdriver/common/target_locator.rbs
untyped.devtools.rbs
Replace untyped attributes and methods with specific typesrb/sig/lib/selenium/webdriver/devtools.rbs
(e.g.,
Hash).untyped.edge.rbs
Replace untyped attributes and methods with specific typesrb/sig/lib/selenium/webdriver/edge.rbs
(e.g.,
String).firefox.rbs
Replace untyped attributes and methods with specific typesrb/sig/lib/selenium/webdriver/firefox.rbs
(e.g.,
String).safari.rbs
Replace untyped attributes and methods with specific typesrb/sig/lib/selenium/webdriver/safari.rbs
(e.g.,
String,bool).