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:
@@ -766,7 +766,7 @@ func (obj *MapFunc) replaceSubGraph(subgraphInput interfaces.Func) error {
|
||||
outputListFunc := structs.SimpleFnToDirectFunc(
|
||||
"mapOutputList",
|
||||
&types.FuncValue{
|
||||
V: func(args []types.Value) (types.Value, error) {
|
||||
V: func(_ context.Context, args []types.Value) (types.Value, error) {
|
||||
listValue := &types.ListValue{
|
||||
V: args,
|
||||
T: obj.outputListType,
|
||||
@@ -788,7 +788,7 @@ func (obj *MapFunc) replaceSubGraph(subgraphInput interfaces.Func) error {
|
||||
inputElemFunc := structs.SimpleFnToDirectFunc(
|
||||
fmt.Sprintf("mapInputElem[%d]", i),
|
||||
&types.FuncValue{
|
||||
V: func(args []types.Value) (types.Value, error) {
|
||||
V: func(_ context.Context, args []types.Value) (types.Value, error) {
|
||||
if len(args) != 1 {
|
||||
return nil, fmt.Errorf("inputElemFunc: expected a single argument")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user