2023-02-02 10:55:24 +01:00
|
|
|
package spec
|
|
|
|
|
|
|
|
type Spec interface {
|
|
|
|
SpecName() Name
|
|
|
|
SpecRevision() int
|
2023-03-03 20:37:09 +01:00
|
|
|
SpecData() map[string]any
|
2023-02-02 10:55:24 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
type RawSpec struct {
|
2023-03-03 20:37:09 +01:00
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2023-03-03 20:37:09 +01:00
|
|
|
func (s *RawSpec) SpecData() map[string]any {
|
2023-02-02 10:55:24 +01:00
|
|
|
return s.Data
|
|
|
|
}
|
2023-03-03 20:37:09 +01:00
|
|
|
|
|
|
|
var _ Spec = &RawSpec{}
|