Documentation ¶
Index ¶
- func Bool(d *OutData, err ...error) (bool, error)
- func ExecBool(ctx ExpContext, exp string) (bool, error)
- func ExecParamBool(ctx context.Context, exp string, vars map[string]interface{}) (bool, error)
- func ExecParamMap(ctx context.Context, exp string, vars map[string]interface{}) (map[string]interface{}, error)
- func ExecParamSliceStr(ctx context.Context, exp string, vars map[string]interface{}) ([]string, error)
- func ExecPredefineVarBool(ctx context.Context, exp string, key string, predefinestr string) (bool, error)
- func ExecPredefineVarSliceStr(ctx context.Context, exp string, key string, predefinestr string) ([]string, error)
- func FromExpContextForDB(ctx context.Context) *sql.DB
- func GlobalImport(name string, table map[string]interface{})
- func Map(d *OutData, err ...error) (map[string]interface{}, error)
- func ScriptImport(model string)
- func ScriptImportAlias(model, alias string)
- func SetLibs(libs string)
- func SliceStr(d *OutData, err ...error) ([]string, error)
- type Execer
- type ExpContext
- type OutData
- func (d OutData) Bool() (bool, error)
- func (d OutData) Float() (float64, error)
- func (d OutData) Int() (int, error)
- func (d *OutData) IsNil() bool
- func (d *OutData) IsUndefined() bool
- func (d OutData) Map() (map[string]interface{}, error)
- func (d OutData) SliceStr() ([]string, error)
- func (d OutData) String() (string, error)
- type Predefined
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExecParamBool ¶
ExecParamBool 执行表达式 返回布尔型
func ExecParamMap ¶ added in v1.0.9
func ExecParamSliceStr ¶
func ExecParamSliceStr(ctx context.Context, exp string, vars map[string]interface{}) ([]string, error)
ExecParamSliceStr 执行表达式,返回字符串切片
func ExecPredefineVarBool ¶
func ExecPredefineVarBool(ctx context.Context, exp string, key string, predefinestr string) (bool, error)
ExecPredefineVarBool 执行表达式,传入预编译参数 返回布尔值
func ExecPredefineVarSliceStr ¶
func ExecPredefineVarSliceStr(ctx context.Context, exp string, key string, predefinestr string) ([]string, error)
ExecPredefineVarSliceStr 执行表达式,传入预编译参数 返回字符串切片
func FromExpContextForDB ¶
FromExpContextForDB 从ctx中获取*sql.DB
func GlobalImport ¶
GlobalImport 全局导入模块扩展 同一模块只能被导入一次,多次导入会导致panic
func ScriptImportAlias ¶
func ScriptImportAlias(model, alias string)
ScriptImportAlias 设置导入脚本模块 并定义别名
Types ¶
type Execer ¶
type Execer interface { Predefined // 执行表达式 // ctx 上下文 // exp 为执行表达式 Exec(ctx ExpContext, exp string) (*OutData, error) // 导入脚本模块并指定别名 ScriptImportAlias(model, alias string) // 导入脚本模块 ScriptImport(model string) // 设置脚本模块库 SetLibs(libs string) }
Execer 表达式执行器
type ExpContext ¶
type ExpContext interface { context.Context Predefined // 获取变量key的当前值 Var(key string) interface{} // 为表达式中的变量赋值 AddVar(key string, value interface{}) }
ExpContext 表达式上下文 ,实现 context.Context接口
func CreateExpContext ¶
func CreateExpContext(ctx context.Context) ExpContext
CreateExpContext 创建一个ExpContext 实现了context.Context接口
func CreateExpContextByDB ¶
func CreateExpContextByDB(ctx context.Context, db *sql.DB) ExpContext
CreateExpContextByDB 创建含有DB的ctx
type OutData ¶
type OutData struct {
Result interface{} // 数据结果
}
OutData 输出数据
type Predefined ¶
type Predefined interface { // 预定义变量 // 将添加的数据转为脚本中的语句添加到脚本中 // key为变量名 // value 为脚本值的原型 // 值类型为string 则在脚本中 key=value key类型由值字符串内容决定。 // 可以使用该方法初始化变量,变量类型可以是各种类型,只要符合脚本规则 PredefinedVar(key string, value string) // 预定义变量 // key为变量名 // value 将转为json字符串 在调用 PredefinedVar(key string, value string) // 在脚本中是一个map 可以通过key[键]访问 也可以通过key.键访问,和访问json格式方式一样 PredefinedJson(key string, value interface{}) error }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.