Plugins: allow outpurs to copy from input (#14960)

This commit is contained in:
andig 2024-07-21 23:07:53 +02:00 • committed by GitHub
parent dbd4c4fd92
commit 6b892f0877
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 0 deletions

View file

@ -1,6 +1,7 @@
package provider
import (
"errors"
"fmt"
"reflect"
@ -144,6 +145,10 @@ func (p *Go) handleGetter() (any, error) {
}
func (p *Go) handleSetter(param string, val any) error {
if err := transformInputs(p.in, p.setParam); err != nil {
return err
}
if err := p.setParam(param, val); err != nil {
return err
}
@ -168,6 +173,10 @@ func (p *Go) evaluate() (res any, err error) {
return nil, err
}
if !v.IsValid() {
return nil, errors.New("missing result")
}
if (v.Kind() == reflect.Pointer || v.Kind() == reflect.Interface) && v.IsNil() {
return nil, nil
}

View file

@ -125,6 +125,10 @@ func (p *Javascript) handleGetter() (any, error) {
}
func (p *Javascript) handleSetter(param string, val any) error {
if err := transformInputs(p.in, p.setParamSync); err != nil {
return err
}
javascript.Lock()
if err := p.setParam(param, val); err != nil {
javascript.Unlock()