Documentation
¶
Index ¶
- Variables
- func BoolWithDefault(v, d bool) bool
- func BuildRepeatableData(framework string, data json.RawMessage) (o []interface{}, err error)
- func BuildSingletonData(framework string, data json.RawMessage) (o []interface{}, err error)
- func StringWithDefault(v, d string) string
- type Imports
- type PackagePlanner
- type Plan
- type PlanItem
- type PlanType
- type Planner
- type RepeatablePlan
- type Repo
- type SingletonPlan
- type Spec
- type SpecExtension
- type Template
- type TemplateGroup
- type TxtToMany
- type TxtToOne
Constants ¶
This section is empty.
Variables ¶
View Source
var GoHelperFuncs = template.FuncMap{ "quoteWrap": func(s string) string { return fmt.Sprintf(`"%s"`, s) }, "id": strmangle.Identifier, "singular": strmangle.Singular, "plural": strmangle.Plural, "titleCase": strmangle.TitleCase, "camelCase": strmangle.CamelCase, "join": func(sep string, slice []string) string { return strings.Join(slice, sep) }, "joinSlices": strmangle.JoinSlices, "stringMap": strmangle.StringMap, "prefixStringSlice": strmangle.PrefixStringSlice, "containsAny": strmangle.ContainsAny, "generateTags": strmangle.GenerateTags, "generateIgnoreTags": strmangle.GenerateIgnoreTags, "parseEnumName": strmangle.ParseEnumName, "parseEnumVals": strmangle.ParseEnumVals, "isEnumNormal": strmangle.IsEnumNormal, "shouldTitleCaseEnum": strmangle.ShouldTitleCaseEnum, "onceNew": newOnce, "oncePut": once.Put, "onceHas": once.Has, "makeStringMap": strmangle.MakeStringMap, "setInclude": strmangle.SetInclude, "whereClause": strmangle.WhereClause, "txtsFromFKey": txtsFromFKey, "txtsFromOneToOne": txtsFromOneToOne, "txtsFromToMany": txtsFromToMany, "filterColumnsByDefault": bdb.FilterColumnsByDefault, "filterColumnsByEnum": bdb.FilterColumnsByEnum, "sqlColDefinitions": bdb.SQLColDefinitions, "columnNames": bdb.ColumnNames, "columnDBTypes": bdb.ColumnDBTypes, "getTable": bdb.GetTable, "downcase": strings.ToLower, }
Functions ¶
func BoolWithDefault ¶
func BuildRepeatableData ¶
func BuildRepeatableData(framework string, data json.RawMessage) (o []interface{}, err error)
func BuildSingletonData ¶
func BuildSingletonData(framework string, data json.RawMessage) (o []interface{}, err error)
func StringWithDefault ¶
Types ¶
type PackagePlanner ¶
Planner for generations for single Go package Load plan definitions from a json specification
func NewPackagePlanner ¶
func NewPackagePlanner(specPath string) (planner *PackagePlanner, err error)
func (*PackagePlanner) Perform ¶
func (pl *PackagePlanner) Perform() (err error)
func (*PackagePlanner) Plan ¶
func (pl *PackagePlanner) Plan() (err error)
type RepeatablePlan ¶
type RepeatablePlan struct { Data []interface{} SingletonPlan }
Plan for generations of repeatable files
func (*RepeatablePlan) Render ¶
func (p *RepeatablePlan) Render() (err error)
type Repo ¶
type Repo struct { Suffix string TemplateDir string Templates []*Template // contains filtered or unexported fields }
Template repository
func (*Repo) BuildGroup ¶
func (r *Repo) BuildGroup(names ...string) (tg *TemplateGroup, err error)
Build template group with given template names
type SingletonPlan ¶
type SingletonPlan struct { // Set manually Suffix string Package string // leave empty will use the base directory name TemplateDir string BaseDir string BasePackage string RelativePackage string Filename string TemplateNames []string Imports Imports Data interface{} SkipExists bool SkipFormat bool SkipFixImports bool Merge bool // Calculated Repo *Repo TemplateGroup *TemplateGroup }
Plan for generations of singleton files
func (*SingletonPlan) Render ¶
func (p *SingletonPlan) Render() (err error)
func (*SingletonPlan) Type ¶
func (p *SingletonPlan) Type() types.PlanType
PlanType of SingletonPlan
type Spec ¶
type SpecExtension ¶
type SpecExtension struct { Framework string Data json.RawMessage }
type Template ¶
type Template struct { Name string // template name Source string // source path TargetDir string // target directory Filename string // filename of generated code SkipExists bool // skip generation if exist SkipFormat bool // skip go format SkipFixImports bool // skip generation if exist // contains filtered or unexported fields }
Represents single Go file
func (*Template) RenderPartial ¶
func (*Template) SetRawTemplate ¶
Set raw template data
type TemplateGroup ¶
type TemplateGroup struct { Package string // package name BaseDir string // absolute directory for template group BasePackage string // base package RelativePackage string AbsolutePackage string // absolute package combined with Package and BasePackage Filename string Imports Imports Templates []*Template SkipFixImports bool // skip fixing imports SkipExists bool // skip generation if exist SkipFormat bool // skip go format Merge bool }
Represents single Go package
func (*TemplateGroup) Render ¶
func (tg *TemplateGroup) Render(data interface{}) (err error)
func (*TemplateGroup) RenderPartial ¶
func (tg *TemplateGroup) RenderPartial(data interface{}) (err error)
type TxtToMany ¶
type TxtToMany struct { LocalTable struct { NameGo string ColumnNameGo string } ForeignTable struct { NameGo string NamePluralGo string NameHumanReadable string ColumnNameGo string Slice string } Function struct { Name string ForeignName string UsesBytes bool LocalAssignment string ForeignAssignment string } }
TxtToMany contains text that will be used by many-to-one relationships.
type TxtToOne ¶
type TxtToOne struct { ForeignKey bdb.ForeignKey LocalTable struct { NameGo string ColumnNameGo string } ForeignTable struct { NameGo string NamePluralGo string ColumnNameGo string ColumnName string } Function struct { Name string ForeignName string UsesBytes bool LocalAssignment string ForeignAssignment string } }
TxtToOne contains text that will be used by templates for a one-to-many or a one-to-one relationship.
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
cmd
|
|
generator
|
|
orm/internal/sqlboiler
Package sqlboiler has types and methods useful for generating code that acts as a fully dynamic ORM might.
|
Package sqlboiler has types and methods useful for generating code that acts as a fully dynamic ORM might. |
Click to show internal directories.
Click to hide internal directories.