Fixed Clean() and added error message when calling optional missing functions

This commit is contained in:
Celestino Amoroso 2024-04-28 04:41:43 +02:00
parent c5fca70cfc
commit 2ccbdb2254

View File

@ -5,6 +5,7 @@
package expr package expr
import ( import (
"errors"
"io" "io"
) )
@ -46,15 +47,19 @@ func (dc *dataCursor) Reset() (err error) {
dc.index = -1 dc.index = -1
} }
exportObjects(dc.ctx, ctx) exportObjects(dc.ctx, ctx)
} else {
err = errors.New("no 'reset' function defined in the data-source")
} }
return return
} }
func (dc *dataCursor) Clean() (err error) { func (dc *dataCursor) Clean() (err error) {
if dc.resetFunc != nil { if dc.cleanFunc != nil {
ctx := cloneContext(dc.ctx) ctx := cloneContext(dc.ctx)
_, err = dc.cleanFunc.Invoke(ctx, cleanName, []any{}) _, err = dc.cleanFunc.Invoke(ctx, cleanName, []any{})
exportObjects(dc.ctx, ctx) exportObjects(dc.ctx, ctx)
} else {
err = errors.New("no 'clean' function defined in the data-source")
} }
return return
} }