laravel-request 1.2.7 → 1.2.8
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/package.json +1 -1
- package/readme.md +13 -0
- package/src/Api.js +15 -1
- package/src/ApiRequest.js +87 -43
- package/src/types.d.ts +35 -17
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -96,3 +96,16 @@ response must be like below, for 200 status should contains key "result" with te
|
|
|
96
96
|
"data": [],
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
you can cancel request by
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
let cancelTokenSource = Api.get('active', SearchAllTypesHelper.ALL_TYPES, {
|
|
104
|
+
item_search: searchQuery,
|
|
105
|
+
user_id: clientId,
|
|
106
|
+
search_stock: 1
|
|
107
|
+
}).call(({data}) => {}, () => {}).getSource()
|
|
108
|
+
|
|
109
|
+
cancelTokenSource.cancel();
|
|
110
|
+
|
|
111
|
+
```
|
package/src/Api.js
CHANGED
|
@@ -244,7 +244,17 @@ export default class Api {
|
|
|
244
244
|
* @param obj
|
|
245
245
|
* @return {*}
|
|
246
246
|
*/
|
|
247
|
-
static async makeRequest({
|
|
247
|
+
static async makeRequest({
|
|
248
|
+
url,
|
|
249
|
+
method,
|
|
250
|
+
data = {},
|
|
251
|
+
params = {},
|
|
252
|
+
source,
|
|
253
|
+
headers = {},
|
|
254
|
+
success = () => {},
|
|
255
|
+
error = () => {},
|
|
256
|
+
final = () => {}
|
|
257
|
+
})
|
|
248
258
|
{
|
|
249
259
|
try {
|
|
250
260
|
headers['Accept'] = 'application/json, application/msgpack, text/plain, */*';
|
|
@@ -284,6 +294,8 @@ export default class Api {
|
|
|
284
294
|
console.error(error);
|
|
285
295
|
}
|
|
286
296
|
|
|
297
|
+
final();
|
|
298
|
+
|
|
287
299
|
return responseData;
|
|
288
300
|
} catch(e) {
|
|
289
301
|
if (axios.isAxiosError(e))
|
|
@@ -332,6 +344,8 @@ export default class Api {
|
|
|
332
344
|
console.error(error);
|
|
333
345
|
}
|
|
334
346
|
}
|
|
347
|
+
|
|
348
|
+
final();
|
|
335
349
|
}
|
|
336
350
|
}
|
|
337
351
|
|
package/src/ApiRequest.js
CHANGED
|
@@ -46,6 +46,9 @@ export default class ApiRequest {
|
|
|
46
46
|
};
|
|
47
47
|
this.callError = () => {
|
|
48
48
|
|
|
49
|
+
};
|
|
50
|
+
this.callFinal = () => {
|
|
51
|
+
|
|
49
52
|
};
|
|
50
53
|
this.source = null;
|
|
51
54
|
|
|
@@ -110,26 +113,32 @@ export default class ApiRequest {
|
|
|
110
113
|
*
|
|
111
114
|
* @param successCallback
|
|
112
115
|
* @param errorCallback
|
|
113
|
-
* @
|
|
116
|
+
* @param finalCallback
|
|
117
|
+
* @returns {ApiRequest}
|
|
114
118
|
*/
|
|
115
|
-
first(
|
|
116
|
-
|
|
117
|
-
|
|
119
|
+
first(
|
|
120
|
+
successCallback = (response) => {},
|
|
121
|
+
errorCallback = () => {},
|
|
122
|
+
finalCallback = () => {}
|
|
123
|
+
) {
|
|
118
124
|
this.data['paginateType'] = 'first';
|
|
119
|
-
return this.executeRequest(successCallback, errorCallback);
|
|
125
|
+
return this.executeRequest(successCallback, errorCallback, finalCallback);
|
|
120
126
|
}
|
|
121
127
|
|
|
122
128
|
/**
|
|
123
129
|
*
|
|
124
130
|
* @param successCallback
|
|
125
131
|
* @param errorCallback
|
|
126
|
-
* @
|
|
132
|
+
* @param finalCallback
|
|
133
|
+
* @returns {ApiRequest}
|
|
127
134
|
*/
|
|
128
|
-
all(
|
|
129
|
-
|
|
130
|
-
|
|
135
|
+
all(
|
|
136
|
+
successCallback = (response) => {},
|
|
137
|
+
errorCallback = () => {},
|
|
138
|
+
finalCallback = () => {}
|
|
139
|
+
) {
|
|
131
140
|
this.data['paginateType'] = 'all';
|
|
132
|
-
return this.executeRequest(successCallback, errorCallback);
|
|
141
|
+
return this.executeRequest(successCallback, errorCallback, finalCallback);
|
|
133
142
|
}
|
|
134
143
|
|
|
135
144
|
/**
|
|
@@ -138,15 +147,20 @@ export default class ApiRequest {
|
|
|
138
147
|
* @param perPage
|
|
139
148
|
* @param successCallback
|
|
140
149
|
* @param errorCallback
|
|
141
|
-
* @
|
|
150
|
+
* @param finalCallback
|
|
151
|
+
* @returns {ApiRequest}
|
|
142
152
|
*/
|
|
143
|
-
paginate(
|
|
144
|
-
|
|
145
|
-
|
|
153
|
+
paginate(
|
|
154
|
+
page = 1,
|
|
155
|
+
perPage = 10,
|
|
156
|
+
successCallback = (response) => {},
|
|
157
|
+
errorCallback = () => {},
|
|
158
|
+
finalCallback = () => {}
|
|
159
|
+
) {
|
|
146
160
|
this.data['paginateType'] = 'paginate';
|
|
147
161
|
this.data['page'] = page;
|
|
148
162
|
this.data['perPage'] = perPage;
|
|
149
|
-
return this.executeRequest(successCallback, errorCallback);
|
|
163
|
+
return this.executeRequest(successCallback, errorCallback, finalCallback);
|
|
150
164
|
}
|
|
151
165
|
|
|
152
166
|
/**
|
|
@@ -154,14 +168,18 @@ export default class ApiRequest {
|
|
|
154
168
|
* @param fields
|
|
155
169
|
* @param successCallback
|
|
156
170
|
* @param errorCallback
|
|
157
|
-
* @
|
|
171
|
+
* @param finalCallback
|
|
172
|
+
* @returns {ApiRequest}
|
|
158
173
|
*/
|
|
159
|
-
pluck(
|
|
160
|
-
|
|
161
|
-
|
|
174
|
+
pluck(
|
|
175
|
+
fields,
|
|
176
|
+
successCallback = (response) => {},
|
|
177
|
+
errorCallback = () => {},
|
|
178
|
+
finalCallback = () => {}
|
|
179
|
+
) {
|
|
162
180
|
this.data['paginateType'] = 'pluck';
|
|
163
181
|
this.data['fields'] = fields;
|
|
164
|
-
return this.executeRequest(successCallback, errorCallback);
|
|
182
|
+
return this.executeRequest(successCallback, errorCallback, finalCallback);
|
|
165
183
|
}
|
|
166
184
|
|
|
167
185
|
/**
|
|
@@ -192,13 +210,21 @@ export default class ApiRequest {
|
|
|
192
210
|
* @param argumentsKey
|
|
193
211
|
* @param queryKey
|
|
194
212
|
* @param byUrl
|
|
195
|
-
* @
|
|
213
|
+
* @param finalCallback
|
|
214
|
+
* @returns {ApiRequest}
|
|
196
215
|
*/
|
|
197
|
-
call(
|
|
198
|
-
|
|
199
|
-
|
|
216
|
+
call(
|
|
217
|
+
successCallback = (response) => {},
|
|
218
|
+
errorCallback = () => {},
|
|
219
|
+
params = {},
|
|
220
|
+
dataKey = 'data',
|
|
221
|
+
argumentsKey = 'arguments',
|
|
222
|
+
queryKey = 'query',
|
|
223
|
+
byUrl = false,
|
|
224
|
+
finalCallback = () => {}
|
|
225
|
+
)
|
|
200
226
|
{
|
|
201
|
-
return this.executeRequest(successCallback, errorCallback, params, dataKey, argumentsKey, queryKey, byUrl)
|
|
227
|
+
return this.executeRequest(successCallback, errorCallback, finalCallback, params, dataKey, argumentsKey, queryKey, byUrl)
|
|
202
228
|
}
|
|
203
229
|
|
|
204
230
|
/**
|
|
@@ -296,20 +322,31 @@ export default class ApiRequest {
|
|
|
296
322
|
}
|
|
297
323
|
|
|
298
324
|
/**
|
|
299
|
-
*
|
|
325
|
+
*
|
|
300
326
|
* @param successCallback
|
|
301
327
|
* @param errorCallback
|
|
328
|
+
* @param finalCallback
|
|
302
329
|
* @param params
|
|
303
330
|
* @param dataKey
|
|
304
331
|
* @param argumentsKey
|
|
305
332
|
* @param queryKey
|
|
306
333
|
* @param byUrl
|
|
307
|
-
* @
|
|
334
|
+
* @returns {ApiRequest}
|
|
308
335
|
*/
|
|
309
|
-
executeRequest(
|
|
336
|
+
executeRequest(
|
|
337
|
+
successCallback,
|
|
338
|
+
errorCallback,
|
|
339
|
+
finalCallback,
|
|
340
|
+
params = {},
|
|
341
|
+
dataKey = 'data',
|
|
342
|
+
argumentsKey = 'arguments',
|
|
343
|
+
queryKey = 'query',
|
|
344
|
+
byUrl = false,
|
|
345
|
+
) {
|
|
310
346
|
let self = this;
|
|
311
347
|
this.callSuccess = successCallback;
|
|
312
348
|
this.callError = errorCallback;
|
|
349
|
+
this.callFinal = finalCallback;
|
|
313
350
|
this.source = axios.CancelToken.source();
|
|
314
351
|
|
|
315
352
|
let url = byUrl ? this.url : this.getUrl();
|
|
@@ -332,7 +369,8 @@ export default class ApiRequest {
|
|
|
332
369
|
},
|
|
333
370
|
error: (response, responseData, status, errorText) => {
|
|
334
371
|
this.handleError(notify, errorCallback, response, responseData, errorText);
|
|
335
|
-
}
|
|
372
|
+
},
|
|
373
|
+
final: finalCallback
|
|
336
374
|
});
|
|
337
375
|
|
|
338
376
|
return this;
|
|
@@ -370,10 +408,6 @@ export default class ApiRequest {
|
|
|
370
408
|
*/
|
|
371
409
|
handleError(notify, errorCallback, response, responseData, errorText)
|
|
372
410
|
{
|
|
373
|
-
console.log('------------');
|
|
374
|
-
console.log(responseData);
|
|
375
|
-
console.log(errorText);
|
|
376
|
-
|
|
377
411
|
try {
|
|
378
412
|
let result = this.notifyCallback(response.status);
|
|
379
413
|
if (result) notify = this.getErrorNotification(response, responseData, errorText);
|
|
@@ -389,12 +423,15 @@ export default class ApiRequest {
|
|
|
389
423
|
*
|
|
390
424
|
* @param successCallback
|
|
391
425
|
* @param errorCallback
|
|
392
|
-
* @
|
|
426
|
+
* @param finalCallback
|
|
427
|
+
* @returns {ApiRequest}
|
|
393
428
|
*/
|
|
394
|
-
callSync(
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
429
|
+
callSync(
|
|
430
|
+
successCallback = (response) => {},
|
|
431
|
+
errorCallback = () => {},
|
|
432
|
+
finalCallback = () => {}
|
|
433
|
+
) {
|
|
434
|
+
return this.executeRequest(successCallback, errorCallback, finalCallback, {async: false});
|
|
398
435
|
}
|
|
399
436
|
|
|
400
437
|
/**
|
|
@@ -405,13 +442,20 @@ export default class ApiRequest {
|
|
|
405
442
|
* @param dataKey
|
|
406
443
|
* @param argumentsKey
|
|
407
444
|
* @param queryKey
|
|
408
|
-
* @
|
|
445
|
+
* @param finalCallback
|
|
446
|
+
* @returns {ApiRequest}
|
|
409
447
|
*/
|
|
410
|
-
callUrl(
|
|
411
|
-
|
|
412
|
-
|
|
448
|
+
callUrl(
|
|
449
|
+
successCallback = (response) => {},
|
|
450
|
+
errorCallback = () => {},
|
|
451
|
+
params = {},
|
|
452
|
+
dataKey = 'data',
|
|
453
|
+
argumentsKey = 'arguments',
|
|
454
|
+
queryKey = 'query',
|
|
455
|
+
finalCallback = () => {}
|
|
456
|
+
)
|
|
413
457
|
{
|
|
414
|
-
return this.executeRequest(successCallback, errorCallback, params, dataKey, argumentsKey, queryKey, true)
|
|
458
|
+
return this.executeRequest(successCallback, errorCallback, finalCallback, params, dataKey, argumentsKey, queryKey, true)
|
|
415
459
|
}
|
|
416
460
|
|
|
417
461
|
/**
|
package/src/types.d.ts
CHANGED
|
@@ -31,21 +31,31 @@ declare module 'laravel-request' {
|
|
|
31
31
|
|
|
32
32
|
addArg(arg: any | any[]): ApiRequest;
|
|
33
33
|
|
|
34
|
-
first(
|
|
34
|
+
first(
|
|
35
|
+
successCallback?: (response: {data: any, result: string, meta?: any, }) => void,
|
|
36
|
+
errorCallback?: (xhr: XMLHttpRequest, responseData: any) => void,
|
|
37
|
+
finalCallback?: () => void,
|
|
38
|
+
): any;
|
|
35
39
|
|
|
36
|
-
all(
|
|
40
|
+
all(
|
|
41
|
+
successCallback?: (response: {data: any, result: string, meta?: any}) => void,
|
|
42
|
+
errorCallback?: (xhr: XMLHttpRequest, responseData: any) => void,
|
|
43
|
+
finalCallback?: () => void,
|
|
44
|
+
): any;
|
|
37
45
|
|
|
38
46
|
paginate(
|
|
39
47
|
page?: number,
|
|
40
48
|
perPage?: number,
|
|
41
|
-
successCallback?: (
|
|
42
|
-
errorCallback?: () => void
|
|
49
|
+
successCallback?: (response: {data: any, result: string, meta?: any}) => void,
|
|
50
|
+
errorCallback?: (xhr: XMLHttpRequest, responseData: any) => void,
|
|
51
|
+
finalCallback?: () => void,
|
|
43
52
|
): any;
|
|
44
53
|
|
|
45
54
|
pluck(
|
|
46
55
|
fields: any,
|
|
47
|
-
successCallback?: (
|
|
48
|
-
errorCallback?: () => void
|
|
56
|
+
successCallback?: (response: {data: any, result: string, meta?: any}) => void,
|
|
57
|
+
errorCallback?: (xhr: XMLHttpRequest, responseData: any) => void,
|
|
58
|
+
finalCallback?: () => void,
|
|
49
59
|
): ApiRequest;
|
|
50
60
|
|
|
51
61
|
getUrl(): string;
|
|
@@ -53,8 +63,9 @@ declare module 'laravel-request' {
|
|
|
53
63
|
getSource(): axios.CancelTokenSource|null;
|
|
54
64
|
|
|
55
65
|
call(
|
|
56
|
-
successCallback?: (
|
|
57
|
-
errorCallback?: () => void,
|
|
66
|
+
successCallback?: (response: {data: any, result: string, meta?: any}) => void,
|
|
67
|
+
errorCallback?: (xhr: XMLHttpRequest, responseData: any) => void,
|
|
68
|
+
finalCallback?: () => void,
|
|
58
69
|
params?: object,
|
|
59
70
|
dataKey?: string,
|
|
60
71
|
argumentsKey?: string,
|
|
@@ -63,13 +74,15 @@ declare module 'laravel-request' {
|
|
|
63
74
|
): ApiRequest;
|
|
64
75
|
|
|
65
76
|
callSync(
|
|
66
|
-
successCallback?: (
|
|
67
|
-
errorCallback?: () => void
|
|
77
|
+
successCallback?: (response: {data: any, result: string, meta?: any}) => void,
|
|
78
|
+
errorCallback?: (xhr: XMLHttpRequest, responseData: any) => void,
|
|
79
|
+
finalCallback?: () => void
|
|
68
80
|
): ApiRequest;
|
|
69
81
|
|
|
70
82
|
callUrl(
|
|
71
|
-
successCallback?: (
|
|
72
|
-
errorCallback?: () => void,
|
|
83
|
+
successCallback?: (response: {response: {data: any, result: string, meta?: any}}) => void,
|
|
84
|
+
errorCallback?: (xhr: XMLHttpRequest, responseData: any) => void,
|
|
85
|
+
finalCallback?: () => void,
|
|
73
86
|
params?: object,
|
|
74
87
|
dataKey?: string,
|
|
75
88
|
argumentsKey?: string,
|
|
@@ -82,15 +95,20 @@ declare module 'laravel-request' {
|
|
|
82
95
|
queryKey: string
|
|
83
96
|
): object;
|
|
84
97
|
|
|
85
|
-
getErrorNotification(
|
|
98
|
+
getErrorNotification(
|
|
99
|
+
xhr: XMLHttpRequest, errorText: string
|
|
100
|
+
): object | null;
|
|
86
101
|
|
|
87
|
-
defaultErrorMessage(
|
|
102
|
+
defaultErrorMessage(
|
|
103
|
+
xhr: XMLHttpRequest, errorText: string
|
|
104
|
+
): object | null;
|
|
88
105
|
|
|
89
106
|
getErrorNotificationFallback(e: Error): object | null;
|
|
90
107
|
|
|
91
108
|
executeRequest(
|
|
92
|
-
successCallback: (
|
|
93
|
-
errorCallback: () => void,
|
|
109
|
+
successCallback: (response: {data: any, result: string, meta?: any}) => void,
|
|
110
|
+
errorCallback: (xhr: XMLHttpRequest, responseData: any) => void,
|
|
111
|
+
finalCallback?: () => void,
|
|
94
112
|
params?: object,
|
|
95
113
|
dataKey?: string,
|
|
96
114
|
argumentsKey?: string,
|
|
@@ -105,7 +123,7 @@ declare module 'laravel-request' {
|
|
|
105
123
|
|
|
106
124
|
handleError(
|
|
107
125
|
notify: object | null,
|
|
108
|
-
errorCallback: (xhr: XMLHttpRequest) => void,
|
|
126
|
+
errorCallback: (xhr: XMLHttpRequest, responseData: any) => void,
|
|
109
127
|
xhr: XMLHttpRequest,
|
|
110
128
|
errorText: string
|
|
111
129
|
): void;
|