golang

package
v0.0.25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 13, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const LanguageRef = "go"

Variables

This section is empty.

Functions

func NewImportMap

func NewImportMap(packageRoot string) *common.DirectImportMap

Types

type Builder

type Builder struct {
	Config Config
	Tmpl   *template.Template
	// contains filtered or unexported fields
}

func (*Builder) Generate

func (jenny *Builder) Generate(context languages.Context) (codejen.Files, error)

func (*Builder) JennyName

func (jenny *Builder) JennyName() string

type Config

type Config struct {
	GenerateConverters bool `yaml:"-"`

	// GenerateJSONMarshaller controls the generation of `MarshalJSON()` and
	// `UnmarshalJSON()` methods on types.
	GenerateJSONMarshaller bool `yaml:"generate_json_marshaller"`

	// GenerateStrictUnmarshaller controls the generation of
	// `UnmarshalJSONStrict()` methods on types.
	GenerateStrictUnmarshaller bool `yaml:"generate_strict_unmarshaller"`

	// GenerateEqual controls the generation of `Equal()` methods on types.
	GenerateEqual bool `yaml:"generate_equal"`

	// GenerateValidate controls the generation of `Validate()` methods on types.
	GenerateValidate bool `yaml:"generate_validate"`

	// SkipRuntime disables runtime-related code generation when enabled.
	// Note: builders can NOT be generated with this flag turned on, as they
	// rely on the runtime to function.
	SkipRuntime bool `yaml:"skip_runtime"`

	// OverridesTemplatesDirectories holds a list of directories containing templates
	// defining blocks used to override parts of builders/types/....
	OverridesTemplatesDirectories []string `yaml:"overrides_templates"`

	// ExtraFilesTemplatesDirectories holds a list of directories containing
	// templates describing files to be added to the generated output.
	ExtraFilesTemplatesDirectories []string `yaml:"extra_files_templates"`

	// ExtraFilesTemplatesData holds additional data to be injected into the
	// templates described in ExtraFilesTemplatesDirectories.
	ExtraFilesTemplatesData map[string]string `yaml:"-"`

	// Root path for imports.
	// Ex: github.com/grafana/cog/generated
	PackageRoot string `yaml:"package_root"`

	// AnyAsInterface instructs this jenny to emit `interface{}` instead of `any`.
	AnyAsInterface bool `yaml:"any_as_interface"`
	// contains filtered or unexported fields
}

func (*Config) InterpolateParameters

func (config *Config) InterpolateParameters(interpolator func(input string) string)

func (Config) MergeWithGlobal

func (config Config) MergeWithGlobal(global languages.Config) Config

type Converter

type Converter struct {
	Config         Config
	NullableConfig languages.NullableConfig
	Tmpl           *template.Template
	// contains filtered or unexported fields
}

func (*Converter) Generate

func (jenny *Converter) Generate(context languages.Context) (codejen.Files, error)

func (*Converter) JennyName

func (jenny *Converter) JennyName() string

type JSONMarshalling

type JSONMarshalling struct {
	// contains filtered or unexported fields
}

type Language

type Language struct {
	// contains filtered or unexported fields
}

func New

func New(config Config) *Language

func (*Language) CompilerPasses

func (language *Language) CompilerPasses() compiler.Passes

func (*Language) Jennies

func (language *Language) Jennies(globalConfig languages.Config) *codejen.JennyList[languages.Context]

func (*Language) Name

func (language *Language) Name() string

func (*Language) NullableKinds

func (language *Language) NullableKinds() languages.NullableConfig

type RawTypes

type RawTypes struct {
	// contains filtered or unexported fields
}

func (RawTypes) Generate

func (jenny RawTypes) Generate(context languages.Context) (codejen.Files, error)

func (RawTypes) JennyName

func (jenny RawTypes) JennyName() string

type Runtime

type Runtime struct {
	Tmpl   *template.Template
	Config Config
}

func (Runtime) Generate

func (jenny Runtime) Generate(_ languages.Context) (codejen.Files, error)

func (Runtime) JennyName

func (jenny Runtime) JennyName() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL