data-cursor.go: reset and clean operations return (bool,error)
This commit is contained in:
parent
6c604812ee
commit
419af7bfea
@ -55,7 +55,8 @@ func mapToString(m map[string]Functor) string {
|
||||
|
||||
func (dc *dataCursor) String() string {
|
||||
return "$()"
|
||||
/* var sb strings.Builder
|
||||
/*
|
||||
var sb strings.Builder
|
||||
sb.WriteString(fmt.Sprintf(`$(
|
||||
index: %d,
|
||||
ds: %s,
|
||||
@ -63,7 +64,7 @@ func (dc *dataCursor) String() string {
|
||||
CtxToBuilder(&sb, dc.ctx, 1)
|
||||
sb.WriteByte(')')
|
||||
return sb.String()
|
||||
*/
|
||||
*/
|
||||
}
|
||||
|
||||
func (dc *dataCursor) HasOperation(name string) (exists bool) {
|
||||
@ -75,9 +76,9 @@ func (dc *dataCursor) HasOperation(name string) (exists bool) {
|
||||
func (dc *dataCursor) CallOperation(name string, args []any) (value any, err error) {
|
||||
if functor, ok := dc.ds[name]; ok && isFunctor(functor) {
|
||||
if functor == dc.cleanFunc {
|
||||
return nil, dc.Clean()
|
||||
return dc.Clean()
|
||||
} else if functor == dc.resetFunc {
|
||||
return nil, dc.Reset()
|
||||
return dc.Reset()
|
||||
} else {
|
||||
ctx := cloneContext(dc.ctx)
|
||||
value, err = functor.Invoke(ctx, name, []any{})
|
||||
@ -90,7 +91,7 @@ func (dc *dataCursor) CallOperation(name string, args []any) (value any, err err
|
||||
return
|
||||
}
|
||||
|
||||
func (dc *dataCursor) Reset() (err error) {
|
||||
func (dc *dataCursor) Reset() (success bool, err error) {
|
||||
if dc.resetFunc != nil {
|
||||
if dc.resource != nil {
|
||||
ctx := cloneContext(dc.ctx)
|
||||
@ -104,10 +105,11 @@ func (dc *dataCursor) Reset() (err error) {
|
||||
} else {
|
||||
err = errNoOperation(resetName)
|
||||
}
|
||||
success = err == nil
|
||||
return
|
||||
}
|
||||
|
||||
func (dc *dataCursor) Clean() (err error) {
|
||||
func (dc *dataCursor) Clean() (success bool, err error) {
|
||||
if dc.cleanFunc != nil {
|
||||
if dc.resource != nil {
|
||||
ctx := cloneContext(dc.ctx)
|
||||
@ -120,6 +122,7 @@ func (dc *dataCursor) Clean() (err error) {
|
||||
} else {
|
||||
err = errors.New("no 'clean' function defined in the data-source")
|
||||
}
|
||||
success = err == nil
|
||||
return
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user