@@ -30,15 +30,15 @@ export class ApiClient {
30
30
) : Record < string , string > => {
31
31
const tmpHeaders = {
32
32
Authorization : `Bearer ${ this . #token} ` ,
33
- 'Content-Type' : 'application/json'
33
+ 'Content-Type' : 'application/json' ,
34
34
} ;
35
35
return { ...tmpHeaders , ...headers } ;
36
36
} ;
37
37
38
38
#doRequest = async < T > (
39
39
method : Method ,
40
40
{ path, body, headers } : RequestConfig ,
41
- controller ?: AbortController | null
41
+ controller ?: AbortController | null ,
42
42
) : Promise < FetchResponse < T > > => {
43
43
const fullUrl = this . #buildUrl( path ) ;
44
44
@@ -49,18 +49,25 @@ export class ApiClient {
49
49
method : method ,
50
50
headers : new Headers ( newHeaders ) ,
51
51
body : JSON . stringify ( body ) ,
52
- signal : controller ?. signal ?? null
52
+ signal : controller ?. signal ?? null ,
53
53
} ) ;
54
54
55
55
if ( res . ok ) {
56
- const data = ( await res . json ( ) ) as T ;
57
- return { data, error : undefined } ;
56
+ try {
57
+ const data = ( await res . json ( ) ) as T ;
58
+ return { data, error : undefined } ;
59
+ } catch ( e ) {
60
+ return { data : undefined as T , error : undefined } ;
61
+ }
58
62
} else {
59
- const error = await res . text ( )
60
- return { data : undefined , error : error ?. length ? error : 'Det skjedde en uventet feil' } ;
63
+ const error = await res . text ( ) ;
64
+ return {
65
+ data : undefined ,
66
+ error : error ?. length ? error : 'Det skjedde en uventet feil' ,
67
+ } ;
61
68
}
62
69
} catch ( error ) {
63
- console . log ( error )
70
+ console . log ( error ) ;
64
71
if ( typeof error == 'string' ) {
65
72
return { data : undefined , error } ;
66
73
}
0 commit comments