@data-loom/service-js 0.3.0 → 0.3.1-alpha.1
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/main/services/DataloomServiceBase.d.ts +2 -1
- package/dist/main/services/DataloomServiceBase.d.ts.map +1 -1
- package/dist/main/services/DataloomServiceBase.js +23 -12
- package/dist/main/services/DataloomServiceBase.js.map +1 -1
- package/dist/main/utils/types.d.ts +13 -6
- package/dist/main/utils/types.d.ts.map +1 -1
- package/dist/module/services/DataloomServiceBase.d.ts +2 -1
- package/dist/module/services/DataloomServiceBase.d.ts.map +1 -1
- package/dist/module/services/DataloomServiceBase.js +23 -12
- package/dist/module/services/DataloomServiceBase.js.map +1 -1
- package/dist/module/utils/types.d.ts +13 -6
- package/dist/module/utils/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataloomServiceOptions, Fetch, FetchOptions, ServiceName, DataloomServiceResponse } from '../utils/types';
|
|
1
|
+
import { DataloomServiceOptions, Fetch, FetchOptions, ServiceName, DataloomServiceResponse, OnRequestErrorType } from '../utils/types';
|
|
2
2
|
export default abstract class DataloomServiceBase {
|
|
3
3
|
protected baseUrl: string;
|
|
4
4
|
protected headers: {
|
|
@@ -9,6 +9,7 @@ export default abstract class DataloomServiceBase {
|
|
|
9
9
|
protected serviceName: ServiceName;
|
|
10
10
|
protected brandId: string;
|
|
11
11
|
protected appId: string;
|
|
12
|
+
protected onRequestError?: (error: OnRequestErrorType) => void;
|
|
12
13
|
constructor(baseUrl: string, options: DataloomServiceOptions);
|
|
13
14
|
fetchData<T>(url: string, options: FetchOptions): Promise<DataloomServiceResponse<T>>;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataloomServiceBase.d.ts","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,sBAAsB,EACtB,KAAK,EACL,YAAY,EACZ,WAAW,EACX,uBAAuB,
|
|
1
|
+
{"version":3,"file":"DataloomServiceBase.d.ts","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,sBAAsB,EACtB,KAAK,EACL,YAAY,EACZ,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,mBAAmB;IAC/C,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;gBAEnD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB;IAkBtD,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;CA0H5F"}
|
|
@@ -18,6 +18,7 @@ class DataloomServiceBase {
|
|
|
18
18
|
this.serviceName = types_1.ServiceName.DEFAULT;
|
|
19
19
|
this.brandId = (0, helpers_1.serializeSessionBrandId)(options.brandName);
|
|
20
20
|
this.appId = options.appId;
|
|
21
|
+
this.onRequestError = options.onRequestError;
|
|
21
22
|
if (options.fetch) {
|
|
22
23
|
this.fetch = options.fetch;
|
|
23
24
|
}
|
|
@@ -29,6 +30,7 @@ class DataloomServiceBase {
|
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
async fetchData(url, options) {
|
|
33
|
+
var _a, _b;
|
|
32
34
|
const fetchUrl = `${this.baseUrl.toString()}${url}`;
|
|
33
35
|
let traceId = -1;
|
|
34
36
|
if (this.logger) {
|
|
@@ -61,10 +63,10 @@ class DataloomServiceBase {
|
|
|
61
63
|
if (parsedBody.status_code && parsedBody.error_msg) {
|
|
62
64
|
data = null;
|
|
63
65
|
error = {
|
|
64
|
-
code: parsedBody.status_code,
|
|
66
|
+
code: parsedBody.status_code || res.status,
|
|
65
67
|
details: '',
|
|
66
|
-
hint:
|
|
67
|
-
message: parsedBody.error_msg,
|
|
68
|
+
hint: '',
|
|
69
|
+
message: parsedBody.error_msg || body,
|
|
68
70
|
};
|
|
69
71
|
}
|
|
70
72
|
else {
|
|
@@ -75,6 +77,7 @@ class DataloomServiceBase {
|
|
|
75
77
|
else {
|
|
76
78
|
// statuscode >= 400
|
|
77
79
|
const body = await res.text();
|
|
80
|
+
const parsedBody = JSON.parse(body);
|
|
78
81
|
try {
|
|
79
82
|
// 优先判断是否是429 rate limiter 拦截
|
|
80
83
|
if (res.status === 429) {
|
|
@@ -87,19 +90,19 @@ class DataloomServiceBase {
|
|
|
87
90
|
}
|
|
88
91
|
else {
|
|
89
92
|
error = {
|
|
90
|
-
code: res.status,
|
|
91
|
-
message: body,
|
|
93
|
+
code: parsedBody.status_code || res.status,
|
|
94
|
+
message: parsedBody.error_msg || body,
|
|
92
95
|
details: '',
|
|
93
|
-
hint:
|
|
96
|
+
hint: '',
|
|
94
97
|
};
|
|
95
98
|
}
|
|
96
99
|
}
|
|
97
100
|
catch (e) {
|
|
98
101
|
error = {
|
|
99
|
-
code: res.status,
|
|
100
|
-
message: body,
|
|
102
|
+
code: parsedBody.status_code || res.status,
|
|
103
|
+
message: parsedBody.error_msg || body,
|
|
101
104
|
details: '',
|
|
102
|
-
hint:
|
|
105
|
+
hint: '',
|
|
103
106
|
};
|
|
104
107
|
data = null;
|
|
105
108
|
status = 500;
|
|
@@ -112,23 +115,31 @@ class DataloomServiceBase {
|
|
|
112
115
|
status,
|
|
113
116
|
statusText,
|
|
114
117
|
};
|
|
118
|
+
if (error) {
|
|
119
|
+
(_a = this.onRequestError) === null || _a === void 0 ? void 0 : _a.call(this, {
|
|
120
|
+
error,
|
|
121
|
+
status,
|
|
122
|
+
statusText,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
115
125
|
if (this.logger) {
|
|
116
126
|
(0, logger_1.logResponse)(traceId, serviceResponse, this.serviceName);
|
|
117
127
|
}
|
|
118
128
|
return serviceResponse;
|
|
119
129
|
}
|
|
120
130
|
catch (e) {
|
|
121
|
-
|
|
122
|
-
data: null,
|
|
131
|
+
const internalError = {
|
|
123
132
|
error: {
|
|
124
133
|
code: 500,
|
|
125
134
|
message: e === null || e === void 0 ? void 0 : e.message,
|
|
126
135
|
details: '',
|
|
127
|
-
hint:
|
|
136
|
+
hint: '',
|
|
128
137
|
},
|
|
129
138
|
status: 500,
|
|
130
139
|
statusText: 'Dataloom Internal Error',
|
|
131
140
|
};
|
|
141
|
+
(_b = this.onRequestError) === null || _b === void 0 ? void 0 : _b.call(this, internalError);
|
|
142
|
+
return Object.assign({ data: null }, internalError);
|
|
132
143
|
}
|
|
133
144
|
}
|
|
134
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataloomServiceBase.js","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":";;;;;AAAA,aAAa;AACb,uEAA8C;AAE9C,gDAAqD;AACrD,4CAA0D;AAC1D,8CAA4E;AAC5E,
|
|
1
|
+
{"version":3,"file":"DataloomServiceBase.js","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,17 @@ export type FetchOptions = {
|
|
|
9
9
|
method: FetchMethod;
|
|
10
10
|
body?: any;
|
|
11
11
|
};
|
|
12
|
+
export interface DataloomServiceError {
|
|
13
|
+
code: number;
|
|
14
|
+
details: string;
|
|
15
|
+
hint: string | null;
|
|
16
|
+
message: string;
|
|
17
|
+
}
|
|
18
|
+
export interface OnRequestErrorType {
|
|
19
|
+
error: DataloomServiceError;
|
|
20
|
+
status: number;
|
|
21
|
+
statusText: string;
|
|
22
|
+
}
|
|
12
23
|
export type DataloomServiceOptions = {
|
|
13
24
|
headers?: {
|
|
14
25
|
[key: string]: string;
|
|
@@ -17,6 +28,7 @@ export type DataloomServiceOptions = {
|
|
|
17
28
|
logger?: boolean;
|
|
18
29
|
brandName: string;
|
|
19
30
|
appId: string;
|
|
31
|
+
onRequestError?: (error: OnRequestErrorType) => void;
|
|
20
32
|
};
|
|
21
33
|
interface DataloomServiceBase {
|
|
22
34
|
status: number;
|
|
@@ -27,12 +39,7 @@ export interface DataloomServiceSuccess<T> extends DataloomServiceBase {
|
|
|
27
39
|
data: T;
|
|
28
40
|
}
|
|
29
41
|
export interface DataloomServiceFailure extends DataloomServiceBase {
|
|
30
|
-
error:
|
|
31
|
-
code: number;
|
|
32
|
-
details: string;
|
|
33
|
-
hint: string | null;
|
|
34
|
-
message: string;
|
|
35
|
-
};
|
|
42
|
+
error: DataloomServiceError;
|
|
36
43
|
data: null;
|
|
37
44
|
}
|
|
38
45
|
export type DataloomServiceResponse<T> = DataloomServiceSuccess<T> | DataloomServiceFailure;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;CACnC;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IAEnC,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEpC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;CACnC;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,sBAAsB,GAAG;IAEnC,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEpC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,mBAAmB;IACpE,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;CACT;AACD,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,KAAK,EAAE,oBAAoB,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataloomServiceOptions, Fetch, FetchOptions, ServiceName, DataloomServiceResponse } from '../utils/types';
|
|
1
|
+
import { DataloomServiceOptions, Fetch, FetchOptions, ServiceName, DataloomServiceResponse, OnRequestErrorType } from '../utils/types';
|
|
2
2
|
export default abstract class DataloomServiceBase {
|
|
3
3
|
protected baseUrl: string;
|
|
4
4
|
protected headers: {
|
|
@@ -9,6 +9,7 @@ export default abstract class DataloomServiceBase {
|
|
|
9
9
|
protected serviceName: ServiceName;
|
|
10
10
|
protected brandId: string;
|
|
11
11
|
protected appId: string;
|
|
12
|
+
protected onRequestError?: (error: OnRequestErrorType) => void;
|
|
12
13
|
constructor(baseUrl: string, options: DataloomServiceOptions);
|
|
13
14
|
fetchData<T>(url: string, options: FetchOptions): Promise<DataloomServiceResponse<T>>;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataloomServiceBase.d.ts","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,sBAAsB,EACtB,KAAK,EACL,YAAY,EACZ,WAAW,EACX,uBAAuB,
|
|
1
|
+
{"version":3,"file":"DataloomServiceBase.d.ts","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,sBAAsB,EACtB,KAAK,EACL,YAAY,EACZ,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,mBAAmB;IAC/C,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;gBAEnD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB;IAkBtD,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;CA0H5F"}
|
|
@@ -13,6 +13,7 @@ export default class DataloomServiceBase {
|
|
|
13
13
|
this.serviceName = ServiceName.DEFAULT;
|
|
14
14
|
this.brandId = serializeSessionBrandId(options.brandName);
|
|
15
15
|
this.appId = options.appId;
|
|
16
|
+
this.onRequestError = options.onRequestError;
|
|
16
17
|
if (options.fetch) {
|
|
17
18
|
this.fetch = options.fetch;
|
|
18
19
|
}
|
|
@@ -24,6 +25,7 @@ export default class DataloomServiceBase {
|
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
async fetchData(url, options) {
|
|
28
|
+
var _a, _b;
|
|
27
29
|
const fetchUrl = `${this.baseUrl.toString()}${url}`;
|
|
28
30
|
let traceId = -1;
|
|
29
31
|
if (this.logger) {
|
|
@@ -56,10 +58,10 @@ export default class DataloomServiceBase {
|
|
|
56
58
|
if (parsedBody.status_code && parsedBody.error_msg) {
|
|
57
59
|
data = null;
|
|
58
60
|
error = {
|
|
59
|
-
code: parsedBody.status_code,
|
|
61
|
+
code: parsedBody.status_code || res.status,
|
|
60
62
|
details: '',
|
|
61
|
-
hint:
|
|
62
|
-
message: parsedBody.error_msg,
|
|
63
|
+
hint: '',
|
|
64
|
+
message: parsedBody.error_msg || body,
|
|
63
65
|
};
|
|
64
66
|
}
|
|
65
67
|
else {
|
|
@@ -70,6 +72,7 @@ export default class DataloomServiceBase {
|
|
|
70
72
|
else {
|
|
71
73
|
// statuscode >= 400
|
|
72
74
|
const body = await res.text();
|
|
75
|
+
const parsedBody = JSON.parse(body);
|
|
73
76
|
try {
|
|
74
77
|
// 优先判断是否是429 rate limiter 拦截
|
|
75
78
|
if (res.status === 429) {
|
|
@@ -82,19 +85,19 @@ export default class DataloomServiceBase {
|
|
|
82
85
|
}
|
|
83
86
|
else {
|
|
84
87
|
error = {
|
|
85
|
-
code: res.status,
|
|
86
|
-
message: body,
|
|
88
|
+
code: parsedBody.status_code || res.status,
|
|
89
|
+
message: parsedBody.error_msg || body,
|
|
87
90
|
details: '',
|
|
88
|
-
hint:
|
|
91
|
+
hint: '',
|
|
89
92
|
};
|
|
90
93
|
}
|
|
91
94
|
}
|
|
92
95
|
catch (e) {
|
|
93
96
|
error = {
|
|
94
|
-
code: res.status,
|
|
95
|
-
message: body,
|
|
97
|
+
code: parsedBody.status_code || res.status,
|
|
98
|
+
message: parsedBody.error_msg || body,
|
|
96
99
|
details: '',
|
|
97
|
-
hint:
|
|
100
|
+
hint: '',
|
|
98
101
|
};
|
|
99
102
|
data = null;
|
|
100
103
|
status = 500;
|
|
@@ -107,23 +110,31 @@ export default class DataloomServiceBase {
|
|
|
107
110
|
status,
|
|
108
111
|
statusText,
|
|
109
112
|
};
|
|
113
|
+
if (error) {
|
|
114
|
+
(_a = this.onRequestError) === null || _a === void 0 ? void 0 : _a.call(this, {
|
|
115
|
+
error,
|
|
116
|
+
status,
|
|
117
|
+
statusText,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
110
120
|
if (this.logger) {
|
|
111
121
|
logResponse(traceId, serviceResponse, this.serviceName);
|
|
112
122
|
}
|
|
113
123
|
return serviceResponse;
|
|
114
124
|
}
|
|
115
125
|
catch (e) {
|
|
116
|
-
|
|
117
|
-
data: null,
|
|
126
|
+
const internalError = {
|
|
118
127
|
error: {
|
|
119
128
|
code: 500,
|
|
120
129
|
message: e === null || e === void 0 ? void 0 : e.message,
|
|
121
130
|
details: '',
|
|
122
|
-
hint:
|
|
131
|
+
hint: '',
|
|
123
132
|
},
|
|
124
133
|
status: 500,
|
|
125
134
|
statusText: 'Dataloom Internal Error',
|
|
126
135
|
};
|
|
136
|
+
(_b = this.onRequestError) === null || _b === void 0 ? void 0 : _b.call(this, internalError);
|
|
137
|
+
return Object.assign({ data: null }, internalError);
|
|
127
138
|
}
|
|
128
139
|
}
|
|
129
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataloomServiceBase.js","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAIL,WAAW,
|
|
1
|
+
{"version":3,"file":"DataloomServiceBase.js","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,17 @@ export type FetchOptions = {
|
|
|
9
9
|
method: FetchMethod;
|
|
10
10
|
body?: any;
|
|
11
11
|
};
|
|
12
|
+
export interface DataloomServiceError {
|
|
13
|
+
code: number;
|
|
14
|
+
details: string;
|
|
15
|
+
hint: string | null;
|
|
16
|
+
message: string;
|
|
17
|
+
}
|
|
18
|
+
export interface OnRequestErrorType {
|
|
19
|
+
error: DataloomServiceError;
|
|
20
|
+
status: number;
|
|
21
|
+
statusText: string;
|
|
22
|
+
}
|
|
12
23
|
export type DataloomServiceOptions = {
|
|
13
24
|
headers?: {
|
|
14
25
|
[key: string]: string;
|
|
@@ -17,6 +28,7 @@ export type DataloomServiceOptions = {
|
|
|
17
28
|
logger?: boolean;
|
|
18
29
|
brandName: string;
|
|
19
30
|
appId: string;
|
|
31
|
+
onRequestError?: (error: OnRequestErrorType) => void;
|
|
20
32
|
};
|
|
21
33
|
interface DataloomServiceBase {
|
|
22
34
|
status: number;
|
|
@@ -27,12 +39,7 @@ export interface DataloomServiceSuccess<T> extends DataloomServiceBase {
|
|
|
27
39
|
data: T;
|
|
28
40
|
}
|
|
29
41
|
export interface DataloomServiceFailure extends DataloomServiceBase {
|
|
30
|
-
error:
|
|
31
|
-
code: number;
|
|
32
|
-
details: string;
|
|
33
|
-
hint: string | null;
|
|
34
|
-
message: string;
|
|
35
|
-
};
|
|
42
|
+
error: DataloomServiceError;
|
|
36
43
|
data: null;
|
|
37
44
|
}
|
|
38
45
|
export type DataloomServiceResponse<T> = DataloomServiceSuccess<T> | DataloomServiceFailure;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;CACnC;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IAEnC,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEpC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;CACnC;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,sBAAsB,GAAG;IAEnC,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEpC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,mBAAmB;IACpE,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;CACT;AACD,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,KAAK,EAAE,oBAAoB,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@data-loom/service-js",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1-alpha.1",
|
|
4
4
|
"description": "Dataloom service",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"service",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"test:types:watch": "run-s build && tsd --files 'test/**/*.test-d.ts' --watch"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@data-loom/node-fetch": "0.3.
|
|
36
|
+
"@data-loom/node-fetch": "0.3.1-alpha.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/jest": "~29.2.4",
|