emissary/internal/spec/spec.go

28 lines
452 B
Go

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