Refactor plugin configuration (#511)
This commit is contained in:
parent
79e48ffeff
commit
bd810bd89b
17 changed files with 724 additions and 618 deletions
|
|
@ -12,8 +12,12 @@ type Javascript struct {
|
|||
script string
|
||||
}
|
||||
|
||||
func init() {
|
||||
registry.Add("js", NewJavascriptProviderFromConfig)
|
||||
}
|
||||
|
||||
// NewJavascriptProviderFromConfig creates a HTTP provider
|
||||
func NewJavascriptProviderFromConfig(other map[string]interface{}) (*Javascript, error) {
|
||||
func NewJavascriptProviderFromConfig(other map[string]interface{}) (IntProvider, error) {
|
||||
cc := struct {
|
||||
Script string
|
||||
}{}
|
||||
|
|
@ -34,62 +38,82 @@ func NewJavascriptProviderFromConfig(other map[string]interface{}) (*Javascript,
|
|||
}
|
||||
|
||||
// FloatGetter parses float from request
|
||||
func (p *Javascript) FloatGetter() (res float64, err error) {
|
||||
v, err := p.vm.Eval(p.script)
|
||||
if err == nil {
|
||||
res, err = v.ToFloat()
|
||||
}
|
||||
func (p *Javascript) FloatGetter() func() (float64, error) {
|
||||
return func() (res float64, err error) {
|
||||
v, err := p.vm.Eval(p.script)
|
||||
if err == nil {
|
||||
res, err = v.ToFloat()
|
||||
}
|
||||
|
||||
return res, err
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
|
||||
// IntGetter parses int64 from request
|
||||
func (p *Javascript) IntGetter() (res int64, err error) {
|
||||
v, err := p.vm.Eval(p.script)
|
||||
if err == nil {
|
||||
res, err = v.ToInteger()
|
||||
}
|
||||
func (p *Javascript) IntGetter() func() (int64, error) {
|
||||
return func() (res int64, err error) {
|
||||
v, err := p.vm.Eval(p.script)
|
||||
if err == nil {
|
||||
res, err = v.ToInteger()
|
||||
}
|
||||
|
||||
return res, err
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
|
||||
// StringGetter sends string request
|
||||
func (p *Javascript) StringGetter() (res string, err error) {
|
||||
v, err := p.vm.Eval(p.script)
|
||||
if err == nil {
|
||||
res, err = v.ToString()
|
||||
}
|
||||
func (p *Javascript) StringGetter() func() (string, error) {
|
||||
return func() (res string, err error) {
|
||||
v, err := p.vm.Eval(p.script)
|
||||
if err == nil {
|
||||
res, err = v.ToString()
|
||||
}
|
||||
|
||||
return res, err
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
|
||||
// BoolGetter parses bool from request
|
||||
func (p *Javascript) BoolGetter() (res bool, err error) {
|
||||
v, err := p.vm.Eval(p.script)
|
||||
if err == nil {
|
||||
res, err = v.ToBoolean()
|
||||
}
|
||||
func (p *Javascript) BoolGetter() func() (bool, error) {
|
||||
return func() (res bool, err error) {
|
||||
v, err := p.vm.Eval(p.script)
|
||||
if err == nil {
|
||||
res, err = v.ToBoolean()
|
||||
}
|
||||
|
||||
return res, err
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
|
||||
// // IntSetter sends int request
|
||||
// func (p *Javascript) IntSetter(param int64) error {
|
||||
// body := util.FormatValue(p.body, param)
|
||||
// _, err := p.request(body)
|
||||
// return err
|
||||
// }
|
||||
// IntSetter sends int request
|
||||
func (p *Javascript) IntSetter(param string) func(int64) error {
|
||||
return func(val int64) error {
|
||||
err := p.vm.Set(param, val)
|
||||
if err == nil {
|
||||
_, err = p.vm.Eval(p.script)
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// // StringSetter sends string request
|
||||
// func (p *Javascript) StringSetter(param string) error {
|
||||
// body := util.FormatValue(p.body, param)
|
||||
// _, err := p.request(body)
|
||||
// return err
|
||||
// }
|
||||
// StringSetter sends string request
|
||||
func (p *Javascript) StringSetter(param string) func(string) error {
|
||||
return func(val string) error {
|
||||
err := p.vm.Set(param, val)
|
||||
if err == nil {
|
||||
_, err = p.vm.Eval(p.script)
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// // BoolSetter sends bool request
|
||||
// func (p *Javascript) BoolSetter(param bool) error {
|
||||
// body := util.FormatValue(p.body, param)
|
||||
// _, err := p.request(body)
|
||||
// return err
|
||||
// }
|
||||
// BoolSetter sends bool request
|
||||
func (p *Javascript) BoolSetter(param string) func(bool) error {
|
||||
return func(val bool) error {
|
||||
err := p.vm.Set(param, val)
|
||||
if err == nil {
|
||||
_, err = p.vm.Eval(p.script)
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue