Documentation
¶
Overview ¶
Package codgen helps autogenerate tables for CloudQuery source plugins from Go structs (of relevant SDKs)
Index ¶
- Variables
- func DefaultGoTypeToSchemaType(v reflect.Type) (schema.ValueType, error)
- func DefaultTransformer(field reflect.StructField) (string, error)
- func DefaultTypeTransformer(v reflect.StructField) (schema.ValueType, error)
- type ColumnDefinition
- type ColumnDefinitions
- type NameTransformer
- type ResourceDefinition
- type TableDefinition
- type TableOptions
- func WithExtraColumns(columns []ColumnDefinition) TableOptions
- func WithLogger(logger zerolog.Logger) TableOptions
- func WithNameTransformer(transformer NameTransformer) TableOptions
- func WithSkipFields(fields []string) TableOptions
- func WithTypeTransformer(transformer TypeTransformer) TableOptions
- func WithUnwrapAllEmbeddedStructs() TableOptions
- func WithUnwrapFieldsStructs(fields []string) TableOptions
- type TypeTransformer
Constants ¶
This section is empty.
Variables ¶
View Source
var TemplatesFS embed.FS
Functions ¶
func DefaultGoTypeToSchemaType ¶ added in v0.7.12
func DefaultTransformer ¶ added in v0.7.9
func DefaultTransformer(field reflect.StructField) (string, error)
func DefaultTypeTransformer ¶ added in v0.7.12
func DefaultTypeTransformer(v reflect.StructField) (schema.ValueType, error)
Types ¶
type ColumnDefinition ¶
type ColumnDefinitions ¶
type ColumnDefinitions []ColumnDefinition
func (ColumnDefinitions) GetByName ¶
func (c ColumnDefinitions) GetByName(name string) *ColumnDefinition
type NameTransformer ¶ added in v0.7.12
type NameTransformer func(reflect.StructField) (string, error)
type ResourceDefinition ¶
type ResourceDefinition struct { Name string Table *TableDefinition }
type TableDefinition ¶
type TableDefinition struct { Name string Columns ColumnDefinitions Description string Relations []string Resolver string IgnoreError string Multiplex string PostResourceResolver string PreResourceResolver string // contains filtered or unexported fields }
func NewTableFromStruct ¶
func NewTableFromStruct(name string, obj interface{}, opts ...TableOptions) (*TableDefinition, error)
NewTableFromStruct creates a new TableDefinition from a struct by inspecting its fields
func (*TableDefinition) GenerateTemplate ¶
func (t *TableDefinition) GenerateTemplate(wr io.Writer) error
type TableOptions ¶
type TableOptions func(*TableDefinition)
func WithExtraColumns ¶
func WithExtraColumns(columns []ColumnDefinition) TableOptions
func WithNameTransformer ¶
func WithNameTransformer(transformer NameTransformer) TableOptions
func WithSkipFields ¶
func WithSkipFields(fields []string) TableOptions
func WithTypeTransformer ¶ added in v0.7.12
func WithTypeTransformer(transformer TypeTransformer) TableOptions
WithValueTypeTransformer sets a function that can override the schema type for specific fields. Return `schema.TypeInvalid` to fall back to default behavior.
func WithUnwrapAllEmbeddedStructs ¶ added in v0.6.1
func WithUnwrapAllEmbeddedStructs() TableOptions
WithUnwrapAllEmbeddedStructs unwraps all fields that are embedded structs (1 level deep only)
func WithUnwrapFieldsStructs ¶ added in v0.6.1
func WithUnwrapFieldsStructs(fields []string) TableOptions
Unwrap specific struct fields (1 level deep only)
type TypeTransformer ¶ added in v0.7.12
type TypeTransformer func(reflect.StructField) (schema.ValueType, error)
Click to show internal directories.
Click to hide internal directories.