github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/types/jsonconcat/unmarshal.go (about) 1 package jsonconcat 2 3 import ( 4 "github.com/lmorg/murex/debug" 5 "github.com/lmorg/murex/lang" 6 "github.com/lmorg/murex/utils/json" 7 ) 8 9 func unmarshal(p *lang.Process) (interface{}, error) { 10 b, err := p.Stdin.ReadAll() 11 if err != nil { 12 return nil, err 13 } 14 15 var jsonc []interface{} 16 var i int 17 18 cb := func(j []byte) { 19 var v interface{} 20 err = json.Unmarshal(j, &v) 21 debug.Json(string(j), v) 22 jsonc = append(jsonc, v) 23 i++ 24 } 25 26 pErr := parse(b, cb) 27 if err != nil { 28 return nil, err 29 } 30 if pErr != nil { 31 return nil, pErr 32 } 33 34 return jsonc, nil 35 }