laravel-request 1.2.6 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "laravel-request",
3
3
  "productName": "laravel-request",
4
- "version": "1.2.6",
4
+ "version": "1.2.8",
5
5
  "description": "laravel-request",
6
6
  "main": "src/index.js",
7
7
  "module": "src/index.js",
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({url, method, data = {}, params = {}, source, headers = {}, success = () => {}, error = () => {}})
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,10 +294,17 @@ 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))
290
302
  {
303
+ if (e.code === 'ERR_CANCELED') {
304
+ console.warn(`Request to ${url} was canceled.`);
305
+ return; // Просто выходим из обработчика, не вызывая error()
306
+ }
307
+
291
308
  console.error(`API request to ${url} failed: ${e}`);
292
309
  console.error(e);
293
310
 
@@ -327,6 +344,8 @@ export default class Api {
327
344
  console.error(error);
328
345
  }
329
346
  }
347
+
348
+ final();
330
349
  }
331
350
  }
332
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
- * @returns {*}
116
+ * @param finalCallback
117
+ * @returns {ApiRequest}
114
118
  */
115
- first(successCallback = (r) => {
116
- }, errorCallback = () => {
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
- * @returns {*}
132
+ * @param finalCallback
133
+ * @returns {ApiRequest}
127
134
  */
128
- all(successCallback = (r) => {
129
- }, errorCallback = () => {
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
- * @returns {*}
150
+ * @param finalCallback
151
+ * @returns {ApiRequest}
142
152
  */
143
- paginate(page = 1, perPage = 10, successCallback = (r) => {
144
- }, errorCallback = () => {
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
- * @return {ApiRequest}
171
+ * @param finalCallback
172
+ * @returns {ApiRequest}
158
173
  */
159
- pluck(fields, successCallback = (r) => {
160
- }, errorCallback = () => {
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
- * @return {ApiRequest}
213
+ * @param finalCallback
214
+ * @returns {ApiRequest}
196
215
  */
197
- call(successCallback = (r) => {
198
- }, errorCallback = () => {
199
- }, params = {}, dataKey = 'data', argumentsKey = 'arguments', queryKey = 'query', byUrl = false)
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
- * Function to handle the common request logic
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
- * @return {ApiRequest}
334
+ * @returns {ApiRequest}
308
335
  */
309
- executeRequest(successCallback, errorCallback, params = {}, dataKey = 'data', argumentsKey = 'arguments', queryKey = 'query', byUrl = false) {
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
- * @return {ApiRequest}
426
+ * @param finalCallback
427
+ * @returns {ApiRequest}
393
428
  */
394
- callSync(successCallback = (r) => {
395
- }, errorCallback = () => {
396
- }) {
397
- return this.executeRequest(successCallback, errorCallback, {async: false});
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
- * @return {ApiRequest}
445
+ * @param finalCallback
446
+ * @returns {ApiRequest}
409
447
  */
410
- callUrl(successCallback = (r) => {
411
- }, errorCallback = () => {
412
- }, params = {}, dataKey = 'data', argumentsKey = 'arguments', queryKey = 'query')
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(successCallback?: (r: any) => void, errorCallback?: () => void): any;
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(successCallback?: (r: any) => void, errorCallback?: () => void): any;
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?: (r: any) => void,
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?: (r: any) => void,
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?: (r: any) => void,
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?: (r: any) => void,
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?: (r: any) => void,
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(xhr: XMLHttpRequest, errorText: string): object | null;
98
+ getErrorNotification(
99
+ xhr: XMLHttpRequest, errorText: string
100
+ ): object | null;
86
101
 
87
- defaultErrorMessage(xhr: XMLHttpRequest, errorText: string): object | null;
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: (r: any) => void,
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;