()
| 150 | } |
| 151 | |
| 152 | func (p *Javascript) evaluate() (res any, err error) { |
| 153 | defer func() { |
| 154 | if r := recover(); r != nil { |
| 155 | err = fmt.Errorf("panic: %v", r) |
| 156 | } |
| 157 | err = backoff.Permanent(err) |
| 158 | }() |
| 159 | |
| 160 | v, err := p.vm.Eval(p.script) |
| 161 | if err != nil { |
| 162 | return nil, err |
| 163 | } |
| 164 | |
| 165 | vv, err := v.Export() |
| 166 | if err != nil { |
| 167 | return nil, err |
| 168 | } |
| 169 | |
| 170 | if vv == nil { |
| 171 | return nil, nil |
| 172 | } |
| 173 | |
| 174 | return normalizeValue(vv) |
| 175 | } |
| 176 | |
| 177 | func (p *Javascript) setParam(param string, val any) error { |
| 178 | return p.vm.Set(param, val) |
no test coverage detected