RegisterFunc() also returns the funcInfo object
This commit is contained in:
parent
3c51b8d2ee
commit
075b0b5691
@ -25,5 +25,5 @@ type ExprContext interface {
|
|||||||
GetFuncInfo(name string) (item ExprFunc, exists bool)
|
GetFuncInfo(name string) (item ExprFunc, exists bool)
|
||||||
Call(name string, args map[string]any) (result any, err error)
|
Call(name string, args map[string]any) (result any, err error)
|
||||||
RegisterFuncInfo(info ExprFunc)
|
RegisterFuncInfo(info ExprFunc)
|
||||||
RegisterFunc(name string, f Functor, returnType string, param []ExprFuncParam) error
|
RegisterFunc(name string, f Functor, returnType string, param []ExprFuncParam) (funcInfo ExprFunc, err error)
|
||||||
}
|
}
|
||||||
|
@ -149,10 +149,11 @@ func (ctx *SimpleStore) RegisterFuncInfo(info ExprFunc) {
|
|||||||
ctx.funcStore[info.Name()], _ = info.(*funcInfo)
|
ctx.funcStore[info.Name()], _ = info.(*funcInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ctx *SimpleStore) RegisterFunc(name string, functor Functor, returnType string, params []ExprFuncParam) (err error) {
|
func (ctx *SimpleStore) RegisterFunc(name string, functor Functor, returnType string, params []ExprFuncParam) (exprFunc ExprFunc, err error) {
|
||||||
var info *funcInfo
|
var info *funcInfo
|
||||||
if info, err = newFuncInfo(name, functor, returnType, params); err == nil {
|
if info, err = newFuncInfo(name, functor, returnType, params); err == nil {
|
||||||
ctx.funcStore[name] = info
|
ctx.funcStore[name] = info
|
||||||
|
exprFunc = info
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user