Documentation
¶
Index ¶
- type AddAssignment
- type AddComments
- type AddFactory
- type AddFields
- type AddObject
- type AddOption
- type AnonymousStructsToNamed
- type ArrayToAppend
- type BuilderRule
- type BuilderSelector
- type ByNamesSelector
- type CleanupK8ResourceNames
- type Compiler
- type CompilerLoader
- type CompilerPass
- type ComposeBuilders
- type ConstantToEnum
- type ConverterConfig
- type ConverterConfigReader
- type DataqueryIdentification
- type DebugBuilder
- type DebugOption
- type DisjunctionAsOptions
- type DisjunctionInferMapping
- type DisjunctionOfAnonymousStructsToExplicit
- type DisjunctionToType
- type DisjunctionWithConstantToDefault
- type Duplicate
- type DuplicateObject
- type DuplicateOption
- type EntrypointIdentification
- type FieldsSetDefault
- type FieldsSetNotRequired
- type FieldsSetRequired
- type HintObject
- type Initialization
- type Initialize
- type MapToIndex
- type MergeInto
- type NameAnonymousStruct
- type Omit
- type OmitBuilder
- type OmitFields
- type OmitOption
- type OptionRule
- type OptionSelector
- type PromoteOptsToConstructor
- type Properties
- type RenameArguments
- type RenameBuilder
- type RenameObject
- type RenameOption
- type ReplaceReference
- type RetypeField
- type RetypeObject
- type Runtime
- type SchemaSetEntryPoint
- type SchemaSetIdentifier
- type SetAsGeneric
- type StructFieldsAsArguments
- type StructFieldsAsOptions
- type TrimEnumValues
- type UndiscriminatedDisjunctionToAny
- type UnfoldBoolean
- type Unspec
- type Veneers
- type VeneersLoader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddAssignment ¶
type AddAssignment struct {
OptionSelector `yaml:",inline"`
Assignment veneers.Assignment `yaml:"assignment"`
}
func (AddAssignment) AsRewriteRule ¶
func (rule AddAssignment) AsRewriteRule(pkg string) (option.Rule, error)
type AddComments ¶ added in v0.0.11
type AddComments struct {
OptionSelector `yaml:",inline"`
Comments []string `yaml:"comments"`
}
func (AddComments) AsRewriteRule ¶ added in v0.0.11
func (rule AddComments) AsRewriteRule(pkg string) (option.Rule, error)
type AddFactory ¶ added in v0.0.25
type AddFactory struct {
BuilderSelector `yaml:",inline"`
Factory ast.BuilderFactory `yaml:"factory"`
}
type AddFields ¶
type AddFields struct {
// Expected format: [package].[object]
To string
Fields []ast.StructField
}
type AddObject ¶ added in v0.0.5
type AddOption ¶
type AddOption struct {
BuilderSelector `yaml:",inline"`
Option veneers.Option `yaml:"option"`
}
type AnonymousStructsToNamed ¶
type AnonymousStructsToNamed struct {
}
func (AnonymousStructsToNamed) AsCompilerPass ¶
func (pass AnonymousStructsToNamed) AsCompilerPass() (*compiler.AnonymousStructsToNamed, error)
type ArrayToAppend ¶
type ArrayToAppend struct {
OptionSelector `yaml:",inline"`
}
func (ArrayToAppend) AsRewriteRule ¶
func (rule ArrayToAppend) AsRewriteRule(pkg string) (option.Rule, error)
type BuilderRule ¶
type BuilderRule struct {
Omit *OmitBuilder `yaml:"omit" rule_name:"Omit"`
Rename *RenameBuilder `yaml:"rename" rule_name:"Rename"`
MergeInto *MergeInto `yaml:"merge_into"`
ComposeBuilders *ComposeBuilders `yaml:"compose"`
Properties *Properties `yaml:"properties"`
Duplicate *Duplicate `yaml:"duplicate"`
Initialize *Initialize `yaml:"initialize"`
PromoteOptsToConstructor *PromoteOptsToConstructor `yaml:"promote_options_to_constructor" rule_name:"PromoteOptionsToConstructor"`
AddOption *AddOption `yaml:"add_option"`
AddFactory *AddFactory `yaml:"add_factory"`
Debug *DebugBuilder `yaml:"debug" rule_name:"Debug"`
SetAsGeneric *SetAsGeneric `yaml:"set_as_generic"`
}
type BuilderSelector ¶
type BuilderSelector struct {
ByObject *string `yaml:"by_object"`
ByName *string `yaml:"by_name"`
ByVariant *string `yaml:"by_variant"`
GeneratedFromDisjunction *bool `yaml:"generated_from_disjunction"` // noop?
}
func (BuilderSelector) AsSelector ¶
func (selector BuilderSelector) AsSelector(pkg string) (*builder.Selector, error)
type ByNamesSelector ¶
type ByNamesSelector struct {
Object string `yaml:"object"`
Builder string `yaml:"builder"`
Options []string `yaml:"options"`
}
func (ByNamesSelector) AsSelector ¶
func (selector ByNamesSelector) AsSelector(pkg string) (*option.Selector, error)
type CleanupK8ResourceNames ¶ added in v0.0.40
type CleanupK8ResourceNames struct {
PrefixToRemove string `yaml:"prefix_to_remove"`
}
func (CleanupK8ResourceNames) AsCompilerPass ¶ added in v0.0.40
func (pass CleanupK8ResourceNames) AsCompilerPass() (*compiler.CleanupK8ResourceNames, error)
type Compiler ¶
type Compiler struct {
Passes []CompilerPass `yaml:"passes"`
}
type CompilerLoader ¶
type CompilerLoader struct {
}
func NewCompilerLoader ¶
func NewCompilerLoader() *CompilerLoader
func (*CompilerLoader) PassesFrom ¶
func (loader *CompilerLoader) PassesFrom(filenames []string) (compiler.Passes, error)
type CompilerPass ¶
type CompilerPass struct {
EntrypointIdentification *EntrypointIdentification `yaml:"entrypoint_identification"`
DataqueryIdentification *DataqueryIdentification `yaml:"dataquery_identification"`
Unspec *Unspec `yaml:"unspec"`
ReplaceReference *ReplaceReference `yaml:"replace_reference"`
FieldsSetDefault *FieldsSetDefault `yaml:"fields_set_default"`
FieldsSetRequired *FieldsSetRequired `yaml:"fields_set_required"`
FieldsSetNotRequired *FieldsSetNotRequired `yaml:"fields_set_not_required"`
Omit *Omit `yaml:"omit"`
AddFields *AddFields `yaml:"add_fields"`
NameAnonymousStruct *NameAnonymousStruct `yaml:"name_anonymous_struct"`
AddObject *AddObject `yaml:"add_object"`
RenameObject *RenameObject `yaml:"rename_object"`
RetypeObject *RetypeObject `yaml:"retype_object"`
HintObject *HintObject `yaml:"hint_object"`
RetypeField *RetypeField `yaml:"retype_field"`
OmitFields *OmitFields `yaml:"omit_fields"`
SchemaSetIdentifier *SchemaSetIdentifier `yaml:"schema_set_identifier"`
SchemaSetEntryPoint *SchemaSetEntryPoint `yaml:"schema_set_entry_point"`
DuplicateObject *DuplicateObject `yaml:"duplicate_object"`
TrimEnumValues *TrimEnumValues `yaml:"trim_enum_values"`
ConstantToEnum *ConstantToEnum `yaml:"constant_to_enum"`
ExtractK8ResourceNames *CleanupK8ResourceNames `yaml:"cleanup_k8_resource_names"`
AnonymousStructsToNamed *AnonymousStructsToNamed `yaml:"anonymous_structs_to_named"`
DisjunctionToType *DisjunctionToType `yaml:"disjunction_to_type"`
DisjunctionOfAnonymousStructsToExplicit *DisjunctionOfAnonymousStructsToExplicit `yaml:"disjunction_of_anonymous_structs_to_explicit"`
DisjunctionInferMapping *DisjunctionInferMapping `yaml:"disjunction_infer_mapping"`
UndiscriminatedDisjunctionToAny *UndiscriminatedDisjunctionToAny `yaml:"undiscriminated_disjunction_to_any"`
DisjunctionWithConstantToDefault *DisjunctionWithConstantToDefault `yaml:"disjunction_with_constant_to_default"`
}
func (CompilerPass) AsCompilerPass ¶
func (pass CompilerPass) AsCompilerPass() (compiler.Pass, error)
type ComposeBuilders ¶ added in v0.0.8
type ComposeBuilders struct {
BuilderSelector `yaml:",inline"`
SourceBuilderName string `yaml:"source_builder_name"`
PluginDiscriminatorField string `yaml:"plugin_discriminator_field"`
ExcludeOptions []string `yaml:"exclude_options"`
CompositionMap map[string]string `yaml:"composition_map"`
ComposedBuilderName string `yaml:"composed_builder_name"`
PreserveOriginalBuilders bool `yaml:"preserve_original_builders"`
RenameOptions map[string]string `yaml:"rename_options"`
}
type ConstantToEnum ¶ added in v0.0.18
type ConstantToEnum struct {
Objects []string // Expected format: [package].[object]
}
func (ConstantToEnum) AsCompilerPass ¶ added in v0.0.18
func (pass ConstantToEnum) AsCompilerPass() (*compiler.ConstantToEnum, error)
type ConverterConfig ¶ added in v0.0.42
type ConverterConfig struct {
Runtime []Runtime `yaml:"runtime"`
}
type ConverterConfigReader ¶ added in v0.0.42
type ConverterConfigReader struct{}
func NewConverterConfigReader ¶ added in v0.0.42
func NewConverterConfigReader() *ConverterConfigReader
func (ConverterConfigReader) ReadConverterConfig ¶ added in v0.0.42
func (c ConverterConfigReader) ReadConverterConfig(filename string) (ConverterConfig, error)
type DataqueryIdentification ¶
type DataqueryIdentification struct {
}
func (DataqueryIdentification) AsCompilerPass ¶
func (pass DataqueryIdentification) AsCompilerPass() *compiler.DataqueryIdentification
type DebugBuilder ¶ added in v0.0.56
type DebugBuilder struct {
BuilderSelector `yaml:",inline"`
}
type DebugOption ¶ added in v0.0.56
type DebugOption struct {
OptionSelector `yaml:",inline"`
}
func (DebugOption) AsRewriteRule ¶ added in v0.0.56
func (rule DebugOption) AsRewriteRule(pkg string) (option.Rule, error)
type DisjunctionAsOptions ¶
type DisjunctionAsOptions struct {
OptionSelector `yaml:",inline"`
ArgumentIndex int `yaml:"argument_index"`
}
func (DisjunctionAsOptions) AsRewriteRule ¶
func (rule DisjunctionAsOptions) AsRewriteRule(pkg string) (option.Rule, error)
type DisjunctionInferMapping ¶
type DisjunctionInferMapping struct {
}
func (DisjunctionInferMapping) AsCompilerPass ¶
func (pass DisjunctionInferMapping) AsCompilerPass() (*compiler.DisjunctionInferMapping, error)
type DisjunctionOfAnonymousStructsToExplicit ¶
type DisjunctionOfAnonymousStructsToExplicit struct {
}
func (DisjunctionOfAnonymousStructsToExplicit) AsCompilerPass ¶
func (pass DisjunctionOfAnonymousStructsToExplicit) AsCompilerPass() (*compiler.DisjunctionOfAnonymousStructsToExplicit, error)
type DisjunctionToType ¶
type DisjunctionToType struct {
}
func (DisjunctionToType) AsCompilerPass ¶
func (pass DisjunctionToType) AsCompilerPass() (*compiler.DisjunctionToType, error)
type DisjunctionWithConstantToDefault ¶
type DisjunctionWithConstantToDefault struct {
}
func (DisjunctionWithConstantToDefault) AsCompilerPass ¶
func (pass DisjunctionWithConstantToDefault) AsCompilerPass() (*compiler.DisjunctionWithConstantToDefault, error)
type Duplicate ¶
type Duplicate struct {
BuilderSelector `yaml:",inline"`
As string `yaml:"as"`
ExcludeOptions []string `yaml:"exclude_options"`
}
type DuplicateObject ¶ added in v0.0.3
type DuplicateObject struct {
Object string // Expected format: [package].[object]
As string
OmitFields []string `yaml:"omit_fields"`
}
func (DuplicateObject) AsCompilerPass ¶ added in v0.0.3
func (pass DuplicateObject) AsCompilerPass() (*compiler.DuplicateObject, error)
type DuplicateOption ¶
type DuplicateOption struct {
OptionSelector `yaml:",inline"`
As string `yaml:"as"`
}
func (DuplicateOption) AsRewriteRule ¶
func (rule DuplicateOption) AsRewriteRule(pkg string) (option.Rule, error)
type EntrypointIdentification ¶
type EntrypointIdentification struct {
}
func (EntrypointIdentification) AsCompilerPass ¶
func (pass EntrypointIdentification) AsCompilerPass() *compiler.InferEntrypoint
type FieldsSetDefault ¶
type FieldsSetDefault struct {
Defaults map[string]any // Expected format: [package].[object].[field] → value
}
func (FieldsSetDefault) AsCompilerPass ¶
func (pass FieldsSetDefault) AsCompilerPass() (*compiler.FieldsSetDefault, error)
type FieldsSetNotRequired ¶
type FieldsSetNotRequired struct {
Fields []string // Expected format: [package].[object].[field]
}
func (FieldsSetNotRequired) AsCompilerPass ¶
func (pass FieldsSetNotRequired) AsCompilerPass() (*compiler.FieldsSetNotRequired, error)
type FieldsSetRequired ¶
type FieldsSetRequired struct {
Fields []string // Expected format: [package].[object].[field]
}
func (FieldsSetRequired) AsCompilerPass ¶
func (pass FieldsSetRequired) AsCompilerPass() (*compiler.FieldsSetRequired, error)
type HintObject ¶
type HintObject struct {
Object string // Expected format: [package].[object]
Hints ast.JenniesHints
}
func (HintObject) AsCompilerPass ¶
func (pass HintObject) AsCompilerPass() (*compiler.HintObject, error)
type Initialization ¶
type Initialize ¶
type Initialize struct {
BuilderSelector `yaml:",inline"`
Set []Initialization `yaml:"set"`
}
type MapToIndex ¶ added in v0.0.8
type MapToIndex struct {
OptionSelector `yaml:",inline"`
}
func (MapToIndex) AsRewriteRule ¶ added in v0.0.8
func (rule MapToIndex) AsRewriteRule(pkg string) (option.Rule, error)
type MergeInto ¶
type NameAnonymousStruct ¶
type NameAnonymousStruct struct {
Field string // Expected format: [package].[object].[field]
As string
}
func (NameAnonymousStruct) AsCompilerPass ¶
func (pass NameAnonymousStruct) AsCompilerPass() (*compiler.NameAnonymousStruct, error)
type OmitBuilder ¶ added in v0.0.52
type OmitBuilder struct {
BuilderSelector `yaml:",inline"`
}
type OmitFields ¶ added in v0.0.20
type OmitFields struct {
Fields []string // Expected format: [package].[object].[field]
}
func (OmitFields) AsCompilerPass ¶ added in v0.0.20
func (pass OmitFields) AsCompilerPass() (*compiler.OmitFields, error)
type OmitOption ¶ added in v0.0.52
type OmitOption struct {
OptionSelector `yaml:",inline"`
}
func (OmitOption) AsRewriteRule ¶ added in v0.0.52
func (rule OmitOption) AsRewriteRule(pkg string) (option.Rule, error)
type OptionRule ¶
type OptionRule struct {
Omit *OmitOption `yaml:"omit" rule_name:"Omit"`
Rename *RenameOption `yaml:"rename" rule_name:"Rename"`
RenameArguments *RenameArguments `yaml:"rename_arguments" rule_name:"RenameArguments"`
UnfoldBoolean *UnfoldBoolean `yaml:"unfold_boolean" rule_name:"UnfoldBoolean"`
StructFieldsAsArguments *StructFieldsAsArguments `yaml:"struct_fields_as_arguments" rule_name:"StructFieldsAsArguments"`
StructFieldsAsOptions *StructFieldsAsOptions `yaml:"struct_fields_as_options" rule_name:"StructFieldsAsOptions"`
ArrayToAppend *ArrayToAppend `yaml:"array_to_append" rule_name:"ArrayToAppend"`
MapToIndex *MapToIndex `yaml:"map_to_index" rule_name:"MapToIndex"`
DisjunctionAsOptions *DisjunctionAsOptions `yaml:"disjunction_as_options" rule_name:"DisjunctionAsOptions"`
Duplicate *DuplicateOption `yaml:"duplicate" rule_name:"Duplicate"`
AddAssignment *AddAssignment `yaml:"add_assignment" rule_name:"AddAssignment"`
AddComments *AddComments `yaml:"add_comments" rule_name:"AddComments"`
Debug *DebugOption `yaml:"debug" rule_name:"Debug"`
}
func (OptionRule) AsRewriteRule ¶
func (rule OptionRule) AsRewriteRule(pkg string) (option.Rule, error)
type OptionSelector ¶
type OptionSelector struct {
// objectName.optionName
ByName *string `yaml:"by_name"`
// builderName.optionName
// TODO: ByName should be called ByObject
// and ByBuilder should be called ByName
ByBuilder *string `yaml:"by_builder"`
ByNames *ByNamesSelector `yaml:"by_names"`
}
func (OptionSelector) AsSelector ¶
func (selector OptionSelector) AsSelector(pkg string) (*option.Selector, error)
type PromoteOptsToConstructor ¶
type PromoteOptsToConstructor struct {
BuilderSelector `yaml:",inline"`
Options []string `yaml:"options"`
}
type Properties ¶
type Properties struct {
BuilderSelector `yaml:",inline"`
Set []ast.StructField `yaml:"set"`
}
type RenameArguments ¶
type RenameArguments struct {
OptionSelector `yaml:",inline"`
As []string `yaml:"as"`
}
func (RenameArguments) AsRewriteRule ¶
func (rule RenameArguments) AsRewriteRule(pkg string) (option.Rule, error)
type RenameBuilder ¶
type RenameBuilder struct {
BuilderSelector `yaml:",inline"`
As string `yaml:"as"`
}
type RenameObject ¶
func (RenameObject) AsCompilerPass ¶
func (pass RenameObject) AsCompilerPass() (*compiler.RenameObject, error)
type RenameOption ¶
type RenameOption struct {
OptionSelector `yaml:",inline"`
As string `yaml:"as"`
}
func (RenameOption) AsRewriteRule ¶
func (rule RenameOption) AsRewriteRule(pkg string) (option.Rule, error)
type ReplaceReference ¶ added in v0.0.19
type ReplaceReference struct {
From string // Expected format: [package].[object]
To string // Expected format: [package].[object]
}
func (ReplaceReference) AsCompilerPass ¶ added in v0.0.19
func (pass ReplaceReference) AsCompilerPass() (*compiler.ReplaceReference, error)
type RetypeField ¶
type RetypeField struct {
Field string // Expected format: [package].[object].[field]
As ast.Type
Comments []string
}
func (RetypeField) AsCompilerPass ¶
func (pass RetypeField) AsCompilerPass() (*compiler.RetypeField, error)
type RetypeObject ¶
type RetypeObject struct {
Object string // Expected format: [package].[object]
As ast.Type
Comments []string
}
func (RetypeObject) AsCompilerPass ¶
func (pass RetypeObject) AsCompilerPass() (*compiler.RetypeObject, error)
type SchemaSetEntryPoint ¶ added in v0.0.5
func (SchemaSetEntryPoint) AsCompilerPass ¶ added in v0.0.5
func (pass SchemaSetEntryPoint) AsCompilerPass() (*compiler.SchemaSetEntrypoint, error)
type SchemaSetIdentifier ¶
func (SchemaSetIdentifier) AsCompilerPass ¶
func (pass SchemaSetIdentifier) AsCompilerPass() (*compiler.SchemaSetIdentifier, error)
type SetAsGeneric ¶ added in v0.1.13
type SetAsGeneric struct {
BuilderSelector `yaml:",inline"`
}
type StructFieldsAsArguments ¶
type StructFieldsAsArguments struct {
OptionSelector `yaml:",inline"`
Fields []string `yaml:"fields"`
}
func (StructFieldsAsArguments) AsRewriteRule ¶
func (rule StructFieldsAsArguments) AsRewriteRule(pkg string) (option.Rule, error)
type StructFieldsAsOptions ¶
type StructFieldsAsOptions struct {
OptionSelector `yaml:",inline"`
Fields []string `yaml:"fields"`
}
func (StructFieldsAsOptions) AsRewriteRule ¶
func (rule StructFieldsAsOptions) AsRewriteRule(pkg string) (option.Rule, error)
type TrimEnumValues ¶ added in v0.0.10
type TrimEnumValues struct{}
func (TrimEnumValues) AsCompilerPass ¶ added in v0.0.10
func (pass TrimEnumValues) AsCompilerPass() (*compiler.TrimEnumValues, error)
type UndiscriminatedDisjunctionToAny ¶ added in v0.1.12
type UndiscriminatedDisjunctionToAny struct {
}
func (UndiscriminatedDisjunctionToAny) AsCompilerPass ¶ added in v0.1.12
func (pass UndiscriminatedDisjunctionToAny) AsCompilerPass() (*compiler.UndiscriminatedDisjunctionToAny, error)
type UnfoldBoolean ¶
type UnfoldBoolean struct {
OptionSelector `yaml:",inline"`
TrueAs string `yaml:"true_as"`
FalseAs string `yaml:"false_as"`
}
func (UnfoldBoolean) AsRewriteRule ¶
func (rule UnfoldBoolean) AsRewriteRule(pkg string) (option.Rule, error)
type Veneers ¶
type Veneers struct {
Languages []string `yaml:"languages"`
Package string `yaml:"package"`
Builders []BuilderRule `yaml:"builders"`
Options []OptionRule `yaml:"options"`
}
type VeneersLoader ¶
type VeneersLoader struct {
}
func NewVeneersLoader ¶
func NewVeneersLoader() *VeneersLoader
Click to show internal directories.
Click to hide internal directories.