package spec const DefaultVersion = "0.0.0" type Spec interface { SpecDefinitionName() string SpecDefinitionVersion() string SpecRevision() int SpecData() map[string]any } type RawSpec struct { DefinitionName string `json:"name"` DefinitionVersion string `json:"version"` Revision int `json:"revision"` Data map[string]any `json:"data"` } func (s *RawSpec) SpecDefinitionName() string { return s.DefinitionName } func (s *RawSpec) SpecDefinitionVersion() string { return s.DefinitionVersion } func (s *RawSpec) SpecRevision() int { return s.Revision } func (s *RawSpec) SpecData() map[string]any { return s.Data } var _ Spec = &RawSpec{}