mirror of
https://github.com/LukeHagar/libopenapi.git
synced 2025-12-07 20:47:45 +00:00
Perhaps the most complex model in the stack, almost there! a small amount of refactoring also to help things stay clean.
28 lines
437 B
Go
28 lines
437 B
Go
package low
|
|
|
|
import "gopkg.in/yaml.v3"
|
|
|
|
type HasNode interface {
|
|
GetNode() *yaml.Node
|
|
}
|
|
|
|
type Buildable interface {
|
|
Build(node *yaml.Node) error
|
|
}
|
|
|
|
type NodeReference[T any] struct {
|
|
Value T
|
|
ValueNode *yaml.Node
|
|
KeyNode *yaml.Node
|
|
}
|
|
|
|
type ObjectReference struct {
|
|
Value interface{}
|
|
ValueNode *yaml.Node
|
|
KeyNode *yaml.Node
|
|
}
|
|
|
|
func (n NodeReference[T]) IsEmpty() bool {
|
|
return n.KeyNode == nil && n.ValueNode == nil
|
|
}
|