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
|
||
|
}
|