lang: core, funcs, types: Add ctx to simple func
Plumb through the standard context.Context so that a function can be cancelled if someone requests this. It makes it less awkward to write simple functions that might depend on io or network access.
This commit is contained in:
@@ -173,7 +173,7 @@ func (obj *WrappedFunc) Stream(ctx context.Context) error {
|
||||
values = append(values, x)
|
||||
}
|
||||
|
||||
result, err := obj.Fn.Call(values) // (Value, error)
|
||||
result, err := obj.Fn.Call(ctx, values) // (Value, error)
|
||||
if err != nil {
|
||||
return errwrap.Wrapf(err, "simple function errored")
|
||||
}
|
||||
@@ -244,7 +244,7 @@ func StructRegister(moduleName string, args interface{}) error {
|
||||
|
||||
ModuleRegister(moduleName, name, &types.FuncValue{
|
||||
T: types.NewType(fmt.Sprintf("func() %s", typed.String())),
|
||||
V: func(input []types.Value) (types.Value, error) {
|
||||
V: func(ctx context.Context, input []types.Value) (types.Value, error) {
|
||||
//if args == nil {
|
||||
// // programming error
|
||||
// return nil, fmt.Errorf("could not convert/access our struct")
|
||||
|
||||
Reference in New Issue
Block a user