aidbox-react
Advanced tools
Comparing version
@@ -71,20 +71,20 @@ "use strict"; | ||
}, tslib_1.__spreadArrays(deps, [reloadsCount, load])); | ||
return [ | ||
remoteData, | ||
{ | ||
reload: reload, | ||
reloadAsync: reloadAsync, | ||
softReloadAsync: softReloadAsync, | ||
set: function (dataOrFn) { | ||
if (typeof dataOrFn === 'function') { | ||
setRemoteData(function (rd) { return (remoteData_1.isSuccess(rd) ? remoteData_1.success(dataOrFn(rd.data)) : rd); }); | ||
} | ||
else { | ||
setRemoteData(remoteData_1.success(dataOrFn)); | ||
} | ||
}, | ||
}, | ||
]; | ||
var set = react_1.useCallback(function (dataOrFn) { | ||
if (typeof dataOrFn === 'function') { | ||
setRemoteData(function (rd) { return (remoteData_1.isSuccess(rd) ? remoteData_1.success(dataOrFn(rd.data)) : rd); }); | ||
} | ||
else { | ||
setRemoteData(remoteData_1.success(dataOrFn)); | ||
} | ||
// eslint-disable-next-line react-hooks/exhaustive-deps | ||
}, deps); | ||
var manager = react_1.useMemo(function () { return ({ | ||
reload: reload, | ||
reloadAsync: reloadAsync, | ||
softReloadAsync: softReloadAsync, | ||
set: set, | ||
}); }, [reload, reloadAsync, softReloadAsync, set]); | ||
return [remoteData, manager]; | ||
} | ||
exports.useService = useService; | ||
//# sourceMappingURL=service.js.map |
{ | ||
"name": "aidbox-react", | ||
"version": "1.4.0", | ||
"version": "1.5.0", | ||
"scripts": { | ||
@@ -5,0 +5,0 @@ "build": "tsc", |
@@ -1,2 +0,2 @@ | ||
import { useEffect, useState, useCallback } from 'react'; | ||
import { useEffect, useState, useCallback, useMemo } from 'react'; | ||
@@ -58,17 +58,22 @@ import { loading, notAsked, RemoteData, RemoteDataResult, success, failure, isSuccess } from '../libs/remoteData'; | ||
return [ | ||
remoteData, | ||
{ | ||
const set = useCallback((dataOrFn: S | ((data: S) => S)) => { | ||
if (typeof dataOrFn === 'function') { | ||
setRemoteData((rd) => (isSuccess(rd) ? success((dataOrFn as (data: S) => S)(rd.data)) : rd)); | ||
} else { | ||
setRemoteData(success(dataOrFn)); | ||
} | ||
// eslint-disable-next-line react-hooks/exhaustive-deps | ||
}, deps); | ||
const manager = useMemo( | ||
() => ({ | ||
reload, | ||
reloadAsync, | ||
softReloadAsync, | ||
set: (dataOrFn: S | ((data: S) => S)) => { | ||
if (typeof dataOrFn === 'function') { | ||
setRemoteData((rd) => (isSuccess(rd) ? success((dataOrFn as (data: S) => S)(rd.data)) : rd)); | ||
} else { | ||
setRemoteData(success(dataOrFn)); | ||
} | ||
}, | ||
}, | ||
]; | ||
set, | ||
}), | ||
[reload, reloadAsync, softReloadAsync, set] | ||
); | ||
return [remoteData, manager]; | ||
} |
Sorry, the diff of this file is not supported yet
161854
0.6%68
1.49%2826
0.11%