MCPcopy Create free account
hub / github.com/chainloop-dev/chainloop / ValidateAsyncAPI

Function ValidateAsyncAPI

internal/schemavalidators/schemavalidators.go:589–613  ·  view source on GitHub ↗

ValidateAsyncAPI validates the given object against an AsyncAPI schema version. It tries 3.0 first, then falls back to 2.6.

(data interface{})

Source from the content-addressed store, hash-verified

587// ValidateAsyncAPI validates the given object against an AsyncAPI schema version.
588// It tries 3.0 first, then falls back to 2.6.
589func ValidateAsyncAPI(data interface{}) error {
590 asyncapiOnce.Do(initAsyncAPISchemas)
591
592 var errs error
593 err := compiledAsyncAPISchemas[AsyncAPIVersion3_0].Validate(data)
594 if err != nil {
595 if err := errorIsJSONFormat(err); err != nil {
596 return err
597 }
598 errs = multierror.Append(errs, err)
599 } else {
600 return nil
601 }
602
603 err = compiledAsyncAPISchemas[AsyncAPIVersion2_6].Validate(data)
604 if err != nil {
605 if err := errorIsJSONFormat(err); err != nil {
606 errs = multierror.Append(errs, err)
607 return errs
608 }
609 return multierror.Append(errs, err)
610 }
611
612 return nil
613}
614
615// errorIsJSONFormat checks if the error is a JSON format error.
616func errorIsJSONFormat(err error) error {

Callers 2

CraftMethod · 0.92
TestValidateAsyncAPIFunction · 0.92

Calls 4

errorIsJSONFormatFunction · 0.85
DoMethod · 0.80
AppendMethod · 0.80
ValidateMethod · 0.45

Tested by 1

TestValidateAsyncAPIFunction · 0.74