(predicate func(*session.Event) bool)
| 633 | } |
| 634 | |
| 635 | func (e *sqliteEvents) Filter(predicate func(*session.Event) bool) []session.Event { |
| 636 | events, err := e.service.GetEvents(context.Background(), e.sessionID, nil) |
| 637 | if err != nil { |
| 638 | return nil |
| 639 | } |
| 640 | |
| 641 | var result []session.Event |
| 642 | for _, evt := range events { |
| 643 | if predicate(&evt) { |
| 644 | result = append(result, evt) |
| 645 | } |
| 646 | } |
| 647 | return result |
| 648 | } |
| 649 | |
| 650 | func (e *sqliteEvents) Last() *session.Event { |
| 651 | e.service.mu.RLock() |