Files
aego/engine/module/provide.go
T
sanspie 5eb1832907
ci-platforms / darwin amd64 smoke (push) Skipped
ci / build (amd64, linux, ubuntu-24.04) (push) Failing after 15m28s
ci / release (push) Skipped
ci-platforms / windows amd64 smoke (push) Skipped
ci-platforms / darwin arm64 smoke (push) Skipped
ci / checks (push) Successful in 7m47s
Complete Stage 12 for v0.12.0
2026-11-05 11:46:53 +03:00

38 lines
744 B
Go

package module
type Provision struct {
Owner string
Value any
}
type provision struct {
kind string
Provision
}
func (r *Registry) Provide(kind string, v any) {
if kind == "" || v == nil {
r.fail("provision needs a kind and a value")
return
}
r.provided = append(r.provided, provision{kind: kind, Provision: Provision{Owner: r.Owner(), Value: v}})
}
func (r *Registry) Provided(kind string) []Provision {
return provisions(r.provided, kind)
}
func (m *Manifest) Provided(kind string) []Provision {
return provisions(m.provided, kind)
}
func provisions(source []provision, kind string) []Provision {
var out []Provision
for _, p := range source {
if p.kind == kind {
out = append(out, p.Provision)
}
}
return out
}