File: filters.go

package info (click to toggle)
golang-github-mesos-mesos-go 0.0.6%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 11,724 kB
  • sloc: makefile: 163
file content (26 lines) | stat: -rw-r--r-- 405 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package mesos

import "time"

type FilterOpt func(*Filters)

func (f *Filters) With(opts ...FilterOpt) *Filters {
	for _, o := range opts {
		o(f)
	}
	return f
}

func RefuseSeconds(d time.Duration) FilterOpt {
	return func(f *Filters) {
		s := d.Seconds()
		f.RefuseSeconds = &s
	}
}

func OptionalFilters(fo ...FilterOpt) *Filters {
	if len(fo) == 0 {
		return nil
	}
	return (&Filters{}).With(fo...)
}