(feat): Unpack extensions into complex function types #8

The more in-depth we use extensions, the more likely is is that we need custom extensions. New `UnpackExtensions` function in the high package makes this easy. Low level models have been updated to support feature fully and docs added in README and examples as well.

Signed-off-by: Dave Shanley <dave@quobix.com>
This commit is contained in:
Dave Shanley
2022-12-02 11:15:44 -05:00
parent 52a5b61de2
commit c08dd591b2
61 changed files with 756 additions and 89 deletions

View File

@@ -22,6 +22,11 @@ type Server struct {
Extensions map[low.KeyReference[string]]low.ValueReference[any]
}
// GetExtensions returns all Paths extensions and satisfies the low.HasExtensions interface.
func (s *Server) GetExtensions() map[low.KeyReference[string]]low.ValueReference[any] {
return s.Extensions
}
// FindVariable attempts to locate a ServerVariable instance using the supplied key.
func (s *Server) FindVariable(serverVar string) *low.ValueReference[*ServerVariable] {
return low.FindItemInMap[*ServerVariable](serverVar, s.Variables.Value)