@@ -35,7 +35,7 @@ func NewRequest(method string, path string, queryParameters []string, body []byt
35
35
var err error
36
36
var cursor string
37
37
38
- isExtensionsEndpoint := false // https://github.com/twitchdev/twitch-cli/issues/157
38
+ isExtensionsLiveEndpoint := false // https://github.com/twitchdev/twitch-cli/issues/157
39
39
40
40
data .Data = make ([]interface {}, 0 )
41
41
client , err := GetClientInformation ()
@@ -104,7 +104,7 @@ func NewRequest(method string, path string, queryParameters []string, body []byt
104
104
}
105
105
if strings .Contains (u .String (), "extensions/live" ) {
106
106
// https://github.com/twitchdev/twitch-cli/issues/157
107
- isExtensionsEndpoint = true
107
+ isExtensionsLiveEndpoint = true
108
108
var extensionsBody models.ExtensionAPIResponse
109
109
err = json .Unmarshal (resp .Body , & extensionsBody )
110
110
if err != nil {
@@ -181,12 +181,17 @@ func NewRequest(method string, path string, queryParameters []string, body []byt
181
181
data .Data = make ([]interface {}, 0 )
182
182
}
183
183
// 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 == "" {
185
186
data .Data = make ([]interface {}, 0 )
186
187
}
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
+ }
187
192
188
193
var d []byte
189
- if isExtensionsEndpoint {
194
+ if isExtensionsLiveEndpoint {
190
195
extensionBody := models.ExtensionAPIResponse {
191
196
Data : data .Data ,
192
197
Pagination : & data .Pagination .Cursor ,
0 commit comments