26 lines
375 B
Go
26 lines
375 B
Go
package spec
|
|
|
|
type Spec interface {
|
|
SpecName() Name
|
|
SpecRevision() int
|
|
SpecData() any
|
|
}
|
|
|
|
type RawSpec struct {
|
|
Name Name `json:"name"`
|
|
Revision int `json:"revision"`
|
|
Data any `json:"data"`
|
|
}
|
|
|
|
func (s *RawSpec) SpecName() Name {
|
|
return s.Name
|
|
}
|
|
|
|
func (s *RawSpec) SpecRevision() int {
|
|
return s.Revision
|
|
}
|
|
|
|
func (s *RawSpec) SpecData() any {
|
|
return s.Data
|
|
}
|