Documentation
¶
Index ¶
- Variables
- func NewAnonymousFunctionRepository(signature string, returnType bonobo.Type) *anonymousRepository
- func NewFunctionRepository() *functionRepository
- func RawFileFromGithubURL(url string) (string, error)
- func ReadScalarFunctionImplementations(r io.Reader, uri string) ([]*extensions.ScalarFunctionVariant, error)
- func RegisterImplementationsFromURI(repo *functionRepository, uri string, getterOpts ...getter.ClientOption) error
- type Extension
- type ExtensionDeclaration
- type ExtensionKind
- type ExtensionRegistry
- func (reg *ExtensionRegistry) Extensions() ([]ExtensionURI, []ExtensionDeclaration)
- func (reg *ExtensionRegistry) GetExtensionByReference(ref uint32) (ExtensionDeclaration, string, error)
- func (reg *ExtensionRegistry) RegisterFunction(uri, signature string) uint32
- func (reg *ExtensionRegistry) ToProto() ([]*extensions.SimpleExtensionURI, []*extensions.SimpleExtensionDeclaration, ...)
- type ExtensionURI
- type FunctionDeclaration
- type FunctionImplementation
- type FunctionRepository
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNoMatchingImplementation = errors.New("function: no implementation matching the provided arguments")
Functions ¶
func NewFunctionRepository ¶
func NewFunctionRepository() *functionRepository
func RawFileFromGithubURL ¶
func ReadScalarFunctionImplementations ¶
func ReadScalarFunctionImplementations(r io.Reader, uri string) ([]*extensions.ScalarFunctionVariant, error)
Types ¶
type Extension ¶
type Extension struct {
Name, URI string
Kind ExtensionKind
}
type ExtensionDeclaration ¶
type ExtensionDeclaration struct { Reference uint32 Anchor uint32 Name string Kind ExtensionKind }
type ExtensionKind ¶
type ExtensionKind int
const ( ExtensionKindType ExtensionKind = iota ExtensionKindTypeVariation ExtensionKindFunction )
type ExtensionRegistry ¶
type ExtensionRegistry struct {
// contains filtered or unexported fields
}
func NewExtensionRegistryFromProto ¶
func NewExtensionRegistryFromProto(plan *proto.Plan) (ExtensionRegistry, error)
func (*ExtensionRegistry) Extensions ¶
func (reg *ExtensionRegistry) Extensions() ([]ExtensionURI, []ExtensionDeclaration)
func (*ExtensionRegistry) GetExtensionByReference ¶
func (reg *ExtensionRegistry) GetExtensionByReference(ref uint32) (ExtensionDeclaration, string, error)
func (*ExtensionRegistry) RegisterFunction ¶
func (reg *ExtensionRegistry) RegisterFunction(uri, signature string) uint32
func (*ExtensionRegistry) ToProto ¶
func (reg *ExtensionRegistry) ToProto() ([]*extensions.SimpleExtensionURI, []*extensions.SimpleExtensionDeclaration, error)
type ExtensionURI ¶
type FunctionDeclaration ¶
type FunctionDeclaration interface {
Implementations() ([]FunctionImplementation, error)
}
type FunctionImplementation ¶
type FunctionRepository ¶
type FunctionRepository interface {
GetImplementation(uri, name string, args ...bonobo.Type) (FunctionImplementation, error)
}
Click to show internal directories.
Click to hide internal directories.