| 477 | } |
| 478 | |
| 479 | func selectEntries(entries []changedEntry, selectedPaths []string) []changedEntry { |
| 480 | if len(selectedPaths) == 0 { |
| 481 | return []changedEntry{} |
| 482 | } |
| 483 | byPath := make(map[string]changedEntry, len(entries)) |
| 484 | for _, entry := range entries { |
| 485 | byPath[entry.Path] = entry |
| 486 | } |
| 487 | |
| 488 | selected := make([]changedEntry, 0, len(selectedPaths)) |
| 489 | for _, path := range selectedPaths { |
| 490 | if entry, ok := byPath[path]; ok { |
| 491 | selected = append(selected, entry) |
| 492 | } else { |
| 493 | selected = append(selected, changedEntry{Path: path, Status: "event"}) |
| 494 | } |
| 495 | } |
| 496 | return selected |
| 497 | } |
| 498 | |
| 499 | func entryPaths(entries []changedEntry) []string { |
| 500 | if len(entries) == 0 { |