1515package analysis
1616
1717import (
18- "fmt"
1918 "log"
2019 "path"
2120 "sort"
@@ -251,7 +250,7 @@ func nameInlinedSchemas(opts *FlattenOpts) error {
251250
252251 asch , err := Schema (SchemaOpts {Schema : sch .Schema , Root : opts .Swagger (), BasePath : opts .BasePath })
253252 if err != nil {
254- return fmt . Errorf ( "schema analysis [%s]: %w" , key , err )
253+ return ErrAtKey ( key , err )
255254 }
256255
257256 if asch .isAnalyzedAsComplex () { // move complex schemas to definitions
@@ -320,7 +319,7 @@ func importNewRef(entry sortref.RefRevIdx, refStr string, opts *FlattenOpts) err
320319
321320 sch , err := spec .ResolveRefWithBase (opts .Swagger (), & entry .Ref , opts .ExpandOpts (false ))
322321 if err != nil {
323- return fmt . Errorf ( "could not resolve schema: %w" , err )
322+ return ErrResolveSchema ( err )
324323 }
325324
326325 // at this stage only $ref analysis matters
@@ -335,7 +334,7 @@ func importNewRef(entry sortref.RefRevIdx, refStr string, opts *FlattenOpts) err
335334 // now rewrite those refs with rebase
336335 for key , ref := range partialAnalyzer .references .allRefs {
337336 if err := replace .UpdateRef (sch , key , spec .MustCreateRef (normalize .RebaseRef (entry .Ref .String (), ref .String ()))); err != nil {
338- return fmt . Errorf ( "failed to rewrite ref for key %q at %s: %w" , key , entry .Ref .String (), err )
337+ return ErrRewriteRef ( key , entry .Ref .String (), err )
339338 }
340339 }
341340
@@ -429,7 +428,7 @@ func importExternalReferences(opts *FlattenOpts) (bool, error) {
429428 ref := spec .MustCreateRef (r .path )
430429 sch , err := spec .ResolveRefWithBase (opts .Swagger (), & ref , opts .ExpandOpts (false ))
431430 if err != nil {
432- return false , fmt . Errorf ( "could not resolve schema: %w" , err )
431+ return false , ErrResolveSchema ( err )
433432 }
434433
435434 r .schema = sch
@@ -666,7 +665,7 @@ func namePointers(opts *FlattenOpts) error {
666665
667666 result , err := replace .DeepestRef (opts .Swagger (), opts .ExpandOpts (false ), ref )
668667 if err != nil {
669- return fmt . Errorf ( "at %s, %w" , k , err )
668+ return ErrAtKey ( k , err )
670669 }
671670
672671 replacingRef := result .Ref
@@ -697,7 +696,7 @@ func namePointers(opts *FlattenOpts) error {
697696 // update current replacement, which may have been updated by previous changes of deeper elements
698697 result , erd := replace .DeepestRef (opts .Swagger (), opts .ExpandOpts (false ), v .Ref )
699698 if erd != nil {
700- return fmt . Errorf ( "at %s, %w" , key , erd )
699+ return ErrAtKey ( key , erd )
701700 }
702701
703702 if opts .flattenContext != nil {
@@ -743,7 +742,7 @@ func flattenAnonPointer(key string, v SchemaRef, refsToReplace map[string]Schema
743742 // qualify the expanded schema
744743 asch , ers := Schema (SchemaOpts {Schema : v .Schema , Root : opts .Swagger (), BasePath : opts .BasePath })
745744 if ers != nil {
746- return fmt . Errorf ( "schema analysis [%s]: %w" , key , ers )
745+ return ErrAtKey ( key , ers )
747746 }
748747 callers := make ([]string , 0 , allocMediumMap )
749748
@@ -753,7 +752,7 @@ func flattenAnonPointer(key string, v SchemaRef, refsToReplace map[string]Schema
753752 for k , w := range an .references .allRefs {
754753 r , err := replace .DeepestRef (opts .Swagger (), opts .ExpandOpts (false ), w )
755754 if err != nil {
756- return fmt . Errorf ( "at %s, %w" , key , err )
755+ return ErrAtKey ( key , err )
757756 }
758757
759758 if opts .flattenContext != nil {
0 commit comments