externalFunc.go 487 B

1234567891011121314151617181920212223242526
  1. package service
  2. import (
  3. "github.com/emqx/kuiper/pkg/api"
  4. )
  5. type ExternalFunc struct {
  6. methodName string
  7. exe executor
  8. }
  9. func (f *ExternalFunc) Validate(_ []interface{}) error {
  10. return nil
  11. }
  12. func (f *ExternalFunc) Exec(args []interface{}, ctx api.FunctionContext) (interface{}, bool) {
  13. if r, err := f.exe.InvokeFunction(ctx, f.methodName, args); err != nil {
  14. return err, false
  15. } else {
  16. return r, true
  17. }
  18. }
  19. func (f *ExternalFunc) IsAggregate() bool {
  20. return false
  21. }