Refactor v2 Paths to parse YAML using TranslatePipeline.

This commit is contained in:
Shawn Poulson
2023-08-01 15:11:35 -04:00
committed by quobix
parent eb84284264
commit 756adee41b
7 changed files with 173 additions and 177 deletions

View File

@@ -33,19 +33,19 @@ func NewPaths(paths *v3low.Paths) *Paths {
p.Extensions = high.ExtractExtensions(paths.Extensions)
items := make(map[string]*PathItem)
type pRes struct {
type pathItemResult struct {
key string
value *PathItem
}
translateFunc := func(key low.KeyReference[string], value low.ValueReference[*v3low.PathItem]) (pRes, error) {
return pRes{key: key.Value, value: NewPathItem(value.Value)}, nil
translateFunc := func(key low.KeyReference[string], value low.ValueReference[*v3low.PathItem]) (pathItemResult, error) {
return pathItemResult{key: key.Value, value: NewPathItem(value.Value)}, nil
}
resultFunc := func(value pRes) error {
resultFunc := func(value pathItemResult) error {
items[value.key] = value.value
return nil
}
_ = datamodel.TranslateMapParallel[low.KeyReference[string], low.ValueReference[*v3low.PathItem], pRes](
_ = datamodel.TranslateMapParallel[low.KeyReference[string], low.ValueReference[*v3low.PathItem], pathItemResult](
paths.PathItems, translateFunc, resultFunc,
)
p.PathItems = items