mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 09:42:26 -05:00 
			
		
		
		
	[chore] Bump go swagger (#2871)
* bump go swagger version * bump swagger version
This commit is contained in:
		
					parent
					
						
							
								3a369d834a
							
						
					
				
			
			
				commit
				
					
						fd8a724e77
					
				
			
		
					 251 changed files with 10841 additions and 11896 deletions
				
			
		
							
								
								
									
										61
									
								
								vendor/github.com/go-openapi/jsonpointer/.golangci.yml
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								vendor/github.com/go-openapi/jsonpointer/.golangci.yml
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,61 @@ | |||
| linters-settings: | ||||
|   govet: | ||||
|     check-shadowing: true | ||||
|   golint: | ||||
|     min-confidence: 0 | ||||
|   gocyclo: | ||||
|     min-complexity: 45 | ||||
|   maligned: | ||||
|     suggest-new: true | ||||
|   dupl: | ||||
|     threshold: 200 | ||||
|   goconst: | ||||
|     min-len: 2 | ||||
|     min-occurrences: 3 | ||||
| 
 | ||||
| linters: | ||||
|   enable-all: true | ||||
|   disable: | ||||
|     - maligned | ||||
|     - unparam | ||||
|     - lll | ||||
|     - gochecknoinits | ||||
|     - gochecknoglobals | ||||
|     - funlen | ||||
|     - godox | ||||
|     - gocognit | ||||
|     - whitespace | ||||
|     - wsl | ||||
|     - wrapcheck | ||||
|     - testpackage | ||||
|     - nlreturn | ||||
|     - gomnd | ||||
|     - exhaustivestruct | ||||
|     - goerr113 | ||||
|     - errorlint | ||||
|     - nestif | ||||
|     - godot | ||||
|     - gofumpt | ||||
|     - paralleltest | ||||
|     - tparallel | ||||
|     - thelper | ||||
|     - ifshort | ||||
|     - exhaustruct | ||||
|     - varnamelen | ||||
|     - gci | ||||
|     - depguard | ||||
|     - errchkjson | ||||
|     - inamedparam | ||||
|     - nonamedreturns | ||||
|     - musttag | ||||
|     - ireturn | ||||
|     - forcetypeassert | ||||
|     - cyclop | ||||
|     # deprecated linters | ||||
|     - deadcode | ||||
|     - interfacer | ||||
|     - scopelint | ||||
|     - varcheck | ||||
|     - structcheck | ||||
|     - golint | ||||
|     - nosnakecase | ||||
							
								
								
									
										8
									
								
								vendor/github.com/go-openapi/jsonpointer/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/go-openapi/jsonpointer/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,6 +1,10 @@ | |||
| # gojsonpointer [](https://travis-ci.org/go-openapi/jsonpointer) [](https://codecov.io/gh/go-openapi/jsonpointer) [](https://slackin.goswagger.io) | ||||
| # gojsonpointer [](https://github.com/go-openapi/jsonpointer/actions?query=workflow%3A"go+test") [](https://codecov.io/gh/go-openapi/jsonpointer) | ||||
| 
 | ||||
| [](https://slackin.goswagger.io) | ||||
| [](https://raw.githubusercontent.com/go-openapi/jsonpointer/master/LICENSE) | ||||
| [](https://pkg.go.dev/github.com/go-openapi/jsonpointer) | ||||
| [](https://goreportcard.com/report/github.com/go-openapi/jsonpointer) | ||||
| 
 | ||||
| [](https://raw.githubusercontent.com/go-openapi/jsonpointer/master/LICENSE) [](http://godoc.org/github.com/go-openapi/jsonpointer) | ||||
| An implementation of JSON Pointer - Go language | ||||
| 
 | ||||
| ## Status | ||||
|  |  | |||
							
								
								
									
										191
									
								
								vendor/github.com/go-openapi/jsonpointer/pointer.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										191
									
								
								vendor/github.com/go-openapi/jsonpointer/pointer.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -26,6 +26,7 @@ | |||
| package jsonpointer | ||||
| 
 | ||||
| import ( | ||||
| 	"encoding/json" | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 	"reflect" | ||||
|  | @ -40,6 +41,7 @@ const ( | |||
| 	pointerSeparator = `/` | ||||
| 
 | ||||
| 	invalidStart = `JSON pointer must be empty or start with a "` + pointerSeparator | ||||
| 	notFound     = `Can't find the pointer in the document` | ||||
| ) | ||||
| 
 | ||||
| var jsonPointableType = reflect.TypeOf(new(JSONPointable)).Elem() | ||||
|  | @ -48,13 +50,13 @@ var jsonSetableType = reflect.TypeOf(new(JSONSetable)).Elem() | |||
| // JSONPointable is an interface for structs to implement when they need to customize the | ||||
| // json pointer process | ||||
| type JSONPointable interface { | ||||
| 	JSONLookup(string) (interface{}, error) | ||||
| 	JSONLookup(string) (any, error) | ||||
| } | ||||
| 
 | ||||
| // JSONSetable is an interface for structs to implement when they need to customize the | ||||
| // json pointer process | ||||
| type JSONSetable interface { | ||||
| 	JSONSet(string, interface{}) error | ||||
| 	JSONSet(string, any) error | ||||
| } | ||||
| 
 | ||||
| // New creates a new json pointer for the given string | ||||
|  | @ -81,9 +83,7 @@ func (p *Pointer) parse(jsonPointerString string) error { | |||
| 			err = errors.New(invalidStart) | ||||
| 		} else { | ||||
| 			referenceTokens := strings.Split(jsonPointerString, pointerSeparator) | ||||
| 			for _, referenceToken := range referenceTokens[1:] { | ||||
| 				p.referenceTokens = append(p.referenceTokens, referenceToken) | ||||
| 			} | ||||
| 			p.referenceTokens = append(p.referenceTokens, referenceTokens[1:]...) | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|  | @ -91,38 +91,58 @@ func (p *Pointer) parse(jsonPointerString string) error { | |||
| } | ||||
| 
 | ||||
| // Get uses the pointer to retrieve a value from a JSON document | ||||
| func (p *Pointer) Get(document interface{}) (interface{}, reflect.Kind, error) { | ||||
| func (p *Pointer) Get(document any) (any, reflect.Kind, error) { | ||||
| 	return p.get(document, swag.DefaultJSONNameProvider) | ||||
| } | ||||
| 
 | ||||
| // Set uses the pointer to set a value from a JSON document | ||||
| func (p *Pointer) Set(document interface{}, value interface{}) (interface{}, error) { | ||||
| func (p *Pointer) Set(document any, value any) (any, error) { | ||||
| 	return document, p.set(document, value, swag.DefaultJSONNameProvider) | ||||
| } | ||||
| 
 | ||||
| // GetForToken gets a value for a json pointer token 1 level deep | ||||
| func GetForToken(document interface{}, decodedToken string) (interface{}, reflect.Kind, error) { | ||||
| func GetForToken(document any, decodedToken string) (any, reflect.Kind, error) { | ||||
| 	return getSingleImpl(document, decodedToken, swag.DefaultJSONNameProvider) | ||||
| } | ||||
| 
 | ||||
| // SetForToken gets a value for a json pointer token 1 level deep | ||||
| func SetForToken(document interface{}, decodedToken string, value interface{}) (interface{}, error) { | ||||
| func SetForToken(document any, decodedToken string, value any) (any, error) { | ||||
| 	return document, setSingleImpl(document, value, decodedToken, swag.DefaultJSONNameProvider) | ||||
| } | ||||
| 
 | ||||
| func getSingleImpl(node interface{}, decodedToken string, nameProvider *swag.NameProvider) (interface{}, reflect.Kind, error) { | ||||
| func isNil(input any) bool { | ||||
| 	if input == nil { | ||||
| 		return true | ||||
| 	} | ||||
| 
 | ||||
| 	kind := reflect.TypeOf(input).Kind() | ||||
| 	switch kind { //nolint:exhaustive | ||||
| 	case reflect.Ptr, reflect.Map, reflect.Slice, reflect.Chan: | ||||
| 		return reflect.ValueOf(input).IsNil() | ||||
| 	default: | ||||
| 		return false | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func getSingleImpl(node any, decodedToken string, nameProvider *swag.NameProvider) (any, reflect.Kind, error) { | ||||
| 	rValue := reflect.Indirect(reflect.ValueOf(node)) | ||||
| 	kind := rValue.Kind() | ||||
| 	if isNil(node) { | ||||
| 		return nil, kind, fmt.Errorf("nil value has not field %q", decodedToken) | ||||
| 	} | ||||
| 
 | ||||
| 	if rValue.Type().Implements(jsonPointableType) { | ||||
| 		r, err := node.(JSONPointable).JSONLookup(decodedToken) | ||||
| 	switch typed := node.(type) { | ||||
| 	case JSONPointable: | ||||
| 		r, err := typed.JSONLookup(decodedToken) | ||||
| 		if err != nil { | ||||
| 			return nil, kind, err | ||||
| 		} | ||||
| 		return r, kind, nil | ||||
| 	case *any: // case of a pointer to interface, that is not resolved by reflect.Indirect | ||||
| 		return getSingleImpl(*typed, decodedToken, nameProvider) | ||||
| 	} | ||||
| 
 | ||||
| 	switch kind { | ||||
| 	switch kind { //nolint:exhaustive | ||||
| 	case reflect.Struct: | ||||
| 		nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) | ||||
| 		if !ok { | ||||
|  | @ -159,7 +179,7 @@ func getSingleImpl(node interface{}, decodedToken string, nameProvider *swag.Nam | |||
| 
 | ||||
| } | ||||
| 
 | ||||
| func setSingleImpl(node, data interface{}, decodedToken string, nameProvider *swag.NameProvider) error { | ||||
| func setSingleImpl(node, data any, decodedToken string, nameProvider *swag.NameProvider) error { | ||||
| 	rValue := reflect.Indirect(reflect.ValueOf(node)) | ||||
| 
 | ||||
| 	if ns, ok := node.(JSONSetable); ok { // pointer impl | ||||
|  | @ -170,7 +190,7 @@ func setSingleImpl(node, data interface{}, decodedToken string, nameProvider *sw | |||
| 		return node.(JSONSetable).JSONSet(decodedToken, data) | ||||
| 	} | ||||
| 
 | ||||
| 	switch rValue.Kind() { | ||||
| 	switch rValue.Kind() { //nolint:exhaustive | ||||
| 	case reflect.Struct: | ||||
| 		nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) | ||||
| 		if !ok { | ||||
|  | @ -210,7 +230,7 @@ func setSingleImpl(node, data interface{}, decodedToken string, nameProvider *sw | |||
| 
 | ||||
| } | ||||
| 
 | ||||
| func (p *Pointer) get(node interface{}, nameProvider *swag.NameProvider) (interface{}, reflect.Kind, error) { | ||||
| func (p *Pointer) get(node any, nameProvider *swag.NameProvider) (any, reflect.Kind, error) { | ||||
| 
 | ||||
| 	if nameProvider == nil { | ||||
| 		nameProvider = swag.DefaultJSONNameProvider | ||||
|  | @ -231,8 +251,7 @@ func (p *Pointer) get(node interface{}, nameProvider *swag.NameProvider) (interf | |||
| 		if err != nil { | ||||
| 			return nil, knd, err | ||||
| 		} | ||||
| 		node, kind = r, knd | ||||
| 
 | ||||
| 		node = r | ||||
| 	} | ||||
| 
 | ||||
| 	rValue := reflect.ValueOf(node) | ||||
|  | @ -241,11 +260,11 @@ func (p *Pointer) get(node interface{}, nameProvider *swag.NameProvider) (interf | |||
| 	return node, kind, nil | ||||
| } | ||||
| 
 | ||||
| func (p *Pointer) set(node, data interface{}, nameProvider *swag.NameProvider) error { | ||||
| func (p *Pointer) set(node, data any, nameProvider *swag.NameProvider) error { | ||||
| 	knd := reflect.ValueOf(node).Kind() | ||||
| 
 | ||||
| 	if knd != reflect.Ptr && knd != reflect.Struct && knd != reflect.Map && knd != reflect.Slice && knd != reflect.Array { | ||||
| 		return fmt.Errorf("only structs, pointers, maps and slices are supported for setting values") | ||||
| 		return errors.New("only structs, pointers, maps and slices are supported for setting values") | ||||
| 	} | ||||
| 
 | ||||
| 	if nameProvider == nil { | ||||
|  | @ -284,7 +303,7 @@ func (p *Pointer) set(node, data interface{}, nameProvider *swag.NameProvider) e | |||
| 			continue | ||||
| 		} | ||||
| 
 | ||||
| 		switch kind { | ||||
| 		switch kind { //nolint:exhaustive | ||||
| 		case reflect.Struct: | ||||
| 			nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) | ||||
| 			if !ok { | ||||
|  | @ -363,6 +382,128 @@ func (p *Pointer) String() string { | |||
| 	return pointerString | ||||
| } | ||||
| 
 | ||||
| func (p *Pointer) Offset(document string) (int64, error) { | ||||
| 	dec := json.NewDecoder(strings.NewReader(document)) | ||||
| 	var offset int64 | ||||
| 	for _, ttk := range p.DecodedTokens() { | ||||
| 		tk, err := dec.Token() | ||||
| 		if err != nil { | ||||
| 			return 0, err | ||||
| 		} | ||||
| 		switch tk := tk.(type) { | ||||
| 		case json.Delim: | ||||
| 			switch tk { | ||||
| 			case '{': | ||||
| 				offset, err = offsetSingleObject(dec, ttk) | ||||
| 				if err != nil { | ||||
| 					return 0, err | ||||
| 				} | ||||
| 			case '[': | ||||
| 				offset, err = offsetSingleArray(dec, ttk) | ||||
| 				if err != nil { | ||||
| 					return 0, err | ||||
| 				} | ||||
| 			default: | ||||
| 				return 0, fmt.Errorf("invalid token %#v", tk) | ||||
| 			} | ||||
| 		default: | ||||
| 			return 0, fmt.Errorf("invalid token %#v", tk) | ||||
| 		} | ||||
| 	} | ||||
| 	return offset, nil | ||||
| } | ||||
| 
 | ||||
| func offsetSingleObject(dec *json.Decoder, decodedToken string) (int64, error) { | ||||
| 	for dec.More() { | ||||
| 		offset := dec.InputOffset() | ||||
| 		tk, err := dec.Token() | ||||
| 		if err != nil { | ||||
| 			return 0, err | ||||
| 		} | ||||
| 		switch tk := tk.(type) { | ||||
| 		case json.Delim: | ||||
| 			switch tk { | ||||
| 			case '{': | ||||
| 				if err = drainSingle(dec); err != nil { | ||||
| 					return 0, err | ||||
| 				} | ||||
| 			case '[': | ||||
| 				if err = drainSingle(dec); err != nil { | ||||
| 					return 0, err | ||||
| 				} | ||||
| 			} | ||||
| 		case string: | ||||
| 			if tk == decodedToken { | ||||
| 				return offset, nil | ||||
| 			} | ||||
| 		default: | ||||
| 			return 0, fmt.Errorf("invalid token %#v", tk) | ||||
| 		} | ||||
| 	} | ||||
| 	return 0, fmt.Errorf("token reference %q not found", decodedToken) | ||||
| } | ||||
| 
 | ||||
| func offsetSingleArray(dec *json.Decoder, decodedToken string) (int64, error) { | ||||
| 	idx, err := strconv.Atoi(decodedToken) | ||||
| 	if err != nil { | ||||
| 		return 0, fmt.Errorf("token reference %q is not a number: %v", decodedToken, err) | ||||
| 	} | ||||
| 	var i int | ||||
| 	for i = 0; i < idx && dec.More(); i++ { | ||||
| 		tk, err := dec.Token() | ||||
| 		if err != nil { | ||||
| 			return 0, err | ||||
| 		} | ||||
| 
 | ||||
| 		if delim, isDelim := tk.(json.Delim); isDelim { | ||||
| 			switch delim { | ||||
| 			case '{': | ||||
| 				if err = drainSingle(dec); err != nil { | ||||
| 					return 0, err | ||||
| 				} | ||||
| 			case '[': | ||||
| 				if err = drainSingle(dec); err != nil { | ||||
| 					return 0, err | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if !dec.More() { | ||||
| 		return 0, fmt.Errorf("token reference %q not found", decodedToken) | ||||
| 	} | ||||
| 	return dec.InputOffset(), nil | ||||
| } | ||||
| 
 | ||||
| // drainSingle drains a single level of object or array. | ||||
| // The decoder has to guarantee the beginning delim (i.e. '{' or '[') has been consumed. | ||||
| func drainSingle(dec *json.Decoder) error { | ||||
| 	for dec.More() { | ||||
| 		tk, err := dec.Token() | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		if delim, isDelim := tk.(json.Delim); isDelim { | ||||
| 			switch delim { | ||||
| 			case '{': | ||||
| 				if err = drainSingle(dec); err != nil { | ||||
| 					return err | ||||
| 				} | ||||
| 			case '[': | ||||
| 				if err = drainSingle(dec); err != nil { | ||||
| 					return err | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	// Consumes the ending delim | ||||
| 	if _, err := dec.Token(); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // Specific JSON pointer encoding here | ||||
| // ~0 => ~ | ||||
| // ~1 => / | ||||
|  | @ -377,14 +518,14 @@ const ( | |||
| 
 | ||||
| // Unescape unescapes a json pointer reference token string to the original representation | ||||
| func Unescape(token string) string { | ||||
| 	step1 := strings.Replace(token, encRefTok1, decRefTok1, -1) | ||||
| 	step2 := strings.Replace(step1, encRefTok0, decRefTok0, -1) | ||||
| 	step1 := strings.ReplaceAll(token, encRefTok1, decRefTok1) | ||||
| 	step2 := strings.ReplaceAll(step1, encRefTok0, decRefTok0) | ||||
| 	return step2 | ||||
| } | ||||
| 
 | ||||
| // Escape escapes a pointer reference token string | ||||
| func Escape(token string) string { | ||||
| 	step1 := strings.Replace(token, decRefTok0, encRefTok0, -1) | ||||
| 	step2 := strings.Replace(step1, decRefTok1, encRefTok1, -1) | ||||
| 	step1 := strings.ReplaceAll(token, decRefTok0, encRefTok0) | ||||
| 	step2 := strings.ReplaceAll(step1, decRefTok1, encRefTok1) | ||||
| 	return step2 | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue