react-hooks-library
Advanced tools
Comparing version 0.0.32 to 0.0.33
@@ -19,2 +19,3 @@ import { AxiosRequestConfig, AxiosResponse } from 'axios'; | ||
error: Error | undefined; | ||
cancel: () => void; | ||
refetch: (variable?: object | undefined) => Promise<void | [boolean, AxiosResponse<any>]>; | ||
@@ -21,0 +22,0 @@ startPolling: (interval: number, variable?: object | undefined) => void; |
import * as tslib_1 from "tslib"; | ||
import { useState, useEffect, useRef, useMemo } from 'react'; | ||
import { isEqual, merge } from 'lodash'; | ||
import axios from 'axios'; | ||
import { request } from '../request/axios'; | ||
import { usePrevious } from './usePrevious'; | ||
function createRequest(query, variable) { | ||
function createRequest(query, variable, cancelTokenSource) { | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
@@ -12,6 +13,6 @@ return tslib_1.__generator(this, function (_a) { | ||
query.method === 'PATCH') { | ||
return [2 /*return*/, request(tslib_1.__assign({}, query, { data: variable }))]; | ||
return [2 /*return*/, request(tslib_1.__assign({}, query, { data: variable, cancelToken: cancelTokenSource.token }))]; | ||
} | ||
else { | ||
return [2 /*return*/, request(tslib_1.__assign({}, query, { params: variable }))]; | ||
return [2 /*return*/, request(tslib_1.__assign({}, query, { params: variable, cancelToken: cancelTokenSource.token }))]; | ||
} | ||
@@ -35,5 +36,6 @@ return [2 /*return*/]; | ||
var _e = useState(), intervalIndex = _e[0], setIntervalIndex = _e[1]; | ||
var intervalIndexRef = useRef(intervalIndex); | ||
var _f = useState(false), isCalled = _f[0], setIsCalled = _f[1]; | ||
var prevVariable = usePrevious(mergedProps.variable); | ||
var intervalIndexRef = useRef(intervalIndex); | ||
var cancelTokenSourceRef = useRef(); | ||
var _reset = function () { | ||
@@ -65,3 +67,4 @@ setData(mergedProps.initialData); | ||
setLoading(true); | ||
query = createRequest(mergedProps.query, variable); | ||
cancelTokenSourceRef.current = axios.CancelToken.source(); | ||
query = createRequest(mergedProps.query, variable, cancelTokenSourceRef.current); | ||
_a.label = 1; | ||
@@ -97,2 +100,3 @@ case 1: | ||
setLoading(false); | ||
cancelTokenSourceRef.current = undefined; | ||
return [7 /*endfinally*/]; | ||
@@ -116,2 +120,7 @@ case 5: return [2 /*return*/, query]; | ||
}; | ||
var cancel = function () { | ||
if (cancelTokenSourceRef.current) { | ||
cancelTokenSourceRef.current.cancel(); | ||
} | ||
}; | ||
useEffect(function () { | ||
@@ -132,2 +141,3 @@ if (_isShouldQuery()) { | ||
error: error, | ||
cancel: cancel, | ||
refetch: refetch, | ||
@@ -134,0 +144,0 @@ startPolling: startPolling, |
{ | ||
"name": "react-hooks-library", | ||
"version": "0.0.32", | ||
"version": "0.0.33", | ||
"license": "MIT", | ||
@@ -23,2 +23,3 @@ "scripts": { | ||
"@babel/plugin-proposal-object-rest-spread": "^7.3.2", | ||
"@babel/plugin-transform-runtime": "^7.4.3", | ||
"@babel/polyfill": "^7.4.3", | ||
@@ -25,0 +26,0 @@ "@babel/preset-env": "^7.3.1", |
Sorry, the diff of this file is not supported yet
19590
487
50