MakeStarFn: special handling for returning starlark.Value
yangzh opened this issue · 0 comments
First of all, great code and I'm enjoying it!
Not sure if my complain makes sense or any of you are aware of this, but when I tried to use convert.MakeStarFn to construct a *starlark.Builtin object, I will use a user function that will return a Starlark.Value, and convert.MakeStarFn code will put another wrapper about that, which is not good.
To give a concrete example, here is snippet of my code:
fnSomeCtor = covert.MakeStarFn("constructor", func(foo int) (starlark.Value, error) {
// return my own object that implements starlark.Value
})
currently convert.toValue() doesn't let a starlark.Value to pass through unharmed, instead, I think the code wraps it into a GoInterface(?), which is not good, as the consumer (my part) will get confused.
Can you special-case for starlark.Value? thanks.