Versions in this module Expand all Collapse all v1 v1.1.3 Jul 18, 2025 Changes in this version + func CloneGenRules(src any) any + func MergeGenRules(dst, src GenRule, overwrite bool) + func SetupGenRules(configFile string) error type Gen + func NewPartsGenerator(visitor *TypeVisitor, dataType parser.IDataTypeContext, r GenRule) (Gen, error) + type PartsGen struct + Parts []any + func (g *PartsGen) Gen() any type TypeVisitor + func (v *TypeVisitor) GetGen(type_ parser.IDataTypeContext) Gen v1.1.2 Jul 3, 2025 Changes in this version + const DefaultRefLimit + var CustomGenConstructors map[string]CustomGenConstructor + var DefaultTypeGenRules = map[string]GenRule + var FormatTags map[string]reflect.Value + var GLOBAL_NULL_FREQUENCY = 0.0 + var GlobalGenRule = GenRule + var MAX_DECIMAL_INT_LEN = len(strconv.FormatInt(math.MaxInt64, 10)) + var TypeAlias = map[string]string + func Cast2[R CastType](v1, v2 any) (r1, r2 R, err error) + func CastMinMax[R int8 | int16 | int | int32 | int64 | float32 | float64 | time.Time](min_, max_ any, baseType, colpath string, errmsg ...string) (R, R) + func Cast[R CastType](v any) (r R, err error) + func GetCustomTableGenRule(table string) (rows int, colrules map[string]GenRule) + func GetTableRefGen(table string) map[string]*RefGen + func MustJSONMarshal(v any) []byte + func MustYAMLUmarshal(s string) map[string]any + func RandomStr(lenMin, lenMax int) string + func Setup(genconf string) error + func SetupDefaultGenRules(configFile string) error + func SetupFormatTags() + type ArrayGen struct + Element Gen + LenMax int + LenMin int + func (g *ArrayGen) Gen() any + func (g *ArrayGen) SetElementGen(elem Gen) + type CastType interface + type CustomGenConstructor = func(v *TypeVisitor, dataType parser.IDataTypeContext, r GenRule) (Gen, error) + type EnumGen struct + Enum []any + Weights []float32 + func (g *EnumGen) Gen() any + type FormatGen struct + Format string + func (g *FormatGen) Gen() any + type Gen interface + Gen func() any + func NewEnumGenerator(visitor *TypeVisitor, dataType parser.IDataTypeContext, r GenRule) (Gen, error) + func NewFormatGenerator(format string, inner Gen) (Gen, error) + func NewFuncGen[T any](f func() T) Gen + func NewGolangGenerator(_ *TypeVisitor, _ parser.IDataTypeContext, r GenRule) (Gen, error) + func NewIncGenerator(_ *TypeVisitor, _ parser.IDataTypeContext, r GenRule) (Gen, error) + func NewIntGen[T int8 | int16 | int | int32](minVal, maxVal T) Gen + func NewRefGenerator(v *TypeVisitor, _ parser.IDataTypeContext, r GenRule) (Gen, error) + func NewTypeGenerator(v *TypeVisitor, _ parser.IDataTypeContext, r GenRule) (Gen, error) + type GenRule = map[string]any + type GolangGen struct + Code string + func (g *GolangGen) Gen() any + type IncGen struct + Start int64 + Step int64 + func (g *IncGen) Gen() any + type MapGen struct + Key Gen + LenMax int + LenMin int + Value Gen + func (g *MapGen) Gen() any + func (g *MapGen) SetKeyGen(k Gen) + func (g *MapGen) SetValueGen(v Gen) + type RefGen struct + Column string + Limit int + Table string + func (g *RefGen) AddRefVals(vals ...any) + func (g *RefGen) Clone() *RefGen + func (g *RefGen) Gen() any + func (g *RefGen) TableColumn() string + type StructFieldGen struct + Name string + Value Gen + func (g *StructFieldGen) Gen() any + type StructGen struct + Fields []*StructFieldGen + func (g *StructGen) AddChild(name string, child Gen) + func (g *StructGen) Gen() any + type TypeGen struct + GenRule GenRule + func (g *TypeGen) Gen() any + type TypeVisitor struct + Colpath string + GenRule GenRule + TableRefs *[]string + func NewTypeVisitor(colpath string, genRule GenRule) *TypeVisitor + func (v *TypeVisitor) ChildGenRule(name string) GenRule + func (v *TypeVisitor) GetBaseType(type_ parser.IDataTypeContext) (t string) + func (v *TypeVisitor) GetChildGen(name string, childType parser.IDataTypeContext, childGenRule ...GenRule) Gen + func (v *TypeVisitor) GetLength() (minVal, maxVal int) + func (v *TypeVisitor) GetMinMax() (any, any) + func (v *TypeVisitor) GetNullFrequency() float32 + func (v *TypeVisitor) GetRule(name string, defaultValue ...any) any + func (v *TypeVisitor) GetTypeGen(type_ parser.IDataTypeContext) Gen + func (v *TypeVisitor) HasGenRule() bool + func (v *TypeVisitor) MergeDefaultRule(baseType string) *TypeVisitor