You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ExecutionContext.Eval is at the heart of the module. Removing its Goja dependency will tremendously detach goja from most of the business logic. executionContext.eval takes a slice argument, which can be of any type, including goja.Value. Find a way to enforce a change where the slice must be anything BUT a goja.Value.
Why
Improved stability: Enable avoiding working with the non-thread safe Goja from multiple goroutines.
Productivity: Business logic can use native Go constructs. Code is simpler and easy to reason about.
Testability: Testing the business logic becomes straightforward.
How
Remove goja from Eval and all related methods.
Ensure that none of the methods in the module passes goja values to Eval and friends.
Add assertions and keep them there for a few cycles.
ankur22
changed the title
Pass slice of any (non-goja.Values) instead of slice of goja.Values into EexecutionContext.eval
Pass slice of any (non-goja.Values) instead of slice of goja.Values into ExecutionContext.eval
Jan 23, 2024
inancgumus
changed the title
Pass slice of any (non-goja.Values) instead of slice of goja.Values into ExecutionContext.eval
Remove Goja from Execution Context Eval
Jan 24, 2024
What
ExecutionContext.Eval
is at the heart of the module. Removing its Goja dependency will tremendously detach goja from most of the business logic. executionContext.eval takes a slice argument, which can be of any type, includinggoja.Value
. Find a way to enforce a change where the slice must be anything BUT agoja.Value
.Why
How
goja
fromEval
and all related methods.Eval
and friends.Related
#1162
Tasks
elementHandle.newPointerAction
#1170The text was updated successfully, but these errors were encountered: