■ ■ ■ ■ ■ ■
new/detector/implementation/custom/filter.go
| skipped 4 lines |
5 | 5 | | |
6 | 6 | | "golang.org/x/exp/slices" |
7 | 7 | | |
| 8 | + | generictypes "github.com/bearer/bearer/new/detector/implementation/generic/types" |
8 | 9 | | "github.com/bearer/bearer/new/detector/types" |
9 | 10 | | "github.com/bearer/bearer/new/language/tree" |
10 | 11 | | languagetypes "github.com/bearer/bearer/new/language/types" |
| skipped 107 lines |
118 | 119 | | detections, err := evaluateDetections(node, "datatype", true) |
119 | 120 | | |
120 | 121 | | return boolPointer(len(detections) != 0), detections, err |
| 122 | + | } |
| 123 | + | |
| 124 | + | if detectorType == "string_literal" { |
| 125 | + | detections, err := evaluateDetections(node, "string", true) |
| 126 | + | if err != nil { |
| 127 | + | return nil, nil, err |
| 128 | + | } |
| 129 | + | |
| 130 | + | hasEmptyString := false |
| 131 | + | |
| 132 | + | for _, detection := range detections { |
| 133 | + | stringData := detection.Data.(generictypes.String) |
| 134 | + | if stringData.IsLiteral { |
| 135 | + | if stringData.Value != "" { |
| 136 | + | return boolPointer(true), nil, nil |
| 137 | + | } |
| 138 | + | |
| 139 | + | hasEmptyString = true |
| 140 | + | } |
| 141 | + | } |
| 142 | + | |
| 143 | + | if hasEmptyString { |
| 144 | + | return nil, nil, nil |
| 145 | + | } |
| 146 | + | |
| 147 | + | return boolPointer(false), nil, nil |
121 | 148 | | } |
122 | 149 | | |
123 | 150 | | hasDetection, err := evaluateHasDetection(node, detectorType) |
| skipped 63 lines |