Files
byre/internal/workflow/parse.go
T

21 lines
411 B
Go
Raw Normal View History

package workflow
import (
"bytes"
"encoding/json"
"fmt"
"g.fc.run/ai/byre/internal/api"
)
func Parse(data []byte) (api.WorkflowDefinition, error) {
def := api.WorkflowDefinition{}
dec := json.NewDecoder(bytes.NewReader(data))
dec.DisallowUnknownFields()
err := dec.Decode(&def)
if err != nil {
return api.WorkflowDefinition{}, fmt.Errorf("%w: %v", ErrInvalid, err)
}
return def, Validate(def)
}