mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-07-09 21:17:09 +08:00
bumpo compose-go to v2.1.0
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
This commit is contained in:
22
vendor/github.com/compose-spec/compose-go/v2/transform/canonical.go
generated
vendored
22
vendor/github.com/compose-spec/compose-go/v2/transform/canonical.go
generated
vendored
@ -20,7 +20,7 @@ import (
|
||||
"github.com/compose-spec/compose-go/v2/tree"
|
||||
)
|
||||
|
||||
type transformFunc func(data any, p tree.Path) (any, error)
|
||||
type transformFunc func(data any, p tree.Path, ignoreParseError bool) (any, error)
|
||||
|
||||
var transformers = map[tree.Path]transformFunc{}
|
||||
|
||||
@ -48,18 +48,18 @@ func init() {
|
||||
}
|
||||
|
||||
// Canonical transforms a compose model into canonical syntax
|
||||
func Canonical(yaml map[string]any) (map[string]any, error) {
|
||||
canonical, err := transform(yaml, tree.NewPath())
|
||||
func Canonical(yaml map[string]any, ignoreParseError bool) (map[string]any, error) {
|
||||
canonical, err := transform(yaml, tree.NewPath(), ignoreParseError)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return canonical.(map[string]any), nil
|
||||
}
|
||||
|
||||
func transform(data any, p tree.Path) (any, error) {
|
||||
func transform(data any, p tree.Path, ignoreParseError bool) (any, error) {
|
||||
for pattern, transformer := range transformers {
|
||||
if p.Matches(pattern) {
|
||||
t, err := transformer(data, p)
|
||||
t, err := transformer(data, p, ignoreParseError)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -68,13 +68,13 @@ func transform(data any, p tree.Path) (any, error) {
|
||||
}
|
||||
switch v := data.(type) {
|
||||
case map[string]any:
|
||||
a, err := transformMapping(v, p)
|
||||
a, err := transformMapping(v, p, ignoreParseError)
|
||||
if err != nil {
|
||||
return a, err
|
||||
}
|
||||
return v, nil
|
||||
case []any:
|
||||
a, err := transformSequence(v, p)
|
||||
a, err := transformSequence(v, p, ignoreParseError)
|
||||
if err != nil {
|
||||
return a, err
|
||||
}
|
||||
@ -84,9 +84,9 @@ func transform(data any, p tree.Path) (any, error) {
|
||||
}
|
||||
}
|
||||
|
||||
func transformSequence(v []any, p tree.Path) ([]any, error) {
|
||||
func transformSequence(v []any, p tree.Path, ignoreParseError bool) ([]any, error) {
|
||||
for i, e := range v {
|
||||
t, err := transform(e, p.Next("[]"))
|
||||
t, err := transform(e, p.Next("[]"), ignoreParseError)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -95,9 +95,9 @@ func transformSequence(v []any, p tree.Path) ([]any, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func transformMapping(v map[string]any, p tree.Path) (map[string]any, error) {
|
||||
func transformMapping(v map[string]any, p tree.Path, ignoreParseError bool) (map[string]any, error) {
|
||||
for k, e := range v {
|
||||
t, err := transform(e, p.Next(k))
|
||||
t, err := transform(e, p.Next(k), ignoreParseError)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
Reference in New Issue
Block a user