generator

package
v0.0.0-...-c2da2d2 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MapToJsonToMap

func MapToJsonToMap(data map[string]interface{}) map[string]interface{}

func ParserJson

func ParserJson(text string) map[string]interface{}

func ParserLineGroupBy

func ParserLineGroupBy(text string) map[string]interface{}

func ParserSQL

func ParserSQL(text string) map[string]interface{}

func ParserTabRow

func ParserTabRow(text string) map[string]interface{}

func PrintMapToJson

func PrintMapToJson(data map[string]interface{}) string

func TempExecutor

func TempExecutor(data map[string]interface{}, tmplText string) string

内置模板执行器

func WithParserLineGroupByCount

func WithParserLineGroupByCount(count int) func(text string) map[string]interface{}

根据行数分组,自定义行数

func WithParserTabRowBySep

func WithParserTabRowBySep(sep string) func(text string) map[string]interface{}

按行和列分组,自定义列的分隔符

Types

type ExecutorFunc

type ExecutorFunc func(data map[string]interface{}, tmplText string) string

func WithLineExecutor

func WithLineExecutor(f func(data map[string]interface{}) func(line string) string) ExecutorFunc

逐行格式化模板的执行器,注入格式化函数

func WithTempExecutor

func WithTempExecutor(t *template.Template) ExecutorFunc

type Generator

type Generator struct {
	OriData  interface{}                              // 解释器读取文本后生成的数据
	Data     map[string]interface{}                   // OriData 序列化为JSON后,再反序列化成 Data
	Parser   func(text string) map[string]interface{} // 解释器
	TmplText string                                   // 模板
	Executor ExecutorFunc                             // 执行器
}

Generator 生成器,路径如下:

文本 => 解析器(Parser) => Data(Json Map) + 模板 => 执行器(Executor) => 结果

func NewGenerator

func NewGenerator(opts ...OptionFunc) *Generator

func (*Generator) Exec

func (g *Generator) Exec(opts ...OptionFunc) string

执行模版生成文本

func (*Generator) ExecToDebugLog

func (g *Generator) ExecToDebugLog(opts ...OptionFunc) error

执行模版生成至详细日志

func (*Generator) ExecToFile

func (g *Generator) ExecToFile(filename string, opts ...OptionFunc) error

执行模版生成文本至文件

func (*Generator) Json

func (g *Generator) Json() string

打印读取的文本Json

func (*Generator) JsonIndent

func (g *Generator) JsonIndent() string

打印读取的文本Json,带缩进

func (*Generator) Source

func (g *Generator) Source(text string, opts ...OptionFunc)

读取文本

func (*Generator) SourceFile

func (g *Generator) SourceFile(filename string, opts ...OptionFunc)

从文件中读取文本

func (*Generator) Temp

func (g *Generator) Temp(text string, opts ...OptionFunc) error

读取模版

func (*Generator) TempFile

func (g *Generator) TempFile(filename string, opts ...OptionFunc) error

从文件中读取模版

type OptionFunc

type OptionFunc func(*Generator)

func ConfigExecutor

func ConfigExecutor(e ExecutorFunc) OptionFunc

func ConfigParser

func ConfigParser(parser func(text string) map[string]interface{}) OptionFunc

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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