summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/d5/tengo/script/variable.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2019-04-06 22:18:25 +0200
committerGitHub <noreply@github.com>2019-04-06 22:18:25 +0200
commit115d20373c21b107a428a55247c64f900e116038 (patch)
treec7299b3d3be2a48c0f2d5bfbd856cbd1b27d2e55 /vendor/github.com/d5/tengo/script/variable.go
parentcdf33e5748c110e12097130bdb44637e3d14b229 (diff)
downloadmatterbridge-msglm-115d20373c21b107a428a55247c64f900e116038.tar.gz
matterbridge-msglm-115d20373c21b107a428a55247c64f900e116038.tar.bz2
matterbridge-msglm-115d20373c21b107a428a55247c64f900e116038.zip
Update tengo vendor and load the stdlib. Fixes #789 (#792)
Diffstat (limited to 'vendor/github.com/d5/tengo/script/variable.go')
-rw-r--r--vendor/github.com/d5/tengo/script/variable.go36
1 files changed, 18 insertions, 18 deletions
diff --git a/vendor/github.com/d5/tengo/script/variable.go b/vendor/github.com/d5/tengo/script/variable.go
index c5e01bd9..df345115 100644
--- a/vendor/github.com/d5/tengo/script/variable.go
+++ b/vendor/github.com/d5/tengo/script/variable.go
@@ -9,7 +9,7 @@ import (
// Variable is a user-defined variable for the script.
type Variable struct {
name string
- value *objects.Object
+ value objects.Object
}
// NewVariable creates a Variable.
@@ -21,7 +21,7 @@ func NewVariable(name string, value interface{}) (*Variable, error) {
return &Variable{
name: name,
- value: &obj,
+ value: obj,
}, nil
}
@@ -32,18 +32,18 @@ func (v *Variable) Name() string {
// Value returns an empty interface of the variable value.
func (v *Variable) Value() interface{} {
- return objectToInterface(*v.value)
+ return objects.ToInterface(v.value)
}
// ValueType returns the name of the value type.
func (v *Variable) ValueType() string {
- return (*v.value).TypeName()
+ return v.value.TypeName()
}
// Int returns int value of the variable value.
// It returns 0 if the value is not convertible to int.
func (v *Variable) Int() int {
- c, _ := objects.ToInt(*v.value)
+ c, _ := objects.ToInt(v.value)
return c
}
@@ -51,7 +51,7 @@ func (v *Variable) Int() int {
// Int64 returns int64 value of the variable value.
// It returns 0 if the value is not convertible to int64.
func (v *Variable) Int64() int64 {
- c, _ := objects.ToInt64(*v.value)
+ c, _ := objects.ToInt64(v.value)
return c
}
@@ -59,7 +59,7 @@ func (v *Variable) Int64() int64 {
// Float returns float64 value of the variable value.
// It returns 0.0 if the value is not convertible to float64.
func (v *Variable) Float() float64 {
- c, _ := objects.ToFloat64(*v.value)
+ c, _ := objects.ToFloat64(v.value)
return c
}
@@ -67,7 +67,7 @@ func (v *Variable) Float() float64 {
// Char returns rune value of the variable value.
// It returns 0 if the value is not convertible to rune.
func (v *Variable) Char() rune {
- c, _ := objects.ToRune(*v.value)
+ c, _ := objects.ToRune(v.value)
return c
}
@@ -75,7 +75,7 @@ func (v *Variable) Char() rune {
// Bool returns bool value of the variable value.
// It returns 0 if the value is not convertible to bool.
func (v *Variable) Bool() bool {
- c, _ := objects.ToBool(*v.value)
+ c, _ := objects.ToBool(v.value)
return c
}
@@ -83,11 +83,11 @@ func (v *Variable) Bool() bool {
// Array returns []interface value of the variable value.
// It returns 0 if the value is not convertible to []interface.
func (v *Variable) Array() []interface{} {
- switch val := (*v.value).(type) {
+ switch val := v.value.(type) {
case *objects.Array:
var arr []interface{}
for _, e := range val.Value {
- arr = append(arr, objectToInterface(e))
+ arr = append(arr, objects.ToInterface(e))
}
return arr
}
@@ -98,11 +98,11 @@ func (v *Variable) Array() []interface{} {
// Map returns map[string]interface{} value of the variable value.
// It returns 0 if the value is not convertible to map[string]interface{}.
func (v *Variable) Map() map[string]interface{} {
- switch val := (*v.value).(type) {
+ switch val := v.value.(type) {
case *objects.Map:
kv := make(map[string]interface{})
for mk, mv := range val.Value {
- kv[mk] = objectToInterface(mv)
+ kv[mk] = objects.ToInterface(mv)
}
return kv
}
@@ -113,7 +113,7 @@ func (v *Variable) Map() map[string]interface{} {
// String returns string value of the variable value.
// It returns 0 if the value is not convertible to string.
func (v *Variable) String() string {
- c, _ := objects.ToString(*v.value)
+ c, _ := objects.ToString(v.value)
return c
}
@@ -121,7 +121,7 @@ func (v *Variable) String() string {
// Bytes returns a byte slice of the variable value.
// It returns nil if the value is not convertible to byte slice.
func (v *Variable) Bytes() []byte {
- c, _ := objects.ToByteSlice(*v.value)
+ c, _ := objects.ToByteSlice(v.value)
return c
}
@@ -129,7 +129,7 @@ func (v *Variable) Bytes() []byte {
// Error returns an error if the underlying value is error object.
// If not, this returns nil.
func (v *Variable) Error() error {
- err, ok := (*v.value).(*objects.Error)
+ err, ok := v.value.(*objects.Error)
if ok {
return errors.New(err.String())
}
@@ -140,10 +140,10 @@ func (v *Variable) Error() error {
// Object returns an underlying Object of the variable value.
// Note that returned Object is a copy of an actual Object used in the script.
func (v *Variable) Object() objects.Object {
- return *v.value
+ return v.value
}
// IsUndefined returns true if the underlying value is undefined.
func (v *Variable) IsUndefined() bool {
- return *v.value == objects.UndefinedValue
+ return v.value == objects.UndefinedValue
}