use generic functions for dealing with lists.

This commit is contained in:
fiatjaf
2022-11-08 07:15:08 -03:00
parent c4d52e516f
commit f98f54d3be
7 changed files with 50 additions and 82 deletions
+6 -6
View File
@@ -109,7 +109,7 @@ func (f Filter) MarshalJSON() ([]byte, error) {
return o.MarshalTo(nil), nil
}
func stringListToFastjsonArray(arena *fastjson.Arena, sl StringList) *fastjson.Value {
func stringListToFastjsonArray(arena *fastjson.Arena, sl []string) *fastjson.Value {
arr := arena.NewArray()
for i, v := range sl {
arr.SetArrayItem(i, arena.NewString(v))
@@ -117,7 +117,7 @@ func stringListToFastjsonArray(arena *fastjson.Arena, sl StringList) *fastjson.V
return arr
}
func intListToFastjsonArray(arena *fastjson.Arena, il IntList) *fastjson.Value {
func intListToFastjsonArray(arena *fastjson.Arena, il []int) *fastjson.Value {
arr := arena.NewArray()
for i, v := range il {
arr.SetArrayItem(i, arena.NewNumberInt(v))
@@ -125,13 +125,13 @@ func intListToFastjsonArray(arena *fastjson.Arena, il IntList) *fastjson.Value {
return arr
}
func fastjsonArrayToStringList(v *fastjson.Value) (StringList, error) {
func fastjsonArrayToStringList(v *fastjson.Value) ([]string, error) {
arr, err := v.Array()
if err != nil {
return nil, err
}
sl := make(StringList, len(arr))
sl := make([]string, len(arr))
for i, v := range arr {
sb, err := v.StringBytes()
if err != nil {
@@ -143,13 +143,13 @@ func fastjsonArrayToStringList(v *fastjson.Value) (StringList, error) {
return sl, nil
}
func fastjsonArrayToIntList(v *fastjson.Value) (IntList, error) {
func fastjsonArrayToIntList(v *fastjson.Value) ([]int, error) {
arr, err := v.Array()
if err != nil {
return nil, err
}
il := make(IntList, len(arr))
il := make([]int, len(arr))
for i, v := range arr {
il[i], err = v.Int()
if err != nil {