ParseSortFromString parses the provided string expression into a slice of SortFields. Example: fields := search.ParseSortFromString("-name,+created")
(str string)
| 51 | // |
| 52 | // fields := search.ParseSortFromString("-name,+created") |
| 53 | func ParseSortFromString(str string) (fields []SortField) { |
| 54 | data := strings.Split(str, ",") |
| 55 | |
| 56 | for _, field := range data { |
| 57 | // trim whitespaces |
| 58 | field = strings.TrimSpace(field) |
| 59 | if strings.HasPrefix(field, "-") { |
| 60 | fields = append(fields, SortField{strings.TrimPrefix(field, "-"), SortDesc}) |
| 61 | } else { |
| 62 | fields = append(fields, SortField{strings.TrimPrefix(field, "+"), SortAsc}) |
| 63 | } |
| 64 | } |
| 65 | |
| 66 | return |
| 67 | } |
no outgoing calls
searching dependent graphs…