package rep import ( "encoding/json" "git.sr.ht/~cco/go-scopes/logging/log" ) func ParseJson(inp string) coderep { var raw interface{} err := json.Unmarshal([]byte(inp), &raw) if err != nil { log.Error(err).Msg("rep.ParseJson") return nil } rep := prepare(raw) return rep } func prepare(raw interface{}) coderep { switch ri := raw.(type) { case []interface{}: return makeCode(ri) case map[string]interface{}: return makeModule(ri) } return nil }