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 {
|
func (dc *dataCursor) String() string {
|
||||||
return "$()"
|
return "$()"
|
||||||
/* var sb strings.Builder
|
/*
|
||||||
|
var sb strings.Builder
|
||||||
sb.WriteString(fmt.Sprintf(`$(
|
sb.WriteString(fmt.Sprintf(`$(
|
||||||
index: %d,
|
index: %d,
|
||||||
ds: %s,
|
ds: %s,
|
||||||
@ -75,9 +76,9 @@ func (dc *dataCursor) HasOperation(name string) (exists bool) {
|
|||||||
func (dc *dataCursor) CallOperation(name string, args []any) (value any, err error) {
|
func (dc *dataCursor) CallOperation(name string, args []any) (value any, err error) {
|
||||||
if functor, ok := dc.ds[name]; ok && isFunctor(functor) {
|
if functor, ok := dc.ds[name]; ok && isFunctor(functor) {
|
||||||
if functor == dc.cleanFunc {
|
if functor == dc.cleanFunc {
|
||||||
return nil, dc.Clean()
|
return dc.Clean()
|
||||||
} else if functor == dc.resetFunc {
|
} else if functor == dc.resetFunc {
|
||||||
return nil, dc.Reset()
|
return dc.Reset()
|
||||||
} else {
|
} else {
|
||||||
ctx := cloneContext(dc.ctx)
|
ctx := cloneContext(dc.ctx)
|
||||||
value, err = functor.Invoke(ctx, name, []any{})
|
value, err = functor.Invoke(ctx, name, []any{})
|
||||||
@ -90,7 +91,7 @@ func (dc *dataCursor) CallOperation(name string, args []any) (value any, err err
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dc *dataCursor) Reset() (err error) {
|
func (dc *dataCursor) Reset() (success bool, err error) {
|
||||||
if dc.resetFunc != nil {
|
if dc.resetFunc != nil {
|
||||||
if dc.resource != nil {
|
if dc.resource != nil {
|
||||||
ctx := cloneContext(dc.ctx)
|
ctx := cloneContext(dc.ctx)
|
||||||
@ -104,10 +105,11 @@ func (dc *dataCursor) Reset() (err error) {
|
|||||||
} else {
|
} else {
|
||||||
err = errNoOperation(resetName)
|
err = errNoOperation(resetName)
|
||||||
}
|
}
|
||||||
|
success = err == nil
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dc *dataCursor) Clean() (err error) {
|
func (dc *dataCursor) Clean() (success bool, err error) {
|
||||||
if dc.cleanFunc != nil {
|
if dc.cleanFunc != nil {
|
||||||
if dc.resource != nil {
|
if dc.resource != nil {
|
||||||
ctx := cloneContext(dc.ctx)
|
ctx := cloneContext(dc.ctx)
|
||||||
@ -120,6 +122,7 @@ func (dc *dataCursor) Clean() (err error) {
|
|||||||
} else {
|
} else {
|
||||||
err = errors.New("no 'clean' function defined in the data-source")
|
err = errors.New("no 'clean' function defined in the data-source")
|
||||||
}
|
}
|
||||||
|
success = err == nil
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user