Documentation ¶
Index ¶
- Constants
- Variables
- func SetCommandArgs(argsStr string)
- type Code
- type CodeFile
- type CodeStruct
- type CodeStructField
- type Codegen
- type CodegenConfig
- type CodegenGo
- type CodegenUE5
- type Config
- type Datasource
- type DatasourceCSV
- type DatasourceConfig
- type DatasourceExcel
- type DatasourceSpreadsheetGAS
- type FieldType
- type OutputConfig
- type StructMap
- type TableData
- type TableField
- type TableMetadata
- type TableMetadataQuery
- type TableParser
- type TableWriter
- type TableWriterBin
- type TableWriterJSON
- type When
Constants ¶
View Source
const ( TableMetadataRow = 0 TableFieldTagRow = 1 TableFieldNameRow = 2 TableFieldTypeRow = 3 TableDataStartRow = 5 TableFieldIndexCol = 0 )
Variables ¶
View Source
var ErrSkipTable = fmt.Errorf("skip table")
Functions ¶
func SetCommandArgs ¶
func SetCommandArgs(argsStr string)
Types ¶
type Code ¶
func AnalyzeTableCode ¶
type CodeFile ¶
type CodeFile struct { IsTable bool IsMap bool Name string Struct *CodeStruct AnonymousStructs []*CodeStruct FileRefs []*CodeFile FieldTypes []FieldType IDField *CodeStructField IDFieldType FieldType // this will be set even if IDField is nil }
type CodeStruct ¶
type CodeStruct struct { Name string Fields []*CodeStructField }
type CodeStructField ¶
type CodeStructField struct { Name string Type FieldType IsArray bool StructRef *CodeStruct }
type CodegenConfig ¶
type CodegenConfig struct { When *When `yaml:"when,omitempty"` Tags []string `yaml:"tags"` Go *CodegenGo `yaml:"go,omitempty"` UE5 *CodegenUE5 `yaml:"ue5,omitempty"` // contains filtered or unexported fields }
func (*CodegenConfig) Generate ¶
func (c *CodegenConfig) Generate(tableDatas []*TableData) error
func (*CodegenConfig) UnmarshalYAML ¶
func (c *CodegenConfig) UnmarshalYAML(node *yaml.Node) error
type CodegenGo ¶
type CodegenUE5 ¶
func (*CodegenUE5) Generate ¶
func (c *CodegenUE5) Generate(code *Code) error
type Config ¶
type Config struct { Datasources []DatasourceConfig `yaml:"datasources"` Outputs []OutputConfig `yaml:"outputs"` Codegens []CodegenConfig `yaml:"codegens"` }
func ParseConfig ¶
type Datasource ¶
type DatasourceCSV ¶
type DatasourceCSV struct {
Patterns []string `yaml:"patterns"`
}
func (*DatasourceCSV) Collect ¶
func (d *DatasourceCSV) Collect(out chan<- *TableData) error
type DatasourceConfig ¶
type DatasourceConfig struct { When *When `yaml:"when,omitempty"` SpreadsheetGAS *DatasourceSpreadsheetGAS `yaml:"spreadsheet_gas,omitempty"` Excel *DatasourceExcel `yaml:"excel,omitempty"` CSV *DatasourceCSV `yaml:"csv,omitempty"` // contains filtered or unexported fields }
func (*DatasourceConfig) Collect ¶
func (c *DatasourceConfig) Collect(out chan<- *TableData) error
func (*DatasourceConfig) UnmarshalYAML ¶
func (c *DatasourceConfig) UnmarshalYAML(node *yaml.Node) error
type DatasourceExcel ¶
type DatasourceExcel struct { Patterns []string `yaml:"patterns"` DebugSaveDir *string `yaml:"debug_save_dir,omitempty"` }
func (*DatasourceExcel) Collect ¶
func (d *DatasourceExcel) Collect(out chan<- *TableData) error
type DatasourceSpreadsheetGAS ¶
type DatasourceSpreadsheetGAS struct { URL string `yaml:"url"` Password string `yaml:"password"` GoogleDriveFolderIDs []string `yaml:"google_drive_folder_ids"` SpreadsheetFileIDs []string `yaml:"spreadsheet_file_ids"` DebugSaveDir *string `yaml:"debug_save_dir,omitempty"` }
func (*DatasourceSpreadsheetGAS) Collect ¶
func (d *DatasourceSpreadsheetGAS) Collect(out chan<- *TableData) error
type OutputConfig ¶
type OutputConfig struct { When *When `yaml:"when,omitempty"` Tags []string `yaml:"tags"` JSON *TableWriterJSON `yaml:"json,omitempty"` Bin *TableWriterBin `yaml:"bin,omitempty"` // contains filtered or unexported fields }
func (*OutputConfig) UnmarshalYAML ¶
func (c *OutputConfig) UnmarshalYAML(node *yaml.Node) error
func (*OutputConfig) Write ¶
func (c *OutputConfig) Write(tableData *TableData) error
type StructMap ¶
StructMap - you can map a field id to a named struct
You can match the field id with a regex by enclosing it with / (e.g. /regex/), If the field is part of a named struct, you should omit the parent struct's name. ex. RewardWin.Weight,RewardWin.RewardPool.Reward.Type,RewardWin.RewardPool.Reward.Param struct=RewardWin:GameReward&struct=/RewardPool\.Reward$/:GameRewardPool
type TableData ¶
type TableField ¶
type TableField struct { Name string Type FieldType IsMultiLineArray bool IsCellArray bool StructFields []*TableField ParentField *TableField // contains filtered or unexported fields }
func (*TableField) Clone ¶
func (f *TableField) Clone() *TableField
func (*TableField) GetMultiLineArrayField ¶
func (f *TableField) GetMultiLineArrayField() *TableField
func (*TableField) Identifier ¶
func (f *TableField) Identifier() string
func (*TableField) IsArray ¶
func (f *TableField) IsArray() bool
func (*TableField) Iterate ¶
func (f *TableField) Iterate(yield func(*TableField) bool)
func (*TableField) StructEqual ¶
func (f *TableField) StructEqual(other *TableField) bool
type TableMetadata ¶
type TableMetadata struct { AsMap bool `query:"as_map"` SortAscBy string `query:"sort_asc_by"` SortDescBy string `query:"sort_desc_by"` Structs StructMap `query:"struct"` }
func (*TableMetadata) Validate ¶
func (m *TableMetadata) Validate(td *TableData) error
type TableMetadataQuery ¶
type TableMetadataQuery string
func (TableMetadataQuery) Decode ¶
func (q TableMetadataQuery) Decode() (*TableMetadata, error)
type TableParser ¶
type TableParser struct {
// contains filtered or unexported fields
}
func NewTableParser ¶
func NewTableParser(td *TableData) *TableParser
func (*TableParser) Marshal ¶
func (p *TableParser) Marshal(fields []*TableField) (any, error)
func (*TableParser) ParseTableFields ¶
func (p *TableParser) ParseTableFields(tags []string) ([]*TableField, error)
type TableWriter ¶
type TableWriterBin ¶
type TableWriterBin struct {
RootDir string `yaml:"root_dir"`
}
type TableWriterJSON ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.