mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-31 14:31:02 +00:00 
			
		
		
		
	Add container.FilterSlice function (gitea#30339)
Many places have the following logic:
```go
func (jobs ActionJobList) GetRunIDs() []int64 {
	ids := make(container.Set[int64], len(jobs))
	for _, j := range jobs {
		if j.RunID == 0 {
			continue
		}
		ids.Add(j.RunID)
	}
	return ids.Values()
}
```
this introduces a `container.FilterMapUnique` function, which reduces
the code above to:
```go
func (jobs ActionJobList) GetRunIDs() []int64 {
	return container.FilterMapUnique(jobs, func(j *ActionRunJob) (int64, bool) {
		return j.RunID, j.RunID != 0
	})
}
```
Conflicts:
models/issues/comment_list.go due to premature refactor in #3116
	
	
This commit is contained in:
		
					parent
					
						
							
								5a10eec50f
							
						
					
				
			
			
				commit
				
					
						525accfae6
					
				
			
		
					 16 changed files with 150 additions and 182 deletions
				
			
		|  | @ -18,19 +18,15 @@ type ScheduleList []*ActionSchedule | |||
| 
 | ||||
| // GetUserIDs returns a slice of user's id | ||||
| func (schedules ScheduleList) GetUserIDs() []int64 { | ||||
| 	ids := make(container.Set[int64], len(schedules)) | ||||
| 	for _, schedule := range schedules { | ||||
| 		ids.Add(schedule.TriggerUserID) | ||||
| 	} | ||||
| 	return ids.Values() | ||||
| 	return container.FilterSlice(schedules, func(schedule *ActionSchedule) (int64, bool) { | ||||
| 		return schedule.TriggerUserID, true | ||||
| 	}) | ||||
| } | ||||
| 
 | ||||
| func (schedules ScheduleList) GetRepoIDs() []int64 { | ||||
| 	ids := make(container.Set[int64], len(schedules)) | ||||
| 	for _, schedule := range schedules { | ||||
| 		ids.Add(schedule.RepoID) | ||||
| 	} | ||||
| 	return ids.Values() | ||||
| 	return container.FilterSlice(schedules, func(schedule *ActionSchedule) (int64, bool) { | ||||
| 		return schedule.RepoID, true | ||||
| 	}) | ||||
| } | ||||
| 
 | ||||
| func (schedules ScheduleList) LoadTriggerUser(ctx context.Context) error { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue