icode-hooks 0.3.0

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.
Files changed (311) hide show
  1. package/README.md +65 -0
  2. package/dist/icode-hooks.js +1 -0
  3. package/es/createUpdateEffect/index.d.ts +4 -0
  4. package/es/createUpdateEffect/index.js +22 -0
  5. package/es/index.d.ts +9 -0
  6. package/es/index.js +9 -0
  7. package/es/useBoolean/index.d.ts +8 -0
  8. package/es/useBoolean/index.js +27 -0
  9. package/es/useCreation/index.d.ts +2 -0
  10. package/es/useCreation/index.js +21 -0
  11. package/es/useLatest/index.d.ts +3 -0
  12. package/es/useLatest/index.js +7 -0
  13. package/es/useMemoizedFn/index.d.ts +3 -0
  14. package/es/useMemoizedFn/index.js +31 -0
  15. package/es/useMount/index.d.ts +2 -0
  16. package/es/useMount/index.js +15 -0
  17. package/es/usePrescription/api.d.ts +7 -0
  18. package/es/usePrescription/api.js +17 -0
  19. package/es/usePrescription/index.d.ts +36 -0
  20. package/es/usePrescription/index.js +119 -0
  21. package/es/usePrescription/types.d.ts +15 -0
  22. package/es/usePrescription/types.js +1 -0
  23. package/es/useRequest/index.d.ts +4 -0
  24. package/es/useRequest/index.js +4 -0
  25. package/es/useRequest/routes-doc/use-request/demos/basic/cancel.d.ts +3 -0
  26. package/es/useRequest/routes-doc/use-request/demos/basic/cancel.js +56 -0
  27. package/es/useRequest/routes-doc/use-request/demos/basic/default.d.ts +6 -0
  28. package/es/useRequest/routes-doc/use-request/demos/basic/default.js +30 -0
  29. package/es/useRequest/routes-doc/use-request/demos/basic/lifeCycle.d.ts +3 -0
  30. package/es/useRequest/routes-doc/use-request/demos/basic/lifeCycle.js +55 -0
  31. package/es/useRequest/routes-doc/use-request/demos/basic/manualRun.d.ts +7 -0
  32. package/es/useRequest/routes-doc/use-request/demos/basic/manualRun.js +53 -0
  33. package/es/useRequest/routes-doc/use-request/demos/basic/manualRunAsync.d.ts +7 -0
  34. package/es/useRequest/routes-doc/use-request/demos/basic/manualRunAsync.js +67 -0
  35. package/es/useRequest/routes-doc/use-request/demos/basic/mutate.d.ts +6 -0
  36. package/es/useRequest/routes-doc/use-request/demos/basic/mutate.js +68 -0
  37. package/es/useRequest/routes-doc/use-request/demos/basic/params.d.ts +3 -0
  38. package/es/useRequest/routes-doc/use-request/demos/basic/params.js +44 -0
  39. package/es/useRequest/routes-doc/use-request/demos/basic/refresh.d.ts +6 -0
  40. package/es/useRequest/routes-doc/use-request/demos/basic/refresh.js +35 -0
  41. package/es/useRequest/routes-doc/use-request/demos/cache/cacheKey.d.ts +3 -0
  42. package/es/useRequest/routes-doc/use-request/demos/cache/cacheKey.js +41 -0
  43. package/es/useRequest/routes-doc/use-request/demos/cache/clearCache.d.ts +3 -0
  44. package/es/useRequest/routes-doc/use-request/demos/cache/clearCache.js +80 -0
  45. package/es/useRequest/routes-doc/use-request/demos/cache/params.d.ts +3 -0
  46. package/es/useRequest/routes-doc/use-request/demos/cache/params.js +65 -0
  47. package/es/useRequest/routes-doc/use-request/demos/cache/setCache.d.ts +3 -0
  48. package/es/useRequest/routes-doc/use-request/demos/cache/setCache.js +48 -0
  49. package/es/useRequest/routes-doc/use-request/demos/cache/share.d.ts +3 -0
  50. package/es/useRequest/routes-doc/use-request/demos/cache/share.js +37 -0
  51. package/es/useRequest/routes-doc/use-request/demos/cache/staleTime.d.ts +3 -0
  52. package/es/useRequest/routes-doc/use-request/demos/cache/staleTime.js +43 -0
  53. package/es/useRequest/routes-doc/use-request/demos/debounce/debounce.d.ts +3 -0
  54. package/es/useRequest/routes-doc/use-request/demos/debounce/debounce.js +41 -0
  55. package/es/useRequest/routes-doc/use-request/demos/index/default.d.ts +3 -0
  56. package/es/useRequest/routes-doc/use-request/demos/index/default.js +23 -0
  57. package/es/useRequest/routes-doc/use-request/demos/index/manual.d.ts +7 -0
  58. package/es/useRequest/routes-doc/use-request/demos/index/manual.js +50 -0
  59. package/es/useRequest/routes-doc/use-request/demos/loadingDelay/loadingDelay.d.ts +3 -0
  60. package/es/useRequest/routes-doc/use-request/demos/loadingDelay/loadingDelay.js +29 -0
  61. package/es/useRequest/routes-doc/use-request/demos/polling/polling.d.ts +3 -0
  62. package/es/useRequest/routes-doc/use-request/demos/polling/polling.js +31 -0
  63. package/es/useRequest/routes-doc/use-request/demos/polling/pollingError.d.ts +3 -0
  64. package/es/useRequest/routes-doc/use-request/demos/polling/pollingError.js +37 -0
  65. package/es/useRequest/routes-doc/use-request/demos/ready/manualReady.d.ts +3 -0
  66. package/es/useRequest/routes-doc/use-request/demos/ready/manualReady.js +36 -0
  67. package/es/useRequest/routes-doc/use-request/demos/ready/ready.d.ts +3 -0
  68. package/es/useRequest/routes-doc/use-request/demos/ready/ready.js +28 -0
  69. package/es/useRequest/routes-doc/use-request/demos/refresh/refreshDeps.d.ts +3 -0
  70. package/es/useRequest/routes-doc/use-request/demos/refresh/refreshDeps.js +60 -0
  71. package/es/useRequest/routes-doc/use-request/demos/refreshOnWindowFocus/refreshOnWindowFocus.d.ts +3 -0
  72. package/es/useRequest/routes-doc/use-request/demos/refreshOnWindowFocus/refreshOnWindowFocus.js +18 -0
  73. package/es/useRequest/routes-doc/use-request/demos/retry/retry.d.ts +3 -0
  74. package/es/useRequest/routes-doc/use-request/demos/retry/retry.js +42 -0
  75. package/es/useRequest/routes-doc/use-request/demos/throttle/throttle.d.ts +3 -0
  76. package/es/useRequest/routes-doc/use-request/demos/throttle/throttle.js +41 -0
  77. package/es/useRequest/src/Fetch.d.ts +20 -0
  78. package/es/useRequest/src/Fetch.js +161 -0
  79. package/es/useRequest/src/plugins/useAutoRunPlugin.d.ts +3 -0
  80. package/es/useRequest/src/plugins/useAutoRunPlugin.js +56 -0
  81. package/es/useRequest/src/plugins/useCachePlugin.d.ts +3 -0
  82. package/es/useRequest/src/plugins/useCachePlugin.js +143 -0
  83. package/es/useRequest/src/plugins/useDebouncePlugin.d.ts +3 -0
  84. package/es/useRequest/src/plugins/useDebouncePlugin.js +61 -0
  85. package/es/useRequest/src/plugins/useLoadingDelayPlugin.d.ts +3 -0
  86. package/es/useRequest/src/plugins/useLoadingDelayPlugin.js +40 -0
  87. package/es/useRequest/src/plugins/usePollingPlugin.d.ts +3 -0
  88. package/es/useRequest/src/plugins/usePollingPlugin.js +65 -0
  89. package/es/useRequest/src/plugins/useRefreshOnWindowFocusPlugin.d.ts +3 -0
  90. package/es/useRequest/src/plugins/useRefreshOnWindowFocusPlugin.js +30 -0
  91. package/es/useRequest/src/plugins/useRetryPlugin.d.ts +3 -0
  92. package/es/useRequest/src/plugins/useRetryPlugin.js +45 -0
  93. package/es/useRequest/src/plugins/useThrottlePlugin.d.ts +3 -0
  94. package/es/useRequest/src/plugins/useThrottlePlugin.js +53 -0
  95. package/es/useRequest/src/types.d.ts +73 -0
  96. package/es/useRequest/src/types.js +1 -0
  97. package/es/useRequest/src/useRequest.d.ts +3 -0
  98. package/es/useRequest/src/useRequest.js +14 -0
  99. package/es/useRequest/src/useRequestImplement.d.ts +5 -0
  100. package/es/useRequest/src/useRequestImplement.js +72 -0
  101. package/es/useRequest/src/utils/cache.d.ts +14 -0
  102. package/es/useRequest/src/utils/cache.js +32 -0
  103. package/es/useRequest/src/utils/cachePromise.d.ts +4 -0
  104. package/es/useRequest/src/utils/cachePromise.js +17 -0
  105. package/es/useRequest/src/utils/cacheSubscribe.d.ts +4 -0
  106. package/es/useRequest/src/utils/cacheSubscribe.js +19 -0
  107. package/es/useRequest/src/utils/isDocumentVisible.d.ts +1 -0
  108. package/es/useRequest/src/utils/isDocumentVisible.js +7 -0
  109. package/es/useRequest/src/utils/isOnline.d.ts +1 -0
  110. package/es/useRequest/src/utils/isOnline.js +7 -0
  111. package/es/useRequest/src/utils/limit.d.ts +1 -0
  112. package/es/useRequest/src/utils/limit.js +17 -0
  113. package/es/useRequest/src/utils/subscribeFocus.d.ts +3 -0
  114. package/es/useRequest/src/utils/subscribeFocus.js +27 -0
  115. package/es/useRequest/src/utils/subscribeReVisible.d.ts +3 -0
  116. package/es/useRequest/src/utils/subscribeReVisible.js +21 -0
  117. package/es/useToggle/index.d.ts +10 -0
  118. package/es/useToggle/index.js +41 -0
  119. package/es/useUnmount/index.d.ts +2 -0
  120. package/es/useUnmount/index.js +17 -0
  121. package/es/useUpdate/index.d.ts +2 -0
  122. package/es/useUpdate/index.js +10 -0
  123. package/es/useUpdateEffect/index.d.ts +3 -0
  124. package/es/useUpdateEffect/index.js +3 -0
  125. package/es/utils/createEffectWithTarget.d.ts +4 -0
  126. package/es/utils/createEffectWithTarget.js +48 -0
  127. package/es/utils/depsAreSame.d.ts +2 -0
  128. package/es/utils/depsAreSame.js +8 -0
  129. package/es/utils/depsEqual.d.ts +2 -0
  130. package/es/utils/depsEqual.js +11 -0
  131. package/es/utils/domTarget.d.ts +6 -0
  132. package/es/utils/domTarget.js +20 -0
  133. package/es/utils/getDocumentOrShadow.d.ts +3 -0
  134. package/es/utils/getDocumentOrShadow.js +28 -0
  135. package/es/utils/index.d.ts +6 -0
  136. package/es/utils/index.js +18 -0
  137. package/es/utils/isAppleDevice.d.ts +2 -0
  138. package/es/utils/isAppleDevice.js +3 -0
  139. package/es/utils/isBrowser.d.ts +2 -0
  140. package/es/utils/isBrowser.js +2 -0
  141. package/es/utils/isDev.d.ts +2 -0
  142. package/es/utils/isDev.js +3 -0
  143. package/es/utils/lodash-polyfill.d.ts +2 -0
  144. package/es/utils/lodash-polyfill.js +11 -0
  145. package/es/utils/testingHelpers.d.ts +2 -0
  146. package/es/utils/testingHelpers.js +19 -0
  147. package/es/utils/tests.d.ts +4 -0
  148. package/es/utils/tests.js +12 -0
  149. package/es/utils/useDeepCompareWithTarget.d.ts +4 -0
  150. package/es/utils/useDeepCompareWithTarget.js +14 -0
  151. package/es/utils/useEffectWithTarget.d.ts +2 -0
  152. package/es/utils/useEffectWithTarget.js +5 -0
  153. package/es/utils/useIsomorphicLayoutEffectWithTarget.d.ts +2 -0
  154. package/es/utils/useIsomorphicLayoutEffectWithTarget.js +5 -0
  155. package/es/utils/useLayoutEffectWithTarget.d.ts +2 -0
  156. package/es/utils/useLayoutEffectWithTarget.js +4 -0
  157. package/lib/createUpdateEffect/index.d.ts +4 -0
  158. package/lib/createUpdateEffect/index.js +28 -0
  159. package/lib/index.d.ts +9 -0
  160. package/lib/index.js +69 -0
  161. package/lib/useBoolean/index.d.ts +8 -0
  162. package/lib/useBoolean/index.js +33 -0
  163. package/lib/useCreation/index.d.ts +2 -0
  164. package/lib/useCreation/index.js +28 -0
  165. package/lib/useLatest/index.d.ts +3 -0
  166. package/lib/useLatest/index.js +13 -0
  167. package/lib/useMemoizedFn/index.d.ts +3 -0
  168. package/lib/useMemoizedFn/index.js +40 -0
  169. package/lib/useMount/index.d.ts +2 -0
  170. package/lib/useMount/index.js +23 -0
  171. package/lib/usePrescription/api.d.ts +7 -0
  172. package/lib/usePrescription/api.js +23 -0
  173. package/lib/usePrescription/index.d.ts +36 -0
  174. package/lib/usePrescription/index.js +127 -0
  175. package/lib/usePrescription/types.d.ts +15 -0
  176. package/lib/usePrescription/types.js +5 -0
  177. package/lib/useRequest/index.d.ts +4 -0
  178. package/lib/useRequest/index.js +16 -0
  179. package/lib/useRequest/routes-doc/use-request/demos/basic/cancel.d.ts +3 -0
  180. package/lib/useRequest/routes-doc/use-request/demos/basic/cancel.js +65 -0
  181. package/lib/useRequest/routes-doc/use-request/demos/basic/default.d.ts +6 -0
  182. package/lib/useRequest/routes-doc/use-request/demos/basic/default.js +38 -0
  183. package/lib/useRequest/routes-doc/use-request/demos/basic/lifeCycle.d.ts +3 -0
  184. package/lib/useRequest/routes-doc/use-request/demos/basic/lifeCycle.js +64 -0
  185. package/lib/useRequest/routes-doc/use-request/demos/basic/manualRun.d.ts +7 -0
  186. package/lib/useRequest/routes-doc/use-request/demos/basic/manualRun.js +63 -0
  187. package/lib/useRequest/routes-doc/use-request/demos/basic/manualRunAsync.d.ts +7 -0
  188. package/lib/useRequest/routes-doc/use-request/demos/basic/manualRunAsync.js +77 -0
  189. package/lib/useRequest/routes-doc/use-request/demos/basic/mutate.d.ts +6 -0
  190. package/lib/useRequest/routes-doc/use-request/demos/basic/mutate.js +78 -0
  191. package/lib/useRequest/routes-doc/use-request/demos/basic/params.d.ts +3 -0
  192. package/lib/useRequest/routes-doc/use-request/demos/basic/params.js +53 -0
  193. package/lib/useRequest/routes-doc/use-request/demos/basic/refresh.d.ts +6 -0
  194. package/lib/useRequest/routes-doc/use-request/demos/basic/refresh.js +45 -0
  195. package/lib/useRequest/routes-doc/use-request/demos/cache/cacheKey.d.ts +3 -0
  196. package/lib/useRequest/routes-doc/use-request/demos/cache/cacheKey.js +48 -0
  197. package/lib/useRequest/routes-doc/use-request/demos/cache/clearCache.d.ts +3 -0
  198. package/lib/useRequest/routes-doc/use-request/demos/cache/clearCache.js +87 -0
  199. package/lib/useRequest/routes-doc/use-request/demos/cache/params.d.ts +3 -0
  200. package/lib/useRequest/routes-doc/use-request/demos/cache/params.js +74 -0
  201. package/lib/useRequest/routes-doc/use-request/demos/cache/setCache.d.ts +3 -0
  202. package/lib/useRequest/routes-doc/use-request/demos/cache/setCache.js +55 -0
  203. package/lib/useRequest/routes-doc/use-request/demos/cache/share.d.ts +3 -0
  204. package/lib/useRequest/routes-doc/use-request/demos/cache/share.js +44 -0
  205. package/lib/useRequest/routes-doc/use-request/demos/cache/staleTime.d.ts +3 -0
  206. package/lib/useRequest/routes-doc/use-request/demos/cache/staleTime.js +50 -0
  207. package/lib/useRequest/routes-doc/use-request/demos/debounce/debounce.d.ts +3 -0
  208. package/lib/useRequest/routes-doc/use-request/demos/debounce/debounce.js +48 -0
  209. package/lib/useRequest/routes-doc/use-request/demos/index/default.d.ts +3 -0
  210. package/lib/useRequest/routes-doc/use-request/demos/index/default.js +30 -0
  211. package/lib/useRequest/routes-doc/use-request/demos/index/manual.d.ts +7 -0
  212. package/lib/useRequest/routes-doc/use-request/demos/index/manual.js +60 -0
  213. package/lib/useRequest/routes-doc/use-request/demos/loadingDelay/loadingDelay.d.ts +3 -0
  214. package/lib/useRequest/routes-doc/use-request/demos/loadingDelay/loadingDelay.js +36 -0
  215. package/lib/useRequest/routes-doc/use-request/demos/polling/polling.d.ts +3 -0
  216. package/lib/useRequest/routes-doc/use-request/demos/polling/polling.js +38 -0
  217. package/lib/useRequest/routes-doc/use-request/demos/polling/pollingError.d.ts +3 -0
  218. package/lib/useRequest/routes-doc/use-request/demos/polling/pollingError.js +44 -0
  219. package/lib/useRequest/routes-doc/use-request/demos/ready/manualReady.d.ts +3 -0
  220. package/lib/useRequest/routes-doc/use-request/demos/ready/manualReady.js +43 -0
  221. package/lib/useRequest/routes-doc/use-request/demos/ready/ready.d.ts +3 -0
  222. package/lib/useRequest/routes-doc/use-request/demos/ready/ready.js +35 -0
  223. package/lib/useRequest/routes-doc/use-request/demos/refresh/refreshDeps.d.ts +3 -0
  224. package/lib/useRequest/routes-doc/use-request/demos/refresh/refreshDeps.js +69 -0
  225. package/lib/useRequest/routes-doc/use-request/demos/refreshOnWindowFocus/refreshOnWindowFocus.d.ts +3 -0
  226. package/lib/useRequest/routes-doc/use-request/demos/refreshOnWindowFocus/refreshOnWindowFocus.js +25 -0
  227. package/lib/useRequest/routes-doc/use-request/demos/retry/retry.d.ts +3 -0
  228. package/lib/useRequest/routes-doc/use-request/demos/retry/retry.js +51 -0
  229. package/lib/useRequest/routes-doc/use-request/demos/throttle/throttle.d.ts +3 -0
  230. package/lib/useRequest/routes-doc/use-request/demos/throttle/throttle.js +48 -0
  231. package/lib/useRequest/src/Fetch.d.ts +20 -0
  232. package/lib/useRequest/src/Fetch.js +168 -0
  233. package/lib/useRequest/src/plugins/useAutoRunPlugin.d.ts +3 -0
  234. package/lib/useRequest/src/plugins/useAutoRunPlugin.js +63 -0
  235. package/lib/useRequest/src/plugins/useCachePlugin.d.ts +3 -0
  236. package/lib/useRequest/src/plugins/useCachePlugin.js +150 -0
  237. package/lib/useRequest/src/plugins/useDebouncePlugin.d.ts +3 -0
  238. package/lib/useRequest/src/plugins/useDebouncePlugin.js +67 -0
  239. package/lib/useRequest/src/plugins/useLoadingDelayPlugin.d.ts +3 -0
  240. package/lib/useRequest/src/plugins/useLoadingDelayPlugin.js +46 -0
  241. package/lib/useRequest/src/plugins/usePollingPlugin.d.ts +3 -0
  242. package/lib/useRequest/src/plugins/usePollingPlugin.js +72 -0
  243. package/lib/useRequest/src/plugins/useRefreshOnWindowFocusPlugin.d.ts +3 -0
  244. package/lib/useRequest/src/plugins/useRefreshOnWindowFocusPlugin.js +37 -0
  245. package/lib/useRequest/src/plugins/useRetryPlugin.d.ts +3 -0
  246. package/lib/useRequest/src/plugins/useRetryPlugin.js +51 -0
  247. package/lib/useRequest/src/plugins/useThrottlePlugin.d.ts +3 -0
  248. package/lib/useRequest/src/plugins/useThrottlePlugin.js +59 -0
  249. package/lib/useRequest/src/types.d.ts +73 -0
  250. package/lib/useRequest/src/types.js +5 -0
  251. package/lib/useRequest/src/useRequest.d.ts +3 -0
  252. package/lib/useRequest/src/useRequest.js +21 -0
  253. package/lib/useRequest/src/useRequestImplement.d.ts +5 -0
  254. package/lib/useRequest/src/useRequestImplement.js +80 -0
  255. package/lib/useRequest/src/utils/cache.d.ts +14 -0
  256. package/lib/useRequest/src/utils/cache.js +37 -0
  257. package/lib/useRequest/src/utils/cachePromise.d.ts +4 -0
  258. package/lib/useRequest/src/utils/cachePromise.js +22 -0
  259. package/lib/useRequest/src/utils/cacheSubscribe.d.ts +4 -0
  260. package/lib/useRequest/src/utils/cacheSubscribe.js +24 -0
  261. package/lib/useRequest/src/utils/isDocumentVisible.d.ts +1 -0
  262. package/lib/useRequest/src/utils/isDocumentVisible.js +14 -0
  263. package/lib/useRequest/src/utils/isOnline.d.ts +1 -0
  264. package/lib/useRequest/src/utils/isOnline.js +14 -0
  265. package/lib/useRequest/src/utils/limit.d.ts +1 -0
  266. package/lib/useRequest/src/utils/limit.js +23 -0
  267. package/lib/useRequest/src/utils/subscribeFocus.d.ts +3 -0
  268. package/lib/useRequest/src/utils/subscribeFocus.js +35 -0
  269. package/lib/useRequest/src/utils/subscribeReVisible.d.ts +3 -0
  270. package/lib/useRequest/src/utils/subscribeReVisible.js +28 -0
  271. package/lib/useToggle/index.d.ts +10 -0
  272. package/lib/useToggle/index.js +47 -0
  273. package/lib/useUnmount/index.d.ts +2 -0
  274. package/lib/useUnmount/index.js +25 -0
  275. package/lib/useUpdate/index.d.ts +2 -0
  276. package/lib/useUpdate/index.js +16 -0
  277. package/lib/useUpdateEffect/index.d.ts +3 -0
  278. package/lib/useUpdateEffect/index.js +9 -0
  279. package/lib/utils/createEffectWithTarget.d.ts +4 -0
  280. package/lib/utils/createEffectWithTarget.js +55 -0
  281. package/lib/utils/depsAreSame.d.ts +2 -0
  282. package/lib/utils/depsAreSame.js +14 -0
  283. package/lib/utils/depsEqual.d.ts +2 -0
  284. package/lib/utils/depsEqual.js +17 -0
  285. package/lib/utils/domTarget.d.ts +6 -0
  286. package/lib/utils/domTarget.js +27 -0
  287. package/lib/utils/getDocumentOrShadow.d.ts +3 -0
  288. package/lib/utils/getDocumentOrShadow.js +34 -0
  289. package/lib/utils/index.d.ts +6 -0
  290. package/lib/utils/index.js +26 -0
  291. package/lib/utils/isAppleDevice.d.ts +2 -0
  292. package/lib/utils/isAppleDevice.js +9 -0
  293. package/lib/utils/isBrowser.d.ts +2 -0
  294. package/lib/utils/isBrowser.js +8 -0
  295. package/lib/utils/isDev.d.ts +2 -0
  296. package/lib/utils/isDev.js +9 -0
  297. package/lib/utils/lodash-polyfill.d.ts +2 -0
  298. package/lib/utils/lodash-polyfill.js +23 -0
  299. package/lib/utils/testingHelpers.d.ts +2 -0
  300. package/lib/utils/testingHelpers.js +26 -0
  301. package/lib/utils/tests.d.ts +4 -0
  302. package/lib/utils/tests.js +30 -0
  303. package/lib/utils/useDeepCompareWithTarget.d.ts +4 -0
  304. package/lib/utils/useDeepCompareWithTarget.js +21 -0
  305. package/lib/utils/useEffectWithTarget.d.ts +2 -0
  306. package/lib/utils/useEffectWithTarget.js +12 -0
  307. package/lib/utils/useIsomorphicLayoutEffectWithTarget.d.ts +2 -0
  308. package/lib/utils/useIsomorphicLayoutEffectWithTarget.js +12 -0
  309. package/lib/utils/useLayoutEffectWithTarget.d.ts +2 -0
  310. package/lib/utils/useLayoutEffectWithTarget.js +11 -0
  311. package/package.json +28 -0
@@ -0,0 +1,43 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import useBoolean from '../../../../../useBoolean';
3
+ import Mock from 'mockjs';
4
+ import React from 'react';
5
+ import useRequest from '../../../../index';
6
+ function getArticle() {
7
+ return __awaiter(this, void 0, void 0, function () {
8
+ return __generator(this, function (_a) {
9
+ console.log('cacheKey-staleTime');
10
+ return [2 /*return*/, new Promise(function (resolve) {
11
+ setTimeout(function () {
12
+ resolve({
13
+ data: Mock.mock('@paragraph'),
14
+ time: new Date().getTime()
15
+ });
16
+ }, 1000);
17
+ })];
18
+ });
19
+ });
20
+ }
21
+ var Article = function () {
22
+ var _a = useRequest(getArticle, {
23
+ cacheKey: 'staleTime-demo',
24
+ staleTime: 5000
25
+ }),
26
+ data = _a.data,
27
+ loading = _a.loading;
28
+ if (!data && loading) {
29
+ return React.createElement("p", null, "Loading");
30
+ }
31
+ return React.createElement(React.Fragment, null, React.createElement("p", null, "Background loading: ", loading ? 'true' : 'false'), React.createElement("p", null, "Latest request time: ", data === null || data === void 0 ? void 0 : data.time), React.createElement("p", null, data === null || data === void 0 ? void 0 : data.data));
32
+ };
33
+ export default (function () {
34
+ var _a = useBoolean(),
35
+ state = _a.state,
36
+ toggle = _a.toggle;
37
+ return React.createElement("div", null, React.createElement("button", {
38
+ type: "button",
39
+ onClick: function () {
40
+ return toggle();
41
+ }
42
+ }, "show/hidden"), state && React.createElement(Article, null));
43
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,41 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import useRequest from '../../../../index';
3
+ import Mock from 'mockjs';
4
+ import React from 'react';
5
+ function getEmail(search) {
6
+ return __awaiter(this, void 0, void 0, function () {
7
+ return __generator(this, function (_a) {
8
+ console.log('debounce getEmail', search);
9
+ return [2 /*return*/, new Promise(function (resolve) {
10
+ setTimeout(function () {
11
+ resolve(Mock.mock({
12
+ 'data|5': ['@email']
13
+ }).data);
14
+ }, 300);
15
+ })];
16
+ });
17
+ });
18
+ }
19
+ export default (function () {
20
+ var _a = useRequest(getEmail, {
21
+ debounceWait: 1000,
22
+ manual: true
23
+ }),
24
+ data = _a.data,
25
+ loading = _a.loading,
26
+ run = _a.run;
27
+ return React.createElement("div", null, React.createElement("input", {
28
+ placeholder: "Search Emails",
29
+ onChange: function (e) {
30
+ return run(e.target.value);
31
+ }
32
+ }), loading ? React.createElement("p", null, "loading") : React.createElement("ul", {
33
+ style: {
34
+ marginTop: 8
35
+ }
36
+ }, data === null || data === void 0 ? void 0 : data.map(function (i) {
37
+ return React.createElement("li", {
38
+ key: i
39
+ }, i);
40
+ })));
41
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,23 @@
1
+ import useRequest from '../../../../index';
2
+ import Mock from 'mockjs';
3
+ import React from 'react';
4
+ function getUsername() {
5
+ return new Promise(function (resolve) {
6
+ setTimeout(function () {
7
+ resolve(Mock.mock('@name'));
8
+ }, 1000);
9
+ });
10
+ }
11
+ export default (function () {
12
+ var _a = useRequest(getUsername),
13
+ data = _a.data,
14
+ error = _a.error,
15
+ loading = _a.loading;
16
+ if (error) {
17
+ return React.createElement("div", null, error.message);
18
+ }
19
+ if (loading) {
20
+ return React.createElement("div", null, "loading...");
21
+ }
22
+ return React.createElement("div", null, "Username: ", data);
23
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * title: 修改用户名
3
+ * desc: 在这个例子中,手动请求修改用户名。
4
+ */
5
+ import React from 'react';
6
+ declare const _default: () => React.JSX.Element;
7
+ export default _default;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * title: 修改用户名
3
+ * desc: 在这个例子中,手动请求修改用户名。
4
+ */
5
+ import { __read } from "tslib";
6
+ import { message } from 'antd';
7
+ import React, { useState } from 'react';
8
+ import useRequest from '../../../../index';
9
+ function changeUsername(username) {
10
+ return new Promise(function (resolve) {
11
+ setTimeout(function () {
12
+ resolve({
13
+ success: true
14
+ });
15
+ }, 1000);
16
+ });
17
+ }
18
+ export default (function () {
19
+ var _a = __read(useState(''), 2),
20
+ state = _a[0],
21
+ setState = _a[1];
22
+ var _b = useRequest(changeUsername, {
23
+ manual: true,
24
+ onSuccess: function (result, params) {
25
+ if (result.success) {
26
+ setState('');
27
+ message.success("The username was changed to \"".concat(params[0], "\" !"));
28
+ }
29
+ }
30
+ }),
31
+ loading = _b.loading,
32
+ run = _b.run;
33
+ return React.createElement("div", null, React.createElement("input", {
34
+ onChange: function (e) {
35
+ return setState(e.target.value);
36
+ },
37
+ value: state,
38
+ placeholder: "Please enter username",
39
+ style: {
40
+ width: 240,
41
+ marginRight: 16
42
+ }
43
+ }), React.createElement("button", {
44
+ disabled: loading,
45
+ type: "button",
46
+ onClick: function () {
47
+ return run(state);
48
+ }
49
+ }, loading ? 'Loading' : 'Edit'));
50
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,29 @@
1
+ import useRequest from '../../../../index';
2
+ import React from 'react';
3
+ import Mock from 'mockjs';
4
+ function getUsername() {
5
+ return new Promise(function (resolve) {
6
+ setTimeout(function () {
7
+ resolve(Mock.mock('@name'));
8
+ }, 200);
9
+ });
10
+ }
11
+ export default (function () {
12
+ var action = useRequest(getUsername);
13
+ var withLoadingDelayAction = useRequest(getUsername, {
14
+ loadingDelay: 300
15
+ });
16
+ var trigger = function () {
17
+ action.run();
18
+ withLoadingDelayAction.run();
19
+ };
20
+ return React.createElement("div", null, React.createElement("button", {
21
+ type: "button",
22
+ onClick: trigger
23
+ }, "run"), React.createElement("div", {
24
+ style: {
25
+ margin: '24px 0',
26
+ width: 300
27
+ }
28
+ }, "Username: ", action.loading ? 'Loading...' : action.data), React.createElement("div", null, "Username: ", withLoadingDelayAction.loading ? 'Loading...' : withLoadingDelayAction.data));
29
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,31 @@
1
+ import useRequest from '../../../../index';
2
+ import React from 'react';
3
+ import Mock from 'mockjs';
4
+ function getUsername() {
5
+ console.log('polling getUsername');
6
+ return new Promise(function (resolve) {
7
+ setTimeout(function () {
8
+ resolve(Mock.mock('@name'));
9
+ }, 1000);
10
+ });
11
+ }
12
+ export default (function () {
13
+ var _a = useRequest(getUsername, {
14
+ pollingInterval: 1000,
15
+ pollingWhenHidden: false
16
+ }),
17
+ data = _a.data,
18
+ loading = _a.loading,
19
+ run = _a.run,
20
+ cancel = _a.cancel;
21
+ return React.createElement(React.Fragment, null, React.createElement("p", null, "Username: ", loading ? 'Loading' : data), React.createElement("button", {
22
+ type: "button",
23
+ onClick: run
24
+ }, "start"), React.createElement("button", {
25
+ type: "button",
26
+ onClick: cancel,
27
+ style: {
28
+ marginLeft: 16
29
+ }
30
+ }, "stop"));
31
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,37 @@
1
+ import useRequest from '../../../../index';
2
+ import React from 'react';
3
+ import Mock from 'mockjs';
4
+ import { message } from 'antd';
5
+ function getUsername() {
6
+ console.log('polling getUsername Error');
7
+ return new Promise(function (resolve, reject) {
8
+ setTimeout(function () {
9
+ reject(new Error(Mock.mock('@name')));
10
+ }, 1000);
11
+ });
12
+ }
13
+ export default (function () {
14
+ var _a = useRequest(getUsername, {
15
+ pollingInterval: 1000,
16
+ pollingWhenHidden: false,
17
+ pollingErrorRetryCount: 3,
18
+ manual: true,
19
+ onError: function (error) {
20
+ message.error(error.message);
21
+ }
22
+ }),
23
+ data = _a.data,
24
+ loading = _a.loading,
25
+ run = _a.run,
26
+ cancel = _a.cancel;
27
+ return React.createElement(React.Fragment, null, React.createElement("p", null, "Username: ", loading ? 'Loading' : data), React.createElement("button", {
28
+ type: "button",
29
+ onClick: run
30
+ }, "start"), React.createElement("button", {
31
+ type: "button",
32
+ onClick: cancel,
33
+ style: {
34
+ marginLeft: 16
35
+ }
36
+ }, "stop"));
37
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,36 @@
1
+ import { __read } from "tslib";
2
+ import useRequest from '../../../../index';
3
+ import useToggle from '../../../../../useToggle';
4
+ import Mock from 'mockjs';
5
+ import React from 'react';
6
+ function getUsername() {
7
+ return new Promise(function (resolve) {
8
+ setTimeout(function () {
9
+ resolve(Mock.mock('@name'));
10
+ }, 1000);
11
+ });
12
+ }
13
+ export default (function () {
14
+ var _a = __read(useToggle(false), 2),
15
+ ready = _a[0],
16
+ toggle = _a[1].toggle;
17
+ var _b = useRequest(getUsername, {
18
+ ready: ready,
19
+ manual: true
20
+ }),
21
+ data = _b.data,
22
+ loading = _b.loading,
23
+ run = _b.run;
24
+ return React.createElement(React.Fragment, null, React.createElement("p", null, "Ready: ", JSON.stringify(ready), React.createElement("button", {
25
+ onClick: toggle,
26
+ style: {
27
+ marginLeft: 16
28
+ }
29
+ }, "Toggle Ready")), React.createElement("p", null, "Username: ", loading ? 'Loading' : data, React.createElement("button", {
30
+ type: "button",
31
+ onClick: run,
32
+ style: {
33
+ marginLeft: 16
34
+ }
35
+ }, "run")));
36
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import { __read } from "tslib";
2
+ import useRequest from '../../../../index';
3
+ import useToggle from '../../../../../useToggle';
4
+ import Mock from 'mockjs';
5
+ import React from 'react';
6
+ function getUsername() {
7
+ return new Promise(function (resolve) {
8
+ setTimeout(function () {
9
+ resolve(Mock.mock('@name'));
10
+ }, 1000);
11
+ });
12
+ }
13
+ export default (function () {
14
+ var _a = __read(useToggle(false), 2),
15
+ ready = _a[0],
16
+ toggle = _a[1].toggle;
17
+ var _b = useRequest(getUsername, {
18
+ ready: ready
19
+ }),
20
+ data = _b.data,
21
+ loading = _b.loading;
22
+ return React.createElement(React.Fragment, null, React.createElement("p", null, "Ready: ", JSON.stringify(ready), React.createElement("button", {
23
+ onClick: toggle,
24
+ style: {
25
+ marginLeft: 16
26
+ }
27
+ }, "Toggle Ready")), React.createElement("p", null, "Username: ", loading ? 'Loading' : data));
28
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,60 @@
1
+ import { __awaiter, __generator, __read } from "tslib";
2
+ import React, { useState } from 'react';
3
+ import useRequest from '../../../../index';
4
+ var userSchool = function (id) {
5
+ switch (id) {
6
+ case '1':
7
+ return 'Tsinghua University';
8
+ case '2':
9
+ return 'Beijing University';
10
+ case '3':
11
+ return 'Zhejiang University';
12
+ default:
13
+ return '';
14
+ }
15
+ };
16
+ function getUserSchool(userId) {
17
+ return __awaiter(this, void 0, void 0, function () {
18
+ return __generator(this, function (_a) {
19
+ return [2 /*return*/, new Promise(function (resolve) {
20
+ setTimeout(function () {
21
+ resolve(userSchool(userId));
22
+ }, 1000);
23
+ })];
24
+ });
25
+ });
26
+ }
27
+ export default (function () {
28
+ var _a = __read(useState('1'), 2),
29
+ userId = _a[0],
30
+ setUserId = _a[1];
31
+ var _b = useRequest(function () {
32
+ return getUserSchool(userId);
33
+ }, {
34
+ refreshDeps: [userId],
35
+ defaultParams: [userId]
36
+ }),
37
+ data = _b.data,
38
+ loading = _b.loading;
39
+ // const { run, loading, data } = useRequest(getUserSchool, {
40
+ // defaultParams: [userId],
41
+ // refreshDeps: [userId],
42
+ // refreshDepsAction: () => run(userId),
43
+ // });
44
+ return React.createElement("div", null, React.createElement("select", {
45
+ onChange: function (e) {
46
+ return setUserId(e.target.value);
47
+ },
48
+ value: userId,
49
+ style: {
50
+ marginBottom: 16,
51
+ width: 120
52
+ }
53
+ }, React.createElement("option", {
54
+ value: "1"
55
+ }, "user 1"), React.createElement("option", {
56
+ value: "2"
57
+ }, "user 2"), React.createElement("option", {
58
+ value: "3"
59
+ }, "user 3")), React.createElement("p", null, "School: ", loading ? 'Loading' : data));
60
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import Mock from 'mockjs';
2
+ import React from 'react';
3
+ import useRequest from '../../../../index';
4
+ function getUsername() {
5
+ return new Promise(function (resolve) {
6
+ setTimeout(function () {
7
+ resolve(Mock.mock('@name'));
8
+ }, 1000);
9
+ });
10
+ }
11
+ export default (function () {
12
+ var _a = useRequest(getUsername, {
13
+ refreshOnWindowFocus: true
14
+ }),
15
+ data = _a.data,
16
+ loading = _a.loading;
17
+ return React.createElement("div", null, "Username: ", loading ? 'Loading' : data);
18
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,42 @@
1
+ import { __read } from "tslib";
2
+ import useRequest from '../../../../index';
3
+ import React, { useState } from 'react';
4
+ import { message } from 'antd';
5
+ function editUsername(username) {
6
+ return new Promise(function (resolve, reject) {
7
+ setTimeout(function () {
8
+ reject(new Error('Failed to modify username'));
9
+ }, 1000);
10
+ });
11
+ }
12
+ export default (function () {
13
+ var _a = __read(useState(''), 2),
14
+ state = _a[0],
15
+ setState = _a[1];
16
+ var _b = useRequest(editUsername, {
17
+ retryCount: 3,
18
+ manual: true,
19
+ onError: function (error) {
20
+ message.error(error.message);
21
+ }
22
+ }),
23
+ loading = _b.loading,
24
+ run = _b.run;
25
+ return React.createElement("div", null, React.createElement("input", {
26
+ onChange: function (e) {
27
+ return setState(e.target.value);
28
+ },
29
+ value: state,
30
+ placeholder: "Please enter username",
31
+ style: {
32
+ width: 240,
33
+ marginRight: 16
34
+ }
35
+ }), React.createElement("button", {
36
+ disabled: loading,
37
+ type: "button",
38
+ onClick: function () {
39
+ return run(state);
40
+ }
41
+ }, loading ? 'Loading' : 'Edit'));
42
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,41 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import useRequest from '../../../../index';
3
+ import Mock from 'mockjs';
4
+ import React from 'react';
5
+ function getEmail(search) {
6
+ return __awaiter(this, void 0, void 0, function () {
7
+ return __generator(this, function (_a) {
8
+ console.log('throttle getEmail', search);
9
+ return [2 /*return*/, new Promise(function (resolve) {
10
+ setTimeout(function () {
11
+ resolve(Mock.mock({
12
+ 'data|5': ['@email']
13
+ }).data);
14
+ }, 300);
15
+ })];
16
+ });
17
+ });
18
+ }
19
+ export default (function () {
20
+ var _a = useRequest(getEmail, {
21
+ throttleWait: 1000,
22
+ manual: true
23
+ }),
24
+ data = _a.data,
25
+ loading = _a.loading,
26
+ run = _a.run;
27
+ return React.createElement("div", null, React.createElement("input", {
28
+ placeholder: "Search Emails",
29
+ onChange: function (e) {
30
+ return run(e.target.value);
31
+ }
32
+ }), loading ? React.createElement("p", null, "loading") : React.createElement("ul", {
33
+ style: {
34
+ marginTop: 8
35
+ }
36
+ }, data === null || data === void 0 ? void 0 : data.map(function (i) {
37
+ return React.createElement("li", {
38
+ key: i
39
+ }, i);
40
+ })));
41
+ });
@@ -0,0 +1,20 @@
1
+ import type { MutableRefObject } from 'react';
2
+ import type { FetchState, Options, PluginReturn, Service, Subscribe } from './types';
3
+ export default class Fetch<TData, TParams extends any[]> {
4
+ serviceRef: MutableRefObject<Service<TData, TParams>>;
5
+ options: Options<TData, TParams>;
6
+ subscribe: Subscribe;
7
+ initState: Partial<FetchState<TData, TParams>>;
8
+ pluginImpls: PluginReturn<TData, TParams>[];
9
+ count: number;
10
+ state: FetchState<TData, TParams>;
11
+ constructor(serviceRef: MutableRefObject<Service<TData, TParams>>, options: Options<TData, TParams>, subscribe: Subscribe, initState?: Partial<FetchState<TData, TParams>>);
12
+ setState(s?: Partial<FetchState<TData, TParams>>): void;
13
+ runPluginHandler(event: keyof PluginReturn<TData, TParams>, ...rest: any[]): any;
14
+ runAsync(...params: TParams): Promise<TData>;
15
+ run(...params: TParams): void;
16
+ cancel(): void;
17
+ refresh(): void;
18
+ refreshAsync(): Promise<TData>;
19
+ mutate(data?: TData | ((oldData?: TData) => TData | undefined)): void;
20
+ }