HandlerExists reports whether a handler exists in the "handlers" slice.
(handlers Handlers, handlerNameOrFunc any)
| 404 | |
| 405 | // HandlerExists reports whether a handler exists in the "handlers" slice. |
| 406 | func HandlerExists(handlers Handlers, handlerNameOrFunc any) bool { |
| 407 | if handlerNameOrFunc == nil { |
| 408 | return false |
| 409 | } |
| 410 | |
| 411 | var matchHandler func(any) bool |
| 412 | |
| 413 | switch v := handlerNameOrFunc.(type) { |
| 414 | case string: |
| 415 | matchHandler = func(handler any) bool { |
| 416 | return HandlerName(handler) == v |
| 417 | } |
| 418 | case Handler: |
| 419 | handlerName := HandlerName(v) |
| 420 | matchHandler = func(handler any) bool { |
| 421 | return HandlerName(handler) == handlerName |
| 422 | } |
| 423 | default: |
| 424 | matchHandler = func(handler any) bool { |
| 425 | return reflect.TypeOf(handler) == reflect.TypeOf(v) |
| 426 | } |
| 427 | } |
| 428 | |
| 429 | for _, handler := range handlers { |
| 430 | if matchHandler(handler) { |
| 431 | return true |
| 432 | } |
| 433 | } |
| 434 | |
| 435 | return false |
| 436 | } |
no test coverage detected
searching dependent graphs…