MCPcopy Create free account
hub / github.com/conforma/cli / filterDeltaRegexp

Function filterDeltaRegexp

acceptance/cli/cli.go:652–676  ·  view source on GitHub ↗
(value any, pos gojsondiff.Position, deltas *[]gojsondiff.Delta)

Source from the content-addressed store, hash-verified

650}
651
652func filterDeltaRegexp(value any, pos gojsondiff.Position, deltas *[]gojsondiff.Delta) *int {
653 for i, delta := range *deltas {
654 if delta, ok := delta.(gojsondiff.PostDelta); !ok || delta.PostPosition() != pos {
655 continue
656 }
657
658 matched := false
659 switch delta := delta.(type) {
660 case *gojsondiff.Object:
661 filterObjectMatchedByRegexp(value.(map[string]any), &delta.Deltas)
662 case *gojsondiff.Array:
663 filterArrayMatchedByRegexp(value.([]any), &delta.Deltas)
664 case *gojsondiff.Modified:
665 matched = matchesRegex(delta.OldValue, delta.NewValue)
666 case *gojsondiff.TextDiff:
667 matched = matchesRegex(delta.OldValue, delta.NewValue)
668 }
669
670 if matched {
671 return &i
672 }
673 }
674
675 return nil
676}
677
678func matchesRegex(regex any, value any) bool {
679 var r *regexp.Regexp

Callers 2

Calls 3

matchesRegexFunction · 0.85

Tested by

no test coverage detected