...
1 package playwright
2
3 import (
4 "reflect"
5 )
6
7 func newExpectWrapper(f interface{}, args []interface{}, cb func() error) (interface{}, error) {
8 val := make(chan interface{}, 1)
9 go func() {
10 reflectArgs := make([]reflect.Value, 0)
11 for i := 0; i < len(args); i++ {
12 reflectArgs = append(reflectArgs, reflect.ValueOf(args[i]))
13 }
14 result := reflect.ValueOf(f).Call(reflectArgs)
15 evVal := result[0].Interface()
16 val <- evVal
17 }()
18
19 if err := cb(); err != nil {
20 return nil, err
21 }
22 return <-val, nil
23 }
24
View as plain text