emissary/internal/spec/spec.go

28 lines
452 B
Go
Raw Permalink Normal View History

2023-02-02 10:55:24 +01:00
package spec
type Spec interface {
SpecName() Name
SpecRevision() int
SpecData() map[string]any
2023-02-02 10:55:24 +01:00
}
type RawSpec struct {
Name Name `json:"name"`
Revision int `json:"revision"`
Data map[string]any `json:"data"`
2023-02-02 10:55:24 +01:00
}
func (s *RawSpec) SpecName() Name {
return s.Name
}
func (s *RawSpec) SpecRevision() int {
return s.Revision
}
func (s *RawSpec) SpecData() map[string]any {
2023-02-02 10:55:24 +01:00
return s.Data
}
var _ Spec = &RawSpec{}