(regex any, value any)
| 676 | } |
| 677 | |
| 678 | func matchesRegex(regex any, value any) bool { |
| 679 | var r *regexp.Regexp |
| 680 | var v string |
| 681 | var err error |
| 682 | |
| 683 | switch regex := regex.(type) { |
| 684 | case string: |
| 685 | r, err = regexp.Compile(regex) |
| 686 | case fmt.Stringer: |
| 687 | r, err = regexp.Compile(regex.String()) |
| 688 | default: |
| 689 | r, err = regexp.Compile(fmt.Sprintf("%v", r)) |
| 690 | } |
| 691 | |
| 692 | switch value := value.(type) { |
| 693 | case string: |
| 694 | v = value |
| 695 | case fmt.Stringer: |
| 696 | v = value.String() |
| 697 | default: |
| 698 | v = fmt.Sprintf("%v", value) |
| 699 | } |
| 700 | |
| 701 | return err == nil && r.MatchString(v) |
| 702 | } |
| 703 | |
| 704 | func ecStatusFrom(ctx context.Context) (*status, error) { |
| 705 | status, ok := ctx.Value(processStatusKey).(*status) |
no test coverage detected