@@ -35,7 +35,7 @@ func NewRequest(method string, path string, queryParameters []string, body []byt
3535 var err error
3636 var cursor string
3737
38- isExtensionsEndpoint := false // https://github.com/twitchdev/twitch-cli/issues/157
38+ isExtensionsLiveEndpoint := false // https://github.com/twitchdev/twitch-cli/issues/157
3939
4040 data .Data = make ([]interface {}, 0 )
4141 client , err := GetClientInformation ()
@@ -104,7 +104,7 @@ func NewRequest(method string, path string, queryParameters []string, body []byt
104104 }
105105 if strings .Contains (u .String (), "extensions/live" ) {
106106 // https://github.com/twitchdev/twitch-cli/issues/157
107- isExtensionsEndpoint = true
107+ isExtensionsLiveEndpoint = true
108108 var extensionsBody models.ExtensionAPIResponse
109109 err = json .Unmarshal (resp .Body , & extensionsBody )
110110 if err != nil {
@@ -181,12 +181,17 @@ func NewRequest(method string, path string, queryParameters []string, body []byt
181181 data .Data = make ([]interface {}, 0 )
182182 }
183183 // handle json marshalling better; returns empty slice vs. null
184- if ! strings .Contains (path , "schedule" ) && len (data .Data .([]interface {})) == 0 && data .Error == "" {
184+ _ , isInterface := data .Data .([]interface {})
185+ if isInterface && ! strings .Contains (path , "schedule" ) && len (data .Data .([]interface {})) == 0 && data .Error == "" {
185186 data .Data = make ([]interface {}, 0 )
186187 }
188+ _ , isStringMap := data .Data .(map [string ]any )
189+ if isStringMap && ! strings .Contains (path , "schedule" ) && len (data .Data .(map [string ]any )) == 0 && data .Error == "" {
190+ data .Data = make (map [string ]any , 0 )
191+ }
187192
188193 var d []byte
189- if isExtensionsEndpoint {
194+ if isExtensionsLiveEndpoint {
190195 extensionBody := models.ExtensionAPIResponse {
191196 Data : data .Data ,
192197 Pagination : & data .Pagination .Cursor ,
0 commit comments