auto-code-generator-client-ts 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/GenericApiClient.d.ts +2 -2
- package/dist/GenericApiClient.d.ts.map +1 -1
- package/dist/GenericApiClient.js +26 -13
- package/dist/GenericApiClient.js.map +1 -1
- package/dist/types/types.d.ts +7 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utility/ResponseHandler.d.ts.map +1 -1
- package/dist/utility/ResponseHandler.js +9 -2
- package/dist/utility/ResponseHandler.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
|
-
import { PaginationDTO, IListQDTO } from './types/types';
|
|
2
|
+
import { PaginationDTO, IListQDTO, GenericApiClientInput } from './types/types';
|
|
3
3
|
export declare class GenericApiClient<Type, CursorType, Preview, Search = any, Write = any, Update = any> {
|
|
4
4
|
private client;
|
|
5
|
-
constructor(
|
|
5
|
+
constructor(input: GenericApiClientInput);
|
|
6
6
|
private createClient;
|
|
7
7
|
setBearerToken(newBearer: string): void;
|
|
8
8
|
protected safeRequest<T>(config: AxiosRequestConfig): Promise<AxiosResponse<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericApiClient.d.ts","sourceRoot":"","sources":["../src/GenericApiClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAA2C,kBAAkB,EAAE,aAAa,EAA8B,MAAM,OAAO,CAAC;AACtI,OAAO,EAAY,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"GenericApiClient.d.ts","sourceRoot":"","sources":["../src/GenericApiClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAA2C,kBAAkB,EAAE,aAAa,EAA8B,MAAM,OAAO,CAAC;AACtI,OAAO,EAAY,aAAa,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAU1F,qBAAa,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG;IAC5F,OAAO,CAAC,MAAM,CAAgB;gBAElB,KAAK,EAAE,qBAAqB;IAIxC,OAAO,CAAC,YAAY;IAuBb,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;cAI9B,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IA8C/E,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAInD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAIrD,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAIjD,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAKpD,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IAQjE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IAQlE,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IAQ9D,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IASjE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAQlG,eAAe,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAQ1G,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IASxF,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;CAQpH"}
|
package/dist/GenericApiClient.js
CHANGED
|
@@ -6,18 +6,22 @@ function normalizeHeaders(headers) {
|
|
|
6
6
|
return new AxiosHeaders(headers || {});
|
|
7
7
|
}
|
|
8
8
|
export class GenericApiClient {
|
|
9
|
-
constructor(
|
|
10
|
-
this.client = this.createClient(
|
|
9
|
+
constructor(input) {
|
|
10
|
+
this.client = this.createClient(input);
|
|
11
11
|
}
|
|
12
|
-
createClient(
|
|
12
|
+
createClient(input) {
|
|
13
|
+
const headers = {};
|
|
14
|
+
if (input.gatewaySecret) {
|
|
15
|
+
headers['X-Gateway-Secret'] = input.gatewaySecret;
|
|
16
|
+
}
|
|
17
|
+
if (input.bearerToken) {
|
|
18
|
+
headers['Authorization'] = `Bearer ${input.bearerToken}`;
|
|
19
|
+
}
|
|
13
20
|
return axios.create({
|
|
14
|
-
baseURL: `${baseUrl}/${controllerPath}`,
|
|
15
|
-
timeout:
|
|
16
|
-
httpsAgent,
|
|
17
|
-
headers
|
|
18
|
-
'X-Gateway-Secret': gatewaySecret,
|
|
19
|
-
Authorization: `Bearer ${bearerToken}`
|
|
20
|
-
},
|
|
21
|
+
baseURL: `${input.baseUrl}/${input.controllerPath}`,
|
|
22
|
+
timeout: 30000,
|
|
23
|
+
httpsAgent: input.httpsAgent,
|
|
24
|
+
headers,
|
|
21
25
|
paramsSerializer: {
|
|
22
26
|
// "repeat" genera ?ids=a&ids=b
|
|
23
27
|
serialize: params => qs.stringify(params, { arrayFormat: 'repeat' })
|
|
@@ -34,10 +38,18 @@ export class GenericApiClient {
|
|
|
34
38
|
if (config.baseURL)
|
|
35
39
|
this.client.defaults.baseURL = config.baseURL;
|
|
36
40
|
try {
|
|
37
|
-
|
|
41
|
+
const response = await this.client.request(config);
|
|
42
|
+
return response;
|
|
38
43
|
}
|
|
39
44
|
catch (error) {
|
|
40
45
|
const axiosError = error;
|
|
46
|
+
// Log detailed error info
|
|
47
|
+
console.warn(`Request failed: ${config.method?.toUpperCase()} ${config.url}`, {
|
|
48
|
+
status: axiosError.response?.status,
|
|
49
|
+
statusText: axiosError.response?.statusText,
|
|
50
|
+
data: axiosError.response?.data,
|
|
51
|
+
message: axiosError.message
|
|
52
|
+
});
|
|
41
53
|
const fallbackConfig = {
|
|
42
54
|
...config,
|
|
43
55
|
headers: normalizeHeaders(config.headers),
|
|
@@ -51,10 +63,11 @@ export class GenericApiClient {
|
|
|
51
63
|
data: config.data,
|
|
52
64
|
params: config.params
|
|
53
65
|
};
|
|
66
|
+
// Return error response with proper structure
|
|
54
67
|
return {
|
|
55
|
-
data: null,
|
|
68
|
+
data: (axiosError.response?.data || null),
|
|
56
69
|
status: axiosError.response?.status ?? 0,
|
|
57
|
-
statusText: axiosError.message || 'Unknown error',
|
|
70
|
+
statusText: axiosError.response?.statusText || axiosError.message || 'Unknown error',
|
|
58
71
|
headers: axiosError.response?.headers ?? {},
|
|
59
72
|
config: fallbackConfig,
|
|
60
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericApiClient.js","sourceRoot":"","sources":["../src/GenericApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,YAAY,EAAgF,MAAM,OAAO,CAAC;AAEtI,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"GenericApiClient.js","sourceRoot":"","sources":["../src/GenericApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,YAAY,EAAgF,MAAM,OAAO,CAAC;AAEtI,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,SAAS,gBAAgB,CAAC,OAAa;IACnC,OAAO,IAAI,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,OAAO,gBAAgB;IAGzB,YAAY,KAA4B;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEO,YAAY,CAAC,KAA4B;QAC7C,MAAM,OAAO,GAAQ,EAAE,CAAC;QAExB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;QACtD,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7D,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE;YACnD,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO;YACP,gBAAgB,EAAE;gBACd,+BAA+B;gBAC/B,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;aACvE;SACJ,CAAC,CAAC;IACP,CAAC;IAEM,cAAc,CAAC,SAAiB;QACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,SAAS,EAAE,CAAC;IAC1E,CAAC;IAES,KAAK,CAAC,WAAW,CAAI,MAA0B;QACrD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,IAAG,MAAM,CAAC,OAAO;YACb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QACjD,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC;YACtD,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,KAAmB,CAAC;YAEvC,0BAA0B;YAC1B,OAAO,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE;gBAC1E,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM;gBACnC,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU;gBAC3C,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI;gBAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;aAC9B,CAAC,CAAC;YAEH,MAAM,cAAc,GAA+B;gBAC/C,GAAG,MAAM;gBACT,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC;gBACzC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;gBAC9B,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE;gBACrB,gBAAgB,EAAE,EAAE;gBACpB,iBAAiB,EAAE,EAAE;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC;gBAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;gBACvC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;aACxB,CAAC;YAEF,8CAA8C;YAC9C,OAAO;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAM;gBAC9C,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;gBACxC,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,IAAI,eAAe;gBACpF,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE;gBAC3C,MAAM,EAAE,cAAc;aACzB,CAAC;QACN,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,MAAM,CAAC,MAAa;QACtB,OAAO,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QACxB,OAAO,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAc;QACpB,OAAO,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAc;QACvB,OAAO,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,cAAc,CAAC,QAAiB;QAClC,OAAO,IAAI,CAAC,WAAW,CAAS;YAC5B,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,UAAU;YACf,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAkB;QACnC,OAAO,IAAI,CAAC,WAAW,CAAS;YAC5B,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,UAAU;YACf,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAiB;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAS;YAC5B,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,MAAM;YACX,MAAM,EAAE,EAAE,GAAG,EAAE;SAClB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAiB;QAClC,OAAO,IAAI,CAAC,WAAW,CAAS;YAC5B,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,EAAE,GAAG,EAAE;SAClB,CAAC,CAAC;IACP,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,OAAO,CAAC,EAAc,EAAE,KAAa;QACvC,OAAO,IAAI,CAAC,WAAW,CAAqC;YACxD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;SACxB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAc,EAAE,KAAa;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAqC;YACxD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,oBAAoB;YACzB,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;SACxB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,EAAc,EAAE,KAAa;QACtD,OAAO,IAAI,CAAC,WAAW,CAAY;YAC/B,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;SACxB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAwB,EAAE,EAAc,EAAE,KAAa;QACzE,OAAO,IAAI,CAAC,WAAW,CAAY;YAC/B,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;SACxB,CAAC,CAAC;IACP,CAAC;CACJ"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -42,4 +42,11 @@ export declare class ListQDTO<T> implements IListQDTO<T> {
|
|
|
42
42
|
qdtoList: QDTO<T>[];
|
|
43
43
|
constructor(qdtoList: QDTO<T>[]);
|
|
44
44
|
}
|
|
45
|
+
export type GenericApiClientInput = {
|
|
46
|
+
baseUrl: string;
|
|
47
|
+
controllerPath: string;
|
|
48
|
+
gatewaySecret?: string;
|
|
49
|
+
bearerToken?: string;
|
|
50
|
+
httpsAgent?: any;
|
|
51
|
+
};
|
|
45
52
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAa,CAAC,QAAQ,EAAE,MAAM;IACvC,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM;CAI/C;AAED,qBAAa,YAAY;IAErB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAE,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;gBAER,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAOvF,UAAU,IAAI,QAAQ;CAQvB;AAGH,oBAAY,qBAAqB;IAC/B,OAAO,IAAW,CAAG,UAAU;IAC/B,IAAI,IAAc,CAAG,UAAU;IAC/B,KAAK,IAAa,CAAG,UAAU;IAC/B,YAAY,IAAM,CAAG,WAAW;IAChC,SAAS,IAAS,CAAG,WAAW;IAChC,WAAW,IAAO,CAAG,qBAAqB;IAC1C,GAAG,IAAe;CACnB;AAED,oBAAY,mBAAmB;IAC7B,GAAG,IAAM,CAAG,YAAY;IACxB,EAAE,IAAO,CAAG,WAAW;IACvB,IAAI,IAAK;CACV;AAID,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,SAAS,EAAE,CAAC,CAAC;IACb,eAAe,EAAE,mBAAmB,CAAC;IACrC,kBAAkB,EAAE,qBAAqB,CAAC;CAC3C;AAID,qBAAa,IAAI,CAAC,CAAC,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IAE7B,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,mBAAmB;IACpC,kBAAkB,EAAE,qBAAqB;gBAFzC,SAAS,EAAE,CAAC,EACZ,eAAe,EAAE,mBAAmB,EACpC,kBAAkB,EAAE,qBAAqB;CAEnD;AAID,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;CACtB;AAID,qBAAa,QAAQ,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAErC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAnB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;CAE7B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAa,CAAC,QAAQ,EAAE,MAAM;IACvC,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM;CAI/C;AAED,qBAAa,YAAY;IAErB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAE,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;gBAER,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAOvF,UAAU,IAAI,QAAQ;CAQvB;AAGH,oBAAY,qBAAqB;IAC/B,OAAO,IAAW,CAAG,UAAU;IAC/B,IAAI,IAAc,CAAG,UAAU;IAC/B,KAAK,IAAa,CAAG,UAAU;IAC/B,YAAY,IAAM,CAAG,WAAW;IAChC,SAAS,IAAS,CAAG,WAAW;IAChC,WAAW,IAAO,CAAG,qBAAqB;IAC1C,GAAG,IAAe;CACnB;AAED,oBAAY,mBAAmB;IAC7B,GAAG,IAAM,CAAG,YAAY;IACxB,EAAE,IAAO,CAAG,WAAW;IACvB,IAAI,IAAK;CACV;AAID,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,SAAS,EAAE,CAAC,CAAC;IACb,eAAe,EAAE,mBAAmB,CAAC;IACrC,kBAAkB,EAAE,qBAAqB,CAAC;CAC3C;AAID,qBAAa,IAAI,CAAC,CAAC,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IAE7B,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,mBAAmB;IACpC,kBAAkB,EAAE,qBAAqB;gBAFzC,SAAS,EAAE,CAAC,EACZ,eAAe,EAAE,mBAAmB,EACpC,kBAAkB,EAAE,qBAAqB;CAEnD;AAID,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;CACtB;AAID,qBAAa,QAAQ,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAErC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAnB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;CAE7B;AAGD,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,GAAG,CAAA;CACjB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseHandler.d.ts","sourceRoot":"","sources":["../../src/utility/ResponseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,wBAAgB,gBAAgB,CAAC,IAAI,EACjC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ResponseHandler.d.ts","sourceRoot":"","sources":["../../src/utility/ResponseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,wBAAgB,gBAAgB,CAAC,IAAI,EACjC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAkB9B"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
export function extractFirstItem(responsePromise) {
|
|
2
2
|
return responsePromise.then((response) => {
|
|
3
|
-
// Handle case where data is null or empty array
|
|
4
|
-
|
|
3
|
+
// Handle case where data is null, undefined, or empty array
|
|
4
|
+
let firstItem = null;
|
|
5
|
+
if (response.data && Array.isArray(response.data) && response.data.length > 0) {
|
|
6
|
+
firstItem = response.data[0];
|
|
7
|
+
}
|
|
5
8
|
return {
|
|
6
9
|
...response,
|
|
7
10
|
data: firstItem
|
|
8
11
|
};
|
|
12
|
+
}).catch((error) => {
|
|
13
|
+
// If promise rejects, return error response
|
|
14
|
+
console.error('extractFirstItem error:', error);
|
|
15
|
+
throw error;
|
|
9
16
|
});
|
|
10
17
|
}
|
|
11
18
|
//# sourceMappingURL=ResponseHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseHandler.js","sourceRoot":"","sources":["../../src/utility/ResponseHandler.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC5B,eAA+C;IAE/C,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvC,
|
|
1
|
+
{"version":3,"file":"ResponseHandler.js","sourceRoot":"","sources":["../../src/utility/ResponseHandler.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC5B,eAA+C;IAE/C,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvC,4DAA4D;QAC5D,IAAI,SAAS,GAAgB,IAAI,CAAC;QAElC,IAAI,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9E,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO;YACL,GAAG,QAAQ;YACX,IAAI,EAAE,SAAgB;SACvB,CAAC;IACJ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,4CAA4C;QAC5C,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED