From 1118aaf840a6f6b4dd6b137f39ab895a0cbd5a56 Mon Sep 17 00:00:00 2001 From: obscuren Date: Wed, 24 Sep 2014 20:40:40 +0200 Subject: Temp work around --- ethutil/list.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'ethutil') diff --git a/ethutil/list.go b/ethutil/list.go index a5147573a..4fb36224f 100644 --- a/ethutil/list.go +++ b/ethutil/list.go @@ -2,7 +2,6 @@ package ethutil import ( "encoding/json" - "fmt" "reflect" ) @@ -10,6 +9,7 @@ import ( // for containing any slice type to use in an environment which // does not support slice types (e.g., JavaScript, QML) type List struct { + val interface{} list reflect.Value Length int } @@ -21,7 +21,7 @@ func NewList(t interface{}) *List { panic("list container initialized with a non-slice type") } - return &List{list, list.Len()} + return &List{t, list, list.Len()} } func EmptyList() *List { @@ -30,17 +30,24 @@ func EmptyList() *List { // Get N element from the embedded slice. Returns nil if OOB. func (self *List) Get(i int) interface{} { - if self.list.Len() == 3 { - fmt.Println("get", i, self.list.Index(i).Interface()) - } if self.list.Len() > i { - return self.list.Index(i).Interface() + i := self.list.Index(i).Interface() + + return i } return nil } +func (self *List) GetAsJson(i int) interface{} { + e := self.Get(i) + + r, _ := json.Marshal(e) + + return string(r) +} + // Appends value at the end of the slice. Panics when incompatible value // is given. func (self *List) Append(v interface{}) { -- cgit v1.2.3