Documentation
¶
Index ¶
- func NewFuncCallError(message string, code FuncCallErrorCode, callStack []*Call) error
- type AnyParameter
- func (p *AnyParameter) GetAllowNullValue() bool
- func (p *AnyParameter) GetDescription() string
- func (p *AnyParameter) GetFormattedDescription() string
- func (p *AnyParameter) GetLabel() string
- func (p *AnyParameter) GetName() string
- func (p *AnyParameter) GetOptional() bool
- func (p *AnyParameter) GetType() ValueType
- type AnyReturn
- type AttributeType
- type Call
- type Definition
- type FuncCallError
- type FuncCallErrorCode
- type FunctionParameter
- func (p *FunctionParameter) GetAllowNullValue() bool
- func (p *FunctionParameter) GetDescription() string
- func (p *FunctionParameter) GetFormattedDescription() string
- func (p *FunctionParameter) GetLabel() string
- func (p *FunctionParameter) GetName() string
- func (p *FunctionParameter) GetOptional() bool
- func (p *FunctionParameter) GetType() ValueType
- type FunctionReturn
- type ListParameter
- func (p *ListParameter) GetAllowNullValue() bool
- func (p *ListParameter) GetDescription() string
- func (p *ListParameter) GetFormattedDescription() string
- func (p *ListParameter) GetLabel() string
- func (p *ListParameter) GetName() string
- func (p *ListParameter) GetOptional() bool
- func (p *ListParameter) GetType() ValueType
- type ListReturn
- type MapParameter
- func (p *MapParameter) GetAllowNullValue() bool
- func (p *MapParameter) GetDescription() string
- func (p *MapParameter) GetFormattedDescription() string
- func (p *MapParameter) GetLabel() string
- func (p *MapParameter) GetName() string
- func (p *MapParameter) GetOptional() bool
- func (p *MapParameter) GetType() ValueType
- type MapReturn
- type ObjectParameter
- func (p *ObjectParameter) GetAllowNullValue() bool
- func (p *ObjectParameter) GetDescription() string
- func (p *ObjectParameter) GetFormattedDescription() string
- func (p *ObjectParameter) GetLabel() string
- func (p *ObjectParameter) GetName() string
- func (p *ObjectParameter) GetOptional() bool
- func (p *ObjectParameter) GetType() ValueType
- type ObjectReturn
- type Parameter
- type Return
- type ScalarParameter
- func (p *ScalarParameter) GetAllowNullValue() bool
- func (p *ScalarParameter) GetDescription() string
- func (p *ScalarParameter) GetFormattedDescription() string
- func (p *ScalarParameter) GetLabel() string
- func (p *ScalarParameter) GetName() string
- func (p *ScalarParameter) GetOptional() bool
- func (p *ScalarParameter) GetType() ValueType
- type ScalarReturn
- type Stack
- type ValueType
- type ValueTypeDefinition
- type ValueTypeDefinitionAny
- type ValueTypeDefinitionFunction
- type ValueTypeDefinitionList
- type ValueTypeDefinitionMap
- type ValueTypeDefinitionObject
- type ValueTypeDefinitionScalar
- type VariadicParameter
- func (p *VariadicParameter) GetAllowNullValue() bool
- func (p *VariadicParameter) GetDescription() string
- func (p *VariadicParameter) GetFormattedDescription() string
- func (p *VariadicParameter) GetLabel() string
- func (p *VariadicParameter) GetName() string
- func (p *VariadicParameter) GetOptional() bool
- func (p *VariadicParameter) GetType() ValueType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewFuncCallError ¶
func NewFuncCallError(message string, code FuncCallErrorCode, callStack []*Call) error
NewFuncCallError creates a new instance of a FuncCallError, this should be used to wrap errors that occur during the execution of a substitution function call and in the function execution system.
Types ¶
type AnyParameter ¶
type AnyParameter struct {
// Name is the name of the parameter for functions that support named arguments.
Name string
// Label is the usage name for the parameter.
// This will appear in logs and in tooling such as
// the language server.
Label string
// UnionTypes is a list of value type definitions that are allowed
// for the parameter.
// When provided, an any parameter type is expected to be validated
// as a union type where the argument must match one of the types.
UnionTypes []ValueTypeDefinition
// Description is a human-readable description of
// the parameter. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the parameter that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
// AllowNullValue determines whether or not an argument
// passed in for this parameter can be null.
AllowNullValue bool
// Optional determines whether or not the value can be omitted.
Optional bool
}
AnyParameter is a parameter type definition for any value. This can be used for union types as well as parameters that can accept any type.
func (*AnyParameter) GetAllowNullValue ¶
func (p *AnyParameter) GetAllowNullValue() bool
func (*AnyParameter) GetDescription ¶
func (p *AnyParameter) GetDescription() string
func (*AnyParameter) GetFormattedDescription ¶
func (p *AnyParameter) GetFormattedDescription() string
func (*AnyParameter) GetLabel ¶
func (p *AnyParameter) GetLabel() string
func (*AnyParameter) GetName ¶
func (p *AnyParameter) GetName() string
func (*AnyParameter) GetOptional ¶
func (p *AnyParameter) GetOptional() bool
func (*AnyParameter) GetType ¶
func (p *AnyParameter) GetType() ValueType
type AnyReturn ¶
type AnyReturn struct {
// This is the type definition for a return value that can be any type.
Type ValueType
// UnionTypes is a list of value type definitions that are allowed
// for the return value.
// When provided, an any return type will be validated as a union type
// where the return value must match one of the types in the union.
UnionTypes []ValueTypeDefinition
// Description is a human-readable description of
// the return value. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the return value that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
}
AnyReturn defines a return type that allows any value type.
func (*AnyReturn) GetDescription ¶
func (*AnyReturn) GetFormattedDescription ¶
type AttributeType ¶
type AttributeType struct {
// ValueTypeDefinition is the type definition for the attribute.
Type ValueTypeDefinition
// AllowNullValue determines whether or not an attribute
// of an object in a parameter or return type can be null.
AllowNullValue bool
}
AttributeType provides a wrapper around a value type definition that allows specific attributes of an object to be null.
type Call ¶
type Call struct {
// FilePath is the file path of the source blueprint
// where the function call is located.
// This is especially useful for debugging projects with multiple
// blueprints or in a multi-stage validation/deployment process
// where the blueprint is one of many files that could have caused
// an error.
FilePath string
FunctionName string
// Location is derived from the location of the function
// call in the source blueprint that is captured in the schema
// and substitution parsing process.
Location *source.Meta
}
Call holds information for a function call in a call stack.
type Definition ¶
type Definition struct {
// Name is the name of the function that is used in a blueprint "${..}" substitution.
// This must be globally unique.
Name string
// Summary is a human-readable summary of the function
// to be used in documentation and tooling when listing
// functions.
Summary string
// FormattedSummary is a human-readable summary of the function
// that is formatted with markdown.
FormattedSummary string
// Description is a human-readable description of the function.
Description string
// FormattedDescription is a human-readable description of the function
// that is formatted with markdown.
FormattedDescription string
// Parameters provides a definition of the parameters that are expected
// to be passed into the function.
// The order of the parameters is important as it will be used to match
// arguments passed into the function.
Parameters []Parameter
// Return provides a definition of the return type of the function.
// Return types are always expected as provider functions are expected to
// be pure functions that return an output based on the input arguments
// without side effects.
// Functions can also return other functions that can be shared,
// this especially useful for function composition and partial application
// of functions used in mapping over arrays or similar operations.
Return Return
// Internal determines whether or not the function is an internal function
// that should not be exposed to end-users.
// Some internal functions are required to enable capabilities such as
// function composition, piping and a small collection of other higher-order
// functions.
Internal bool
}
Definition describes a function that can be used in a blueprint "${..}" substitution. This is used to define the parameters and return types of a function that is used to validate arguments passed into a function and the return value of a function.
type FuncCallError ¶
type FuncCallError struct {
Code FuncCallErrorCode
Message string
CallStack []*Call
}
FuncCallError is an error type that represents an error that occurred during the execution of a substitution function call. This must be used to wrap errors that occur during the execution of a substitution function call to allow the system to pass structured errors across process boundaries when inter-process plugins are used by a tool built on top of the framework.
func (*FuncCallError) Error ¶
func (f *FuncCallError) Error() string
type FuncCallErrorCode ¶
type FuncCallErrorCode int
FuncCallErrorCode is an enumeration of error codes that can be used to identify the type of error that occurred during the execution of a substitution function call.
const ( // FuncCallErrorCodeUnknown is an error code that indicates an unknown // error occurred during the execution of a substitution function call. // This is the default as 0 is the default value when an error code // is not set. FuncCallErrorCodeUnknown FuncCallErrorCode = iota // FuncCallErrorCodeInvalidArgumentType is an error code that indicates // that an argument passed to a function is of an invalid type. FuncCallErrorCodeInvalidArgumentType // FuncCallErrorCodeInvalidArgsOffset is an error code that indicates // that an invalid args offset was defined for a partially applied // function. FuncCallErrorCodeInvalidArgsOffset // FuncCallErrorCodeFunctionCall is an error code that indicates that an // error occurred during the execution of a function call. FuncCallErrorCodeFunctionCall // FuncCallErrorCodeInvalidInput is an error code that indicates that an // error occurred during the execution of a function call due to invalid // arguments. (e.g. an invalid JSON string passed into "jsondecode" or "fromjson") FuncCallErrorCodeInvalidInput // FuncCallErrorCodeInvalidReturnType is an error code that indicates // that the return type of a function is invalid. FuncCallErrorCodeInvalidReturnType // FuncCallErrorCodeSystem is an error code that indicates an error // with the function call system. FuncCallErrorCodeSystem // FuncCallErrorCodeFunctionNotFound is an error code that indicates // that the function to be called was not found in the registry. FuncCallErrorCodeFunctionNotFound )
type FunctionParameter ¶
type FunctionParameter struct {
// Name is the name of the parameter for functions that support named arguments.
Name string
// Label is the usage name for the parameter.
// This will appear in logs and in tooling such as
// the language server.
Label string
// Type of function that represents the type signature
// that defines the parameters and return type of the function.
FunctionType ValueTypeDefinition
// Description is a human-readable description of
// the parameter. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the parameter that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
// AllowNullValue determines whether or not an argument
// passed in for this parameter can be null.
AllowNullValue bool
// Optional determines whether or not the value can be omitted.
Optional bool
}
FunctionParameter is a parameter type definition for a function that can be passed into another function.
func (*FunctionParameter) GetAllowNullValue ¶
func (p *FunctionParameter) GetAllowNullValue() bool
func (*FunctionParameter) GetDescription ¶
func (p *FunctionParameter) GetDescription() string
func (*FunctionParameter) GetFormattedDescription ¶
func (p *FunctionParameter) GetFormattedDescription() string
func (*FunctionParameter) GetLabel ¶
func (p *FunctionParameter) GetLabel() string
func (*FunctionParameter) GetName ¶
func (p *FunctionParameter) GetName() string
func (*FunctionParameter) GetOptional ¶
func (p *FunctionParameter) GetOptional() bool
func (*FunctionParameter) GetType ¶
func (p *FunctionParameter) GetType() ValueType
type FunctionReturn ¶
type FunctionReturn struct {
// FunctionType is the type definition for the function that is returned.
// This should be a type definition of the function signature
// that defines the parameters and return type of the function.
FunctionType ValueTypeDefinition
// Description is a human-readable description of
// the return value. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the return value that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
}
FunctionReturn defines a return type for a function that can be returned from another function.
func (*FunctionReturn) GetDescription ¶
func (r *FunctionReturn) GetDescription() string
func (*FunctionReturn) GetFormattedDescription ¶
func (r *FunctionReturn) GetFormattedDescription() string
func (*FunctionReturn) GetType ¶
func (r *FunctionReturn) GetType() ValueType
type ListParameter ¶
type ListParameter struct {
// Name is the name of the parameter for functions that support named arguments.
Name string
// Label is the usage name for the parameter.
// This will appear in logs and in tooling such as
// the language server.
Label string
// Type of elements in the list, an argument will be validated
// against this type.
ElementType ValueTypeDefinition
// Description is a human-readable description of
// the parameter. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the parameter that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
// AllowNullValue determines whether or not an argument
// passed in for this parameter can be null.
AllowNullValue bool
// Optional determines whether or not the value can be omitted.
Optional bool
}
ListParameter is a parameter type definition for lists of values.
func (*ListParameter) GetAllowNullValue ¶
func (p *ListParameter) GetAllowNullValue() bool
func (*ListParameter) GetDescription ¶
func (p *ListParameter) GetDescription() string
func (*ListParameter) GetFormattedDescription ¶
func (p *ListParameter) GetFormattedDescription() string
func (*ListParameter) GetLabel ¶
func (p *ListParameter) GetLabel() string
func (*ListParameter) GetName ¶
func (p *ListParameter) GetName() string
func (*ListParameter) GetOptional ¶
func (p *ListParameter) GetOptional() bool
func (*ListParameter) GetType ¶
func (p *ListParameter) GetType() ValueType
type ListReturn ¶
type ListReturn struct {
// ElementType is the type definition for the elements in the list.
ElementType ValueTypeDefinition
// Description is a human-readable description of
// the return value. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the return value that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
}
ListReturn defines a return type for a list of values with a single type.
func (*ListReturn) GetDescription ¶
func (r *ListReturn) GetDescription() string
func (*ListReturn) GetFormattedDescription ¶
func (r *ListReturn) GetFormattedDescription() string
func (*ListReturn) GetType ¶
func (r *ListReturn) GetType() ValueType
type MapParameter ¶
type MapParameter struct {
// Name is the name of the parameter for functions that support named arguments.
Name string
// Label is the usage name for the parameter.
// This will appear in logs and in tooling such as
// the language server.
Label string
// Type of values in the map, an argument will be validated
// against this type.
ElementType ValueTypeDefinition
// Description is a human-readable description of
// the parameter. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the parameter that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
// AllowNullValue determines whether or not an argument
// passed in for this parameter can be null.
AllowNullValue bool
// Optional determines whether or not the value can be omitted.
Optional bool
}
MapParameter is a parameter type definition for a mapping of strings to values.
func (*MapParameter) GetAllowNullValue ¶
func (p *MapParameter) GetAllowNullValue() bool
func (*MapParameter) GetDescription ¶
func (p *MapParameter) GetDescription() string
func (*MapParameter) GetFormattedDescription ¶
func (p *MapParameter) GetFormattedDescription() string
func (*MapParameter) GetLabel ¶
func (p *MapParameter) GetLabel() string
func (*MapParameter) GetName ¶
func (p *MapParameter) GetName() string
func (*MapParameter) GetOptional ¶
func (p *MapParameter) GetOptional() bool
func (*MapParameter) GetType ¶
func (p *MapParameter) GetType() ValueType
type MapReturn ¶
type MapReturn struct {
// ElementType is the type definition for the values in the map.
ElementType ValueTypeDefinition
// Description is a human-readable description of
// the return value. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the return value that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
}
MapReturn defines a return type for a mapping of strings to values with a single type.
func (*MapReturn) GetDescription ¶
func (*MapReturn) GetFormattedDescription ¶
type ObjectParameter ¶
type ObjectParameter struct {
// Name is the name of the parameter for functions that support named arguments.
Name string
// Label is the usage name for the parameter.
// This will appear in logs and in tooling such as
// the language server.
Label string
// The type of the object that defines the attributes
// and their types.
ObjectValueType ValueTypeDefinition
// Description is a human-readable description of
// the parameter. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the parameter that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
// AllowNullValue determines whether or not an argument
// passed in for this parameter can be null.
AllowNullValue bool
// Optional determines whether or not the value can be omitted.
Optional bool
}
ObjectParameter is a parameter type definition for a predefined object structure with known attributes.
func (*ObjectParameter) GetAllowNullValue ¶
func (p *ObjectParameter) GetAllowNullValue() bool
func (*ObjectParameter) GetDescription ¶
func (p *ObjectParameter) GetDescription() string
func (*ObjectParameter) GetFormattedDescription ¶
func (p *ObjectParameter) GetFormattedDescription() string
func (*ObjectParameter) GetLabel ¶
func (p *ObjectParameter) GetLabel() string
func (*ObjectParameter) GetName ¶
func (p *ObjectParameter) GetName() string
func (*ObjectParameter) GetOptional ¶
func (p *ObjectParameter) GetOptional() bool
func (*ObjectParameter) GetType ¶
func (p *ObjectParameter) GetType() ValueType
type ObjectReturn ¶
type ObjectReturn struct {
// The type of the object that defines the attributes
// and their types.
ObjectValueType ValueTypeDefinition
// Description is a human-readable description of
// the return value. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the return value that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
}
ObjectReturn defines a return type for a predefined object structure with known attributes.
func (*ObjectReturn) GetDescription ¶
func (r *ObjectReturn) GetDescription() string
func (*ObjectReturn) GetFormattedDescription ¶
func (r *ObjectReturn) GetFormattedDescription() string
func (*ObjectReturn) GetType ¶
func (r *ObjectReturn) GetType() ValueType
type Parameter ¶
type Parameter interface {
// GetName returns the name of the parameter for functions
// that support named arguments.
GetName() string
// GetLabel returns the usage name for the parameter.
GetLabel() string
// GetType returns the type name of the parameter.
GetType() ValueType
// GetDescription returns a human-readable description of the parameter
// that is not formatted.
GetDescription() string
// GetFormattedDescription returns a human-readable description of the parameter
// that is formatted with markdown.
GetFormattedDescription() string
// GetAllowNullValue returns whether or
// not an argument passed in for this parameter can be null.
GetAllowNullValue() bool
// GetOptional determines whether or not the value can be omitted.
GetOptional() bool
}
Parameter is a parameter type definition for arguments passed into a function.
type Return ¶
type Return interface {
// GetType retrieves the type name of the return value.
GetType() ValueType
// GetDescription returns a human-readable description of the return value
// that is not formatted.
GetDescription() string
// GetFormattedDescription returns a human-readable description of the return value
// that is formatted with markdown.
GetFormattedDescription() string
}
Return is a return type definition for the return value of a function.
type ScalarParameter ¶
type ScalarParameter struct {
// Name is the name of the parameter for functions that support named arguments.
Name string
// Label is the usage name for the parameter.
// This will appear in logs and in tooling such as
// the language server.
Label string
// Type of the parameter, an argument will be validated
// against this type.
Type ValueTypeDefinition
// Description is a human-readable description of
// the parameter. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the parameter that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
// AllowNullValue determines whether or not an argument
// passed in for this parameter can be null.
AllowNullValue bool
// Optional determines whether or not the value can be omitted.
Optional bool
}
ScalarParameter is a parameter type definition for primitive types.
func (*ScalarParameter) GetAllowNullValue ¶
func (p *ScalarParameter) GetAllowNullValue() bool
func (*ScalarParameter) GetDescription ¶
func (p *ScalarParameter) GetDescription() string
func (*ScalarParameter) GetFormattedDescription ¶
func (p *ScalarParameter) GetFormattedDescription() string
func (*ScalarParameter) GetLabel ¶
func (p *ScalarParameter) GetLabel() string
func (*ScalarParameter) GetName ¶
func (p *ScalarParameter) GetName() string
func (*ScalarParameter) GetOptional ¶
func (p *ScalarParameter) GetOptional() bool
func (*ScalarParameter) GetType ¶
func (p *ScalarParameter) GetType() ValueType
type ScalarReturn ¶
type ScalarReturn struct {
// This is the type definition for the scalar return value,
// this should be a type definition that uses one of the scalar
// value types such as ValueTypeString, ValueTypeInt32, etc.
Type ValueTypeDefinition
// Description is a human-readable description of
// the return value. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the return value that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
}
ScalarReturn defines a return type for a primitive type.
func (*ScalarReturn) GetDescription ¶
func (r *ScalarReturn) GetDescription() string
func (*ScalarReturn) GetFormattedDescription ¶
func (r *ScalarReturn) GetFormattedDescription() string
func (*ScalarReturn) GetType ¶
func (r *ScalarReturn) GetType() ValueType
type Stack ¶
type Stack interface {
// Push a new function call onto the stack.
Push(call *Call)
// Pop the top function call from the stack.
Pop() *Call
// Snapshot returns a snapshot of the current stack.
Snapshot() []*Call
// Clone returns a copy of the stack.
Clone() Stack
}
Stack is an interface for a stack of function calls.
type ValueType ¶
type ValueType string
ValueType is used as an enum for the value types that are supported for parameters and return types for provider functions.
const ( // ValueTypeString is for strings. ValueTypeString ValueType = "string" // ValueTypeBytes is for byte arrays. ValueTypeBytes ValueType = "bytes" // ValueTypeInt32 is for 32-bit signed integers. ValueTypeInt32 ValueType = "int32" // ValueTypeInt64 is for 64-bit signed integers. ValueTypeInt64 ValueType = "int64" // ValueTypeUint32 is for 32-bit unsigned integers. ValueTypeUint32 ValueType = "uint32" // ValueTypeUint64 is for 64-bit unsigned integers. ValueTypeUint64 ValueType = "uint64" // ValueTypeFloat32 is for 32-bit floating point numbers. ValueTypeFloat32 ValueType = "float32" // ValueTypeFloat64 is for 64-bit floating point numbers. ValueTypeFloat64 ValueType = "float64" // ValueTypeBool is for boolean values. ValueTypeBool ValueType = "bool" // ValueTypeList is for lists of values. ValueTypeList ValueType = "list" // ValueTypeMap is for maps of values. ValueTypeMap ValueType = "map" // ValueTypeObject is for objects with a predefined // structure with known attributes. ValueTypeObject ValueType = "object" // ValueTypeFunction is for functions that can be passed // into and returned from other functions. ValueTypeFunction ValueType = "function" // ValueTypeAny is for a parameter or return value // that can have any type. ValueTypeAny ValueType = "any" )
type ValueTypeDefinition ¶
type ValueTypeDefinition interface {
// GetType returns the type name of the value type definition.
GetType() ValueType
// GetLabel returns the name of the value type definition.
GetLabel() string
// GetDescription returns a human-readable description
// of the value type definition.
GetDescription() string
// GetFormattedDescription returns a human-readable description
// of the value type definition that is formatted with markdown.
GetFormattedDescription() string
}
ValueTypeDefinition is an interface that provides a common interface for all value type definitions that can be used in parameter and return type definitions.
type ValueTypeDefinitionAny ¶
type ValueTypeDefinitionAny struct {
// Type is the value type name for an any type.
Type ValueType
// UnionTypes is a list of value type definitions that are allowed
// for the value.
// When provided, an any value type will be validated as a union type
// where the return value must match one of the types in the union.
UnionTypes []ValueTypeDefinition
// Label is the usage name for the value type.
// This will appear in logs and in tooling such as
// the language server.
Label string
// Description is a human-readable description of
// the value type. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the value type that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
}
ValueTypeDefinitionAny is a value type definition for an argument or return value that can have any type.
func (*ValueTypeDefinitionAny) GetDescription ¶
func (v *ValueTypeDefinitionAny) GetDescription() string
func (*ValueTypeDefinitionAny) GetFormattedDescription ¶
func (v *ValueTypeDefinitionAny) GetFormattedDescription() string
func (*ValueTypeDefinitionAny) GetLabel ¶
func (v *ValueTypeDefinitionAny) GetLabel() string
func (*ValueTypeDefinitionAny) GetType ¶
func (v *ValueTypeDefinitionAny) GetType() ValueType
type ValueTypeDefinitionFunction ¶
type ValueTypeDefinitionFunction struct {
// Definition is the function definition that describes the
// parameters and return type of an anonymous function
// that can be passed into and returned from other functions.
Definition Definition
// Label is the usage name for the value type.
// This will appear in logs and in tooling such as
// the language server.
Label string
// Description is a human-readable description of
// the value type. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the value type that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
}
ValueTypeDefinitionFunction is a value type definition for a function that can be passed into and returned from other functions.
func (*ValueTypeDefinitionFunction) GetDescription ¶
func (v *ValueTypeDefinitionFunction) GetDescription() string
func (*ValueTypeDefinitionFunction) GetFormattedDescription ¶
func (v *ValueTypeDefinitionFunction) GetFormattedDescription() string
func (*ValueTypeDefinitionFunction) GetLabel ¶
func (v *ValueTypeDefinitionFunction) GetLabel() string
func (*ValueTypeDefinitionFunction) GetType ¶
func (v *ValueTypeDefinitionFunction) GetType() ValueType
type ValueTypeDefinitionList ¶
type ValueTypeDefinitionList struct {
// ElementType is the type definition for the elements in the list.
ElementType ValueTypeDefinition
// Label is the usage name for the value type.
// This will appear in logs and in tooling such as
// the language server.
Label string
// Description is a human-readable description of
// the value type. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the value type that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
}
ValueTypeDefinitionList is a value type definition for lists of values.
func (*ValueTypeDefinitionList) GetDescription ¶
func (v *ValueTypeDefinitionList) GetDescription() string
func (*ValueTypeDefinitionList) GetFormattedDescription ¶
func (v *ValueTypeDefinitionList) GetFormattedDescription() string
func (*ValueTypeDefinitionList) GetLabel ¶
func (v *ValueTypeDefinitionList) GetLabel() string
func (*ValueTypeDefinitionList) GetType ¶
func (v *ValueTypeDefinitionList) GetType() ValueType
type ValueTypeDefinitionMap ¶
type ValueTypeDefinitionMap struct {
// ElementType is the type definition for the values in the map.
ElementType ValueTypeDefinition
// Label is the usage name for the value type.
// This will appear in logs and in tooling such as
// the language server.
Label string
// Description is a human-readable description of
// the value type. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the value type that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
}
ValueTypeDefinitionMap is a value type definition for a mapping of strings to values.
func (*ValueTypeDefinitionMap) GetDescription ¶
func (v *ValueTypeDefinitionMap) GetDescription() string
func (*ValueTypeDefinitionMap) GetFormattedDescription ¶
func (v *ValueTypeDefinitionMap) GetFormattedDescription() string
func (*ValueTypeDefinitionMap) GetLabel ¶
func (v *ValueTypeDefinitionMap) GetLabel() string
func (*ValueTypeDefinitionMap) GetType ¶
func (v *ValueTypeDefinitionMap) GetType() ValueType
type ValueTypeDefinitionObject ¶
type ValueTypeDefinitionObject struct {
// AttributeTypes is a map of attribute names to attribute types.
AttributeTypes map[string]AttributeType
// Label is the usage name for the value type.
// This will appear in logs and in tooling such as
// the language server.
Label string
// Description is a human-readable description of
// the value type. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the value type that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
// Required is a list of attribute names that are required
// for the object.
Required []string
}
ValueTypeDefinitionObject is a value type definition for a predefined object structure with known attributes.
func (*ValueTypeDefinitionObject) GetDescription ¶
func (v *ValueTypeDefinitionObject) GetDescription() string
func (*ValueTypeDefinitionObject) GetFormattedDescription ¶
func (v *ValueTypeDefinitionObject) GetFormattedDescription() string
func (*ValueTypeDefinitionObject) GetLabel ¶
func (v *ValueTypeDefinitionObject) GetLabel() string
func (*ValueTypeDefinitionObject) GetType ¶
func (v *ValueTypeDefinitionObject) GetType() ValueType
type ValueTypeDefinitionScalar ¶
type ValueTypeDefinitionScalar struct {
// Type is the value type name for the scalar type.
Type ValueType
// Label is the usage name for the value type.
// This will appear in logs and in tooling such as
// the language server.
Label string
// Description is a human-readable description of
// the value type. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the value type that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
// StringChoices is a list of string values that are allowed
// for the value.
// This is only taken into account when typeDef.Type is ValueTypeString.
StringChoices []string
}
ValueTypeDefinitionScalar is a value type definition for scalar (primitive) types.
func (*ValueTypeDefinitionScalar) GetDescription ¶
func (v *ValueTypeDefinitionScalar) GetDescription() string
func (*ValueTypeDefinitionScalar) GetFormattedDescription ¶
func (v *ValueTypeDefinitionScalar) GetFormattedDescription() string
func (*ValueTypeDefinitionScalar) GetLabel ¶
func (v *ValueTypeDefinitionScalar) GetLabel() string
func (*ValueTypeDefinitionScalar) GetType ¶
func (v *ValueTypeDefinitionScalar) GetType() ValueType
type VariadicParameter ¶
type VariadicParameter struct {
// Label is the usage name for the parameter.
// This will appear in logs and in tooling such as
// the language server.
Label string
// Type of the parameters, each argument will be validated
// against this type.
Type ValueTypeDefinition
// SingleType determines whether or not the variadic parameters
// must all be of the same type.
// This is false by default, meaning that variadic parameters
// can be of any type.
// The Type field is only assessed if SingleType is true.
SingleType bool
// Description is a human-readable description of
// the parameter. This will appear in logs and in
// tooling such as the language server.
Description string
// FormattedDescription is a human-readable description of
// the parameter that is formatted with markdown.
// This will appear in usage documentation, logs and in
// tooling such as the language server.
FormattedDescription string
// AllowNullValue determines whether or not an argument
// passed in for these parameters can be null.
AllowNullValue bool
// Named determines whether or not the variadic parameters
// are named arguments.
// Named and positional arguments cannot be mixed.
// If they are named arguments, all arguments do not need to be
// of the same type.
Named bool
}
VariadicParameter is a parameter type definition for variadic parameters at the end of a parameter list. A variadic parameter can be any number of arguments of any or a specific type.
func (*VariadicParameter) GetAllowNullValue ¶
func (p *VariadicParameter) GetAllowNullValue() bool
func (*VariadicParameter) GetDescription ¶
func (p *VariadicParameter) GetDescription() string
func (*VariadicParameter) GetFormattedDescription ¶
func (p *VariadicParameter) GetFormattedDescription() string
func (*VariadicParameter) GetLabel ¶
func (p *VariadicParameter) GetLabel() string
func (*VariadicParameter) GetName ¶
func (p *VariadicParameter) GetName() string
func (*VariadicParameter) GetOptional ¶
func (p *VariadicParameter) GetOptional() bool
func (*VariadicParameter) GetType ¶
func (p *VariadicParameter) GetType() ValueType