-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move Sobek entirely out of the business logic #4219
Labels
Comments
inancgumus
changed the title
Move option parsing to the mapping layer
Move option parsing into the mapping layer
Oct 12, 2023
3 tasks
This was referenced Jan 19, 2024
Closed
inancgumus
changed the title
Move option parsing into the mapping layer
Move Goja entirely out of the business logic
Jan 26, 2024
This was referenced Jan 29, 2024
3 tasks
3 tasks
This was referenced Apr 17, 2024
inancgumus
changed the title
Move Goja entirely out of the business logic
Move Sobek entirely out of the business logic
Jun 7, 2024
This was referenced Oct 30, 2024
This was referenced Nov 6, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What?
Move Sobek entirely out of the business logic.
Why?
Desobekifying Sobek transformation
Besides moving the calling of Sobek option parsing in the business logic, we also plan to move the Sobek-dependent option parsing part out of the business logic. Once we finish doing the same with the rest of the option parsing, we can entirely remove the Sobek dependency from the business logic.
We currently parse Sobek values into our business logic types, but the parsing dependency is in an unrelated package (common). To enhance maintainability, we move the parsing process and keep related components together (in the mapping layer). Additionally, we could implement a
Validate
method for the business types (in the common package) to check their validity separately from the Sobek transformation.Moreover, we use pointers quite liberally, which is not good in terms of reduced performance and also because of many nil-pointer panics. Also, since our module is highly current, it's dangerous to have so many pointers around. So, another goal would be to get rid of as many pointer-ed options as possible to boost stability even more.
See grafana/xk6-browser#1510 for an example.
Tasks
Tasks
ElementHandle
methods #4220Frame
methods #4221Page
methods #4222Locator
methods #4223Mouse
methods #4224BrowserContext
methods xk6-browser#1270NetworkManager.ExtraHTTPHeaders
that returns asobek.Value
xk6-browser#1282Keyboard
option parsing out ofcommon
xk6-browser#1522Browser
methods xk6-browser#1269Request
methods xk6-browser#1275Keyboard
methods xk6-browser#1277Connection.Close
method? xk6-browser#1281Related PR(s)/Issue(s)
grafana/xk6-browser#271
The text was updated successfully, but these errors were encountered: