26 lines
474 B
Go
26 lines
474 B
Go
|
package tasks
|
||
|
|
||
|
const (
|
||
|
TaskTypeDownload = iota
|
||
|
TaskTypeFetch = iota
|
||
|
TaskTypeMkDir = iota
|
||
|
)
|
||
|
|
||
|
type Task struct {
|
||
|
Type int8
|
||
|
Name string
|
||
|
Failed bool
|
||
|
Arguments map[string]string
|
||
|
}
|
||
|
|
||
|
func TaskPop(taskList []Task) (Task, []Task) {
|
||
|
var result Task
|
||
|
// https://github.com/golang/go/wiki/SliceTricks
|
||
|
result, taskList = taskList[0], taskList[1:]
|
||
|
return result, taskList
|
||
|
}
|
||
|
|
||
|
func TaskPush(taskList []Task, task Task) []Task {
|
||
|
return append(taskList, task)
|
||
|
}
|