Files
libopenapi/datamodel/low/reference.go
Dave Shanley 717b7d4610 Full model is now in place,
Time to revisit each model and build individual tests to ensure all error handling is in place across the model.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-08-10 12:18:13 -04:00

41 lines
634 B
Go

package low
import "gopkg.in/yaml.v3"
type HasNode interface {
GetNode() *yaml.Node
}
type Buildable[T any] interface {
Build(node *yaml.Node) error
*T
}
type NodeReference[T any] struct {
Value T
ValueNode *yaml.Node
KeyNode *yaml.Node
}
type KeyReference[T any] struct {
Value T
KeyNode *yaml.Node
}
type ValueReference[T any] struct {
Value T
ValueNode *yaml.Node
}
func (n NodeReference[T]) IsEmpty() bool {
return n.KeyNode == nil && n.ValueNode == nil
}
func (n ValueReference[T]) IsEmpty() bool {
return n.ValueNode == nil
}
func (n KeyReference[T]) IsEmpty() bool {
return n.KeyNode == nil
}