@selfcommunity/react-core 0.1.7 → 0.1.8-alpha.2

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 (395) hide show
  1. package/lib/{types → cjs}/components/provider/SCAlertMessagesProvider/index.d.ts +0 -0
  2. package/lib/{types → cjs}/components/provider/SCAlertMessagesProvider/index.d.ts.map +0 -0
  3. package/lib/cjs/components/provider/SCAlertMessagesProvider/index.js +37 -35
  4. package/lib/cjs/components/provider/SCAlertMessagesProvider/index.js.map +1 -0
  5. package/lib/{types → cjs}/components/provider/SCContextProvider/index.d.ts +0 -0
  6. package/lib/{types → cjs}/components/provider/SCContextProvider/index.d.ts.map +0 -0
  7. package/lib/cjs/components/provider/SCContextProvider/index.js +74 -81
  8. package/lib/cjs/components/provider/SCContextProvider/index.js.map +1 -0
  9. package/lib/{types → cjs}/components/provider/SCLocaleProvider/index.d.ts +0 -0
  10. package/lib/{types → cjs}/components/provider/SCLocaleProvider/index.d.ts.map +0 -0
  11. package/lib/cjs/components/provider/SCLocaleProvider/index.js +86 -121
  12. package/lib/cjs/components/provider/SCLocaleProvider/index.js.map +1 -0
  13. package/lib/{types → cjs}/components/provider/SCNotificationProvider/index.d.ts +0 -0
  14. package/lib/{types → cjs}/components/provider/SCNotificationProvider/index.d.ts.map +0 -0
  15. package/lib/cjs/components/provider/SCNotificationProvider/index.js +41 -41
  16. package/lib/cjs/components/provider/SCNotificationProvider/index.js.map +1 -0
  17. package/lib/{types → cjs}/components/provider/SCPreferencesProvider/index.d.ts +0 -0
  18. package/lib/{types → cjs}/components/provider/SCPreferencesProvider/index.d.ts.map +0 -0
  19. package/lib/cjs/components/provider/SCPreferencesProvider/index.js +61 -62
  20. package/lib/cjs/components/provider/SCPreferencesProvider/index.js.map +1 -0
  21. package/lib/{types → cjs}/components/provider/SCRoutingProvider/index.d.ts +0 -0
  22. package/lib/{types → cjs}/components/provider/SCRoutingProvider/index.d.ts.map +1 -1
  23. package/lib/cjs/components/provider/SCRoutingProvider/index.js +104 -111
  24. package/lib/cjs/components/provider/SCRoutingProvider/index.js.map +1 -0
  25. package/lib/{types → cjs}/components/provider/SCThemeProvider/index.d.ts +0 -0
  26. package/lib/{types → cjs}/components/provider/SCThemeProvider/index.d.ts.map +0 -0
  27. package/lib/cjs/components/provider/SCThemeProvider/index.js +66 -79
  28. package/lib/cjs/components/provider/SCThemeProvider/index.js.map +1 -0
  29. package/lib/{types → cjs}/components/provider/SCUserProvider/index.d.ts +0 -0
  30. package/lib/{types → cjs}/components/provider/SCUserProvider/index.d.ts.map +0 -0
  31. package/lib/cjs/components/provider/SCUserProvider/index.js +215 -270
  32. package/lib/cjs/components/provider/SCUserProvider/index.js.map +1 -0
  33. package/lib/{types → cjs}/components/router/index.d.ts +0 -0
  34. package/lib/{types → cjs}/components/router/index.d.ts.map +0 -0
  35. package/lib/cjs/components/router/index.js +48 -49
  36. package/lib/cjs/components/router/index.js.map +1 -0
  37. package/lib/{types → cjs}/constants/Actions.d.ts +0 -0
  38. package/lib/{types → cjs}/constants/Actions.d.ts.map +0 -0
  39. package/lib/cjs/constants/Actions.js +3 -4
  40. package/lib/cjs/constants/Actions.js.map +1 -0
  41. package/lib/{types → cjs}/constants/ContextProviders.d.ts +0 -0
  42. package/lib/{types → cjs}/constants/ContextProviders.d.ts.map +0 -0
  43. package/lib/cjs/constants/ContextProviders.js +22 -24
  44. package/lib/cjs/constants/ContextProviders.js.map +1 -0
  45. package/lib/{types → cjs}/constants/Device.d.ts +0 -0
  46. package/lib/{types → cjs}/constants/Device.d.ts.map +0 -0
  47. package/lib/cjs/constants/Device.js +3 -5
  48. package/lib/cjs/constants/Device.js.map +1 -0
  49. package/lib/{types → cjs}/constants/Errors.d.ts +0 -0
  50. package/lib/{types → cjs}/constants/Errors.d.ts.map +0 -0
  51. package/lib/cjs/constants/Errors.js +3 -5
  52. package/lib/cjs/constants/Errors.js.map +1 -0
  53. package/lib/{types → cjs}/constants/Features.d.ts +0 -0
  54. package/lib/{types → cjs}/constants/Features.d.ts.map +0 -0
  55. package/lib/cjs/constants/Features.js +43 -83
  56. package/lib/cjs/constants/Features.js.map +1 -0
  57. package/lib/{types → cjs}/constants/Locale.d.ts +0 -0
  58. package/lib/{types → cjs}/constants/Locale.d.ts.map +0 -0
  59. package/lib/cjs/constants/Locale.js +10 -17
  60. package/lib/cjs/constants/Locale.js.map +1 -0
  61. package/lib/{types → cjs}/constants/Notification.d.ts +0 -0
  62. package/lib/{types → cjs}/constants/Notification.d.ts.map +0 -0
  63. package/lib/cjs/constants/Notification.js +44 -53
  64. package/lib/cjs/constants/Notification.js.map +1 -0
  65. package/lib/{types → cjs}/constants/Notifications.d.ts +0 -0
  66. package/lib/{types → cjs}/constants/Notifications.d.ts.map +0 -0
  67. package/lib/cjs/constants/Notifications.js +11 -25
  68. package/lib/cjs/constants/Notifications.js.map +1 -0
  69. package/lib/cjs/constants/Preferences.d.ts +201 -0
  70. package/lib/cjs/constants/Preferences.d.ts.map +1 -0
  71. package/lib/cjs/constants/Preferences.js +184 -292
  72. package/lib/cjs/constants/Preferences.js.map +1 -0
  73. package/lib/{types → cjs}/constants/Routes.d.ts +0 -0
  74. package/lib/{types → cjs}/constants/Routes.d.ts.map +0 -0
  75. package/lib/cjs/constants/Routes.js +38 -59
  76. package/lib/cjs/constants/Routes.js.map +1 -0
  77. package/lib/{types → cjs}/constants/Session.d.ts +0 -0
  78. package/lib/{types → cjs}/constants/Session.d.ts.map +0 -0
  79. package/lib/cjs/constants/Session.js +12 -21
  80. package/lib/cjs/constants/Session.js.map +1 -0
  81. package/lib/{types → cjs}/constants/Theme.d.ts +0 -0
  82. package/lib/{types → cjs}/constants/Theme.d.ts.map +0 -0
  83. package/lib/cjs/constants/Theme.js +3 -4
  84. package/lib/cjs/constants/Theme.js.map +1 -0
  85. package/lib/cjs/constants/WebSocket.d.ts +4 -0
  86. package/lib/cjs/constants/WebSocket.d.ts.map +1 -0
  87. package/lib/cjs/constants/WebSocket.js +6 -9
  88. package/lib/cjs/constants/WebSocket.js.map +1 -0
  89. package/lib/{types → cjs}/hooks/useSCAuth.d.ts +0 -0
  90. package/lib/{types → cjs}/hooks/useSCAuth.d.ts.map +0 -0
  91. package/lib/cjs/hooks/useSCAuth.js +212 -282
  92. package/lib/cjs/hooks/useSCAuth.js.map +1 -0
  93. package/lib/{types → cjs}/hooks/useSCCachingManager.d.ts +0 -0
  94. package/lib/{types → cjs}/hooks/useSCCachingManager.d.ts.map +0 -0
  95. package/lib/cjs/hooks/useSCCachingManager.js +37 -51
  96. package/lib/cjs/hooks/useSCCachingManager.js.map +1 -0
  97. package/lib/{types → cjs}/hooks/useSCConnectionsManager.d.ts +0 -0
  98. package/lib/{types → cjs}/hooks/useSCConnectionsManager.d.ts.map +0 -0
  99. package/lib/cjs/hooks/useSCConnectionsManager.js +190 -254
  100. package/lib/cjs/hooks/useSCConnectionsManager.js.map +1 -0
  101. package/lib/{types → cjs}/hooks/useSCFetchAddressingTagList.d.ts +0 -0
  102. package/lib/{types → cjs}/hooks/useSCFetchAddressingTagList.d.ts.map +0 -0
  103. package/lib/cjs/hooks/useSCFetchAddressingTagList.js +64 -55
  104. package/lib/cjs/hooks/useSCFetchAddressingTagList.js.map +1 -0
  105. package/lib/{types → cjs}/hooks/useSCFetchCategories.d.ts +0 -0
  106. package/lib/{types → cjs}/hooks/useSCFetchCategories.d.ts.map +0 -0
  107. package/lib/cjs/hooks/useSCFetchCategories.js +46 -56
  108. package/lib/cjs/hooks/useSCFetchCategories.js.map +1 -0
  109. package/lib/{types → cjs}/hooks/useSCFetchCategory.d.ts +0 -0
  110. package/lib/{types → cjs}/hooks/useSCFetchCategory.d.ts.map +0 -0
  111. package/lib/cjs/hooks/useSCFetchCategory.js +44 -59
  112. package/lib/cjs/hooks/useSCFetchCategory.js.map +1 -0
  113. package/lib/{types → cjs}/hooks/useSCFetchCommentObject.d.ts +0 -0
  114. package/lib/{types → cjs}/hooks/useSCFetchCommentObject.d.ts.map +0 -0
  115. package/lib/cjs/hooks/useSCFetchCommentObject.js +44 -59
  116. package/lib/cjs/hooks/useSCFetchCommentObject.js.map +1 -0
  117. package/lib/{types → cjs}/hooks/useSCFetchCommentObjects.d.ts +0 -0
  118. package/lib/{types → cjs}/hooks/useSCFetchCommentObjects.d.ts.map +0 -0
  119. package/lib/cjs/hooks/useSCFetchCommentObjects.js +157 -254
  120. package/lib/cjs/hooks/useSCFetchCommentObjects.js.map +1 -0
  121. package/lib/{types → cjs}/hooks/useSCFetchCustomAdv.d.ts +0 -0
  122. package/lib/{types → cjs}/hooks/useSCFetchCustomAdv.d.ts.map +0 -0
  123. package/lib/cjs/hooks/useSCFetchCustomAdv.js +57 -75
  124. package/lib/cjs/hooks/useSCFetchCustomAdv.js.map +1 -0
  125. package/lib/{types → cjs}/hooks/useSCFetchFeedObject.d.ts +0 -0
  126. package/lib/{types → cjs}/hooks/useSCFetchFeedObject.d.ts.map +0 -0
  127. package/lib/cjs/hooks/useSCFetchFeedObject.js +49 -69
  128. package/lib/cjs/hooks/useSCFetchFeedObject.js.map +1 -0
  129. package/lib/{types → cjs}/hooks/useSCFetchIncubator.d.ts +0 -0
  130. package/lib/{types → cjs}/hooks/useSCFetchIncubator.d.ts.map +0 -0
  131. package/lib/cjs/hooks/useSCFetchIncubator.js +44 -59
  132. package/lib/cjs/hooks/useSCFetchIncubator.js.map +1 -0
  133. package/lib/{types → cjs}/hooks/useSCFetchTag.d.ts +0 -0
  134. package/lib/{types → cjs}/hooks/useSCFetchTag.d.ts.map +0 -0
  135. package/lib/cjs/hooks/useSCFetchTag.js +44 -59
  136. package/lib/cjs/hooks/useSCFetchTag.js.map +1 -0
  137. package/lib/{types → cjs}/hooks/useSCFetchUser.d.ts +0 -0
  138. package/lib/{types → cjs}/hooks/useSCFetchUser.d.ts.map +1 -1
  139. package/lib/cjs/hooks/useSCFetchUser.js +47 -59
  140. package/lib/cjs/hooks/useSCFetchUser.js.map +1 -0
  141. package/lib/{types → cjs}/hooks/useSCFollowedCategoriesManager.d.ts +0 -0
  142. package/lib/{types → cjs}/hooks/useSCFollowedCategoriesManager.d.ts.map +0 -0
  143. package/lib/cjs/hooks/useSCFollowedCategoriesManager.js +105 -147
  144. package/lib/cjs/hooks/useSCFollowedCategoriesManager.js.map +1 -0
  145. package/lib/{types → cjs}/hooks/useSCFollowersManager.d.ts +0 -0
  146. package/lib/{types → cjs}/hooks/useSCFollowersManager.d.ts.map +0 -0
  147. package/lib/cjs/hooks/useSCFollowersManager.js +154 -204
  148. package/lib/cjs/hooks/useSCFollowersManager.js.map +1 -0
  149. package/lib/{types → cjs}/hooks/useSCMediaClick.d.ts +0 -0
  150. package/lib/{types → cjs}/hooks/useSCMediaClick.d.ts.map +0 -0
  151. package/lib/cjs/hooks/useSCMediaClick.js +18 -25
  152. package/lib/cjs/hooks/useSCMediaClick.js.map +1 -0
  153. package/lib/{types → cjs}/hooks/useSCSubscribedIncubatorsManager.d.ts +0 -0
  154. package/lib/{types → cjs}/hooks/useSCSubscribedIncubatorsManager.d.ts.map +0 -0
  155. package/lib/cjs/hooks/useSCSubscribedIncubatorsManager.js +118 -148
  156. package/lib/cjs/hooks/useSCSubscribedIncubatorsManager.js.map +1 -0
  157. package/lib/{types → cjs}/hooks/useSCWebPushMessaging.d.ts +0 -0
  158. package/lib/{types → cjs}/hooks/useSCWebPushMessaging.d.ts.map +0 -0
  159. package/lib/cjs/hooks/useSCWebPushMessaging.js +268 -268
  160. package/lib/cjs/hooks/useSCWebPushMessaging.js.map +1 -0
  161. package/lib/{types → cjs}/hooks/useSCWebSocket.d.ts +0 -0
  162. package/lib/{types → cjs}/hooks/useSCWebSocket.d.ts.map +0 -0
  163. package/lib/cjs/hooks/useSCWebSocket.js +103 -125
  164. package/lib/cjs/hooks/useSCWebSocket.js.map +1 -0
  165. package/lib/{types → cjs}/index.d.ts +0 -0
  166. package/lib/{types → cjs}/index.d.ts.map +0 -0
  167. package/lib/cjs/index.js +131 -144
  168. package/lib/cjs/index.js.map +1 -0
  169. package/lib/cjs/themes/theme.d.ts +9 -0
  170. package/lib/cjs/themes/theme.d.ts.map +1 -0
  171. package/lib/cjs/themes/theme.js +132 -143
  172. package/lib/cjs/themes/theme.js.map +1 -0
  173. package/lib/{types → cjs}/types/context.d.ts +0 -0
  174. package/lib/{types → cjs}/types/context.d.ts.map +0 -0
  175. package/lib/cjs/types/context.js +2 -2
  176. package/lib/cjs/types/context.js.map +1 -0
  177. package/lib/{types → cjs}/types/index.d.ts +0 -0
  178. package/lib/{types → cjs}/types/index.d.ts.map +0 -0
  179. package/lib/cjs/types/index.js +2 -21
  180. package/lib/cjs/types/index.js.map +1 -0
  181. package/lib/{types → cjs}/utils/errors.d.ts +0 -0
  182. package/lib/{types → cjs}/utils/errors.d.ts.map +0 -0
  183. package/lib/cjs/utils/errors.js +138 -149
  184. package/lib/cjs/utils/errors.js.map +1 -0
  185. package/lib/{types → cjs}/utils/locale.d.ts +0 -0
  186. package/lib/{types → cjs}/utils/locale.d.ts.map +0 -0
  187. package/lib/cjs/utils/locale.js +32 -48
  188. package/lib/cjs/utils/locale.js.map +1 -0
  189. package/lib/{types → cjs}/utils/user.d.ts +0 -0
  190. package/lib/{types → cjs}/utils/user.d.ts.map +0 -0
  191. package/lib/cjs/utils/user.js +25 -40
  192. package/lib/cjs/utils/user.js.map +1 -0
  193. package/lib/{types → cjs}/utils/validator.d.ts +0 -0
  194. package/lib/{types → cjs}/utils/validator.d.ts.map +0 -0
  195. package/lib/cjs/utils/validator.js +386 -576
  196. package/lib/cjs/utils/validator.js.map +1 -0
  197. package/lib/esm/components/provider/SCAlertMessagesProvider/index.d.ts +37 -0
  198. package/lib/esm/components/provider/SCAlertMessagesProvider/index.d.ts.map +1 -0
  199. package/lib/esm/components/provider/SCAlertMessagesProvider/index.js +11 -37
  200. package/lib/esm/components/provider/SCAlertMessagesProvider/index.js.map +1 -0
  201. package/lib/esm/components/provider/SCContextProvider/index.d.ts +35 -0
  202. package/lib/esm/components/provider/SCContextProvider/index.d.ts.map +1 -0
  203. package/lib/esm/components/provider/SCContextProvider/index.js +48 -83
  204. package/lib/esm/components/provider/SCContextProvider/index.js.map +1 -0
  205. package/lib/esm/components/provider/SCLocaleProvider/index.d.ts +42 -0
  206. package/lib/esm/components/provider/SCLocaleProvider/index.d.ts.map +1 -0
  207. package/lib/esm/components/provider/SCLocaleProvider/index.js +59 -123
  208. package/lib/esm/components/provider/SCLocaleProvider/index.js.map +1 -0
  209. package/lib/esm/components/provider/SCNotificationProvider/index.d.ts +37 -0
  210. package/lib/esm/components/provider/SCNotificationProvider/index.d.ts.map +1 -0
  211. package/lib/esm/components/provider/SCNotificationProvider/index.js +12 -43
  212. package/lib/esm/components/provider/SCNotificationProvider/index.js.map +1 -0
  213. package/lib/esm/components/provider/SCPreferencesProvider/index.d.ts +38 -0
  214. package/lib/esm/components/provider/SCPreferencesProvider/index.d.ts.map +1 -0
  215. package/lib/esm/components/provider/SCPreferencesProvider/index.js +35 -64
  216. package/lib/esm/components/provider/SCPreferencesProvider/index.js.map +1 -0
  217. package/lib/esm/components/provider/SCRoutingProvider/index.d.ts +39 -0
  218. package/lib/esm/components/provider/SCRoutingProvider/index.d.ts.map +1 -0
  219. package/lib/esm/components/provider/SCRoutingProvider/index.js +78 -113
  220. package/lib/esm/components/provider/SCRoutingProvider/index.js.map +1 -0
  221. package/lib/esm/components/provider/SCThemeProvider/index.d.ts +49 -0
  222. package/lib/esm/components/provider/SCThemeProvider/index.d.ts.map +1 -0
  223. package/lib/esm/components/provider/SCThemeProvider/index.js +36 -81
  224. package/lib/esm/components/provider/SCThemeProvider/index.js.map +1 -0
  225. package/lib/esm/components/provider/SCUserProvider/index.d.ts +38 -0
  226. package/lib/esm/components/provider/SCUserProvider/index.d.ts.map +1 -0
  227. package/lib/esm/components/provider/SCUserProvider/index.js +186 -272
  228. package/lib/esm/components/provider/SCUserProvider/index.js.map +1 -0
  229. package/lib/esm/components/router/index.d.ts +34 -0
  230. package/lib/esm/components/router/index.d.ts.map +1 -0
  231. package/lib/esm/components/router/index.js +24 -50
  232. package/lib/esm/components/router/index.js.map +1 -0
  233. package/lib/esm/constants/Actions.d.ts +2 -0
  234. package/lib/esm/constants/Actions.d.ts.map +1 -0
  235. package/lib/esm/constants/Actions.js +2 -6
  236. package/lib/esm/constants/Actions.js.map +1 -0
  237. package/lib/esm/constants/ContextProviders.d.ts +6 -0
  238. package/lib/esm/constants/ContextProviders.d.ts.map +1 -0
  239. package/lib/esm/constants/ContextProviders.js +18 -26
  240. package/lib/esm/constants/ContextProviders.js.map +1 -0
  241. package/lib/esm/constants/Device.d.ts +6 -0
  242. package/lib/esm/constants/Device.d.ts.map +1 -0
  243. package/lib/esm/constants/Device.js +2 -7
  244. package/lib/esm/constants/Device.js.map +1 -0
  245. package/lib/esm/constants/Errors.d.ts +5 -0
  246. package/lib/esm/constants/Errors.d.ts.map +1 -0
  247. package/lib/esm/constants/Errors.js +2 -7
  248. package/lib/esm/constants/Errors.js.map +1 -0
  249. package/lib/esm/constants/Features.d.ts +41 -0
  250. package/lib/esm/constants/Features.d.ts.map +1 -0
  251. package/lib/esm/constants/Features.js +41 -84
  252. package/lib/esm/constants/Features.js.map +1 -0
  253. package/lib/esm/constants/Locale.d.ts +8 -0
  254. package/lib/esm/constants/Locale.d.ts.map +1 -0
  255. package/lib/esm/constants/Locale.js +8 -18
  256. package/lib/esm/constants/Locale.js.map +1 -0
  257. package/lib/esm/constants/Notification.d.ts +55 -0
  258. package/lib/esm/constants/Notification.d.ts.map +1 -0
  259. package/lib/esm/constants/Notification.js +42 -54
  260. package/lib/esm/constants/Notification.js.map +1 -0
  261. package/lib/esm/constants/Notifications.d.ts +11 -0
  262. package/lib/esm/constants/Notifications.d.ts.map +1 -0
  263. package/lib/esm/constants/Notifications.js +9 -26
  264. package/lib/esm/constants/Notifications.js.map +1 -0
  265. package/lib/esm/constants/Preferences.d.ts +201 -0
  266. package/lib/esm/constants/Preferences.d.ts.map +1 -0
  267. package/lib/esm/constants/Preferences.js +181 -296
  268. package/lib/esm/constants/Preferences.js.map +1 -0
  269. package/lib/esm/constants/Routes.d.ts +29 -0
  270. package/lib/esm/constants/Routes.d.ts.map +1 -0
  271. package/lib/esm/constants/Routes.js +36 -60
  272. package/lib/esm/constants/Routes.js.map +1 -0
  273. package/lib/esm/constants/Session.d.ts +10 -0
  274. package/lib/esm/constants/Session.d.ts.map +1 -0
  275. package/lib/esm/constants/Session.js +10 -22
  276. package/lib/esm/constants/Session.js.map +1 -0
  277. package/lib/esm/constants/Theme.d.ts +2 -0
  278. package/lib/esm/constants/Theme.d.ts.map +1 -0
  279. package/lib/esm/constants/Theme.js +2 -6
  280. package/lib/esm/constants/Theme.js.map +1 -0
  281. package/lib/esm/constants/WebSocket.d.ts +4 -0
  282. package/lib/esm/constants/WebSocket.d.ts.map +1 -0
  283. package/lib/esm/constants/WebSocket.js +4 -10
  284. package/lib/esm/constants/WebSocket.js.map +1 -0
  285. package/lib/esm/hooks/useSCAuth.d.ts +56 -0
  286. package/lib/esm/hooks/useSCAuth.d.ts.map +1 -0
  287. package/lib/esm/hooks/useSCAuth.js +185 -285
  288. package/lib/esm/hooks/useSCAuth.js.map +1 -0
  289. package/lib/esm/hooks/useSCCachingManager.d.ts +19 -0
  290. package/lib/esm/hooks/useSCCachingManager.d.ts.map +1 -0
  291. package/lib/esm/hooks/useSCCachingManager.js +36 -53
  292. package/lib/esm/hooks/useSCCachingManager.js.map +1 -0
  293. package/lib/esm/hooks/useSCConnectionsManager.d.ts +40 -0
  294. package/lib/esm/hooks/useSCConnectionsManager.d.ts.map +1 -0
  295. package/lib/esm/hooks/useSCConnectionsManager.js +186 -256
  296. package/lib/esm/hooks/useSCConnectionsManager.js.map +1 -0
  297. package/lib/esm/hooks/useSCFetchAddressingTagList.d.ts +14 -0
  298. package/lib/esm/hooks/useSCFetchAddressingTagList.d.ts.map +1 -0
  299. package/lib/esm/hooks/useSCFetchAddressingTagList.js +39 -56
  300. package/lib/esm/hooks/useSCFetchAddressingTagList.js.map +1 -0
  301. package/lib/esm/hooks/useSCFetchCategories.d.ts +17 -0
  302. package/lib/esm/hooks/useSCFetchCategories.d.ts.map +1 -0
  303. package/lib/esm/hooks/useSCFetchCategories.js +45 -57
  304. package/lib/esm/hooks/useSCFetchCategories.js.map +1 -0
  305. package/lib/esm/hooks/useSCFetchCategory.d.ts +19 -0
  306. package/lib/esm/hooks/useSCFetchCategory.d.ts.map +1 -0
  307. package/lib/esm/hooks/useSCFetchCategory.js +42 -60
  308. package/lib/esm/hooks/useSCFetchCategory.js.map +1 -0
  309. package/lib/esm/hooks/useSCFetchCommentObject.d.ts +19 -0
  310. package/lib/esm/hooks/useSCFetchCommentObject.d.ts.map +1 -0
  311. package/lib/esm/hooks/useSCFetchCommentObject.js +42 -60
  312. package/lib/esm/hooks/useSCFetchCommentObject.js.map +1 -0
  313. package/lib/esm/hooks/useSCFetchCommentObjects.d.ts +53 -0
  314. package/lib/esm/hooks/useSCFetchCommentObjects.d.ts.map +1 -0
  315. package/lib/esm/hooks/useSCFetchCommentObjects.js +153 -257
  316. package/lib/esm/hooks/useSCFetchCommentObjects.js.map +1 -0
  317. package/lib/esm/hooks/useSCFetchCustomAdv.d.ts +19 -0
  318. package/lib/esm/hooks/useSCFetchCustomAdv.d.ts.map +1 -0
  319. package/lib/esm/hooks/useSCFetchCustomAdv.js +55 -76
  320. package/lib/esm/hooks/useSCFetchCustomAdv.js.map +1 -0
  321. package/lib/esm/hooks/useSCFetchFeedObject.d.ts +21 -0
  322. package/lib/esm/hooks/useSCFetchFeedObject.d.ts.map +1 -0
  323. package/lib/esm/hooks/useSCFetchFeedObject.js +47 -70
  324. package/lib/esm/hooks/useSCFetchFeedObject.js.map +1 -0
  325. package/lib/esm/hooks/useSCFetchIncubator.d.ts +19 -0
  326. package/lib/esm/hooks/useSCFetchIncubator.d.ts.map +1 -0
  327. package/lib/esm/hooks/useSCFetchIncubator.js +42 -60
  328. package/lib/esm/hooks/useSCFetchIncubator.js.map +1 -0
  329. package/lib/esm/hooks/useSCFetchTag.d.ts +19 -0
  330. package/lib/esm/hooks/useSCFetchTag.d.ts.map +1 -0
  331. package/lib/esm/hooks/useSCFetchTag.js +42 -60
  332. package/lib/esm/hooks/useSCFetchTag.js.map +1 -0
  333. package/lib/esm/hooks/useSCFetchUser.d.ts +19 -0
  334. package/lib/esm/hooks/useSCFetchUser.d.ts.map +1 -0
  335. package/lib/esm/hooks/useSCFetchUser.js +45 -60
  336. package/lib/esm/hooks/useSCFetchUser.js.map +1 -0
  337. package/lib/esm/hooks/useSCFollowedCategoriesManager.d.ts +37 -0
  338. package/lib/esm/hooks/useSCFollowedCategoriesManager.d.ts.map +1 -0
  339. package/lib/esm/hooks/useSCFollowedCategoriesManager.js +101 -149
  340. package/lib/esm/hooks/useSCFollowedCategoriesManager.js.map +1 -0
  341. package/lib/esm/hooks/useSCFollowersManager.d.ts +37 -0
  342. package/lib/esm/hooks/useSCFollowersManager.d.ts.map +1 -0
  343. package/lib/esm/hooks/useSCFollowersManager.js +150 -206
  344. package/lib/esm/hooks/useSCFollowersManager.js.map +1 -0
  345. package/lib/esm/hooks/useSCMediaClick.d.ts +4 -0
  346. package/lib/esm/hooks/useSCMediaClick.d.ts.map +1 -0
  347. package/lib/esm/hooks/useSCMediaClick.js +17 -27
  348. package/lib/esm/hooks/useSCMediaClick.js.map +1 -0
  349. package/lib/esm/hooks/useSCSubscribedIncubatorsManager.d.ts +27 -0
  350. package/lib/esm/hooks/useSCSubscribedIncubatorsManager.d.ts.map +1 -0
  351. package/lib/esm/hooks/useSCSubscribedIncubatorsManager.js +114 -150
  352. package/lib/esm/hooks/useSCSubscribedIncubatorsManager.js.map +1 -0
  353. package/lib/esm/hooks/useSCWebPushMessaging.d.ts +9 -0
  354. package/lib/esm/hooks/useSCWebPushMessaging.d.ts.map +1 -0
  355. package/lib/esm/hooks/useSCWebPushMessaging.js +244 -270
  356. package/lib/esm/hooks/useSCWebPushMessaging.js.map +1 -0
  357. package/lib/esm/hooks/useSCWebSocket.d.ts +12 -0
  358. package/lib/esm/hooks/useSCWebSocket.d.ts.map +1 -0
  359. package/lib/esm/hooks/useSCWebSocket.js +99 -127
  360. package/lib/esm/hooks/useSCWebSocket.js.map +1 -0
  361. package/lib/esm/index.d.ts +73 -0
  362. package/lib/esm/index.d.ts.map +1 -0
  363. package/lib/esm/index.js +69 -151
  364. package/lib/esm/index.js.map +1 -0
  365. package/lib/esm/themes/theme.d.ts +9 -0
  366. package/lib/esm/themes/theme.d.ts.map +1 -0
  367. package/lib/esm/themes/theme.js +128 -144
  368. package/lib/esm/themes/theme.js.map +1 -0
  369. package/lib/esm/types/context.d.ts +428 -0
  370. package/lib/esm/types/context.d.ts.map +1 -0
  371. package/lib/esm/types/context.js +2 -3
  372. package/lib/esm/types/context.js.map +1 -0
  373. package/lib/esm/types/index.d.ts +3 -0
  374. package/lib/esm/types/index.d.ts.map +1 -0
  375. package/lib/esm/types/index.js +2 -22
  376. package/lib/esm/types/index.js.map +1 -0
  377. package/lib/esm/utils/errors.d.ts +98 -0
  378. package/lib/esm/utils/errors.d.ts.map +1 -0
  379. package/lib/esm/utils/errors.js +114 -155
  380. package/lib/esm/utils/errors.js.map +1 -0
  381. package/lib/esm/utils/locale.d.ts +10 -0
  382. package/lib/esm/utils/locale.d.ts.map +1 -0
  383. package/lib/esm/utils/locale.js +27 -50
  384. package/lib/esm/utils/locale.js.map +1 -0
  385. package/lib/esm/utils/user.d.ts +41 -0
  386. package/lib/esm/utils/user.d.ts.map +1 -0
  387. package/lib/esm/utils/user.js +23 -46
  388. package/lib/esm/utils/user.js.map +1 -0
  389. package/lib/esm/utils/validator.d.ts +239 -0
  390. package/lib/esm/utils/validator.d.ts.map +1 -0
  391. package/lib/esm/utils/validator.js +352 -588
  392. package/lib/esm/utils/validator.js.map +1 -0
  393. package/lib/umd/react-core.js +1 -1
  394. package/package.json +9 -11
  395. package/lib/types/tsconfig.build.tsbuildinfo +0 -1
@@ -1,27 +1,47 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.default = useAuth;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
5
38
  exports.userActionTypes = void 0;
6
-
7
- var _apiServices = require("@selfcommunity/api-services");
8
-
9
- var _react = require("react");
10
-
11
- var Session = _interopRequireWildcard(require("../constants/Session"));
12
-
13
- var _useDeepCompareEffect = _interopRequireDefault(require("use-deep-compare-effect"));
14
-
15
- var _utils = require("@selfcommunity/utils");
16
-
17
- var _Errors = require("../constants/Errors");
18
-
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
-
21
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
-
23
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
-
39
+ const api_services_1 = require("@selfcommunity/api-services");
40
+ const react_1 = require("react");
41
+ const Session = __importStar(require("../constants/Session"));
42
+ const use_deep_compare_effect_1 = __importDefault(require("use-deep-compare-effect"));
43
+ const utils_1 = require("@selfcommunity/utils");
44
+ const Errors_1 = require("../constants/Errors");
25
45
  /**
26
46
  * @hidden
27
47
  * We have complex state logic that involves multiple sub-values,
@@ -29,15 +49,15 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
29
49
  * Define all possible auth action types label
30
50
  * Use this to export actions and dispatch an action
31
51
  */
32
- const userActionTypes = {
33
- LOGIN_LOADING: '_login_loading',
34
- LOGIN_SUCCESS: '_login_success',
35
- LOGIN_FAILURE: '_login_failure',
36
- LOGOUT: '_logout',
37
- REFRESH_TOKEN_SUCCESS: '_refresh_token_success',
38
- REFRESH_TOKEN_FAILURE: '_invalid_token_failure',
39
- REFRESH_SESSION: '_refresh_token',
40
- UPDATE_USER: '_change_user'
52
+ exports.userActionTypes = {
53
+ LOGIN_LOADING: '_login_loading',
54
+ LOGIN_SUCCESS: '_login_success',
55
+ LOGIN_FAILURE: '_login_failure',
56
+ LOGOUT: '_logout',
57
+ REFRESH_TOKEN_SUCCESS: '_refresh_token_success',
58
+ REFRESH_TOKEN_FAILURE: '_invalid_token_failure',
59
+ REFRESH_SESSION: '_refresh_token',
60
+ UPDATE_USER: '_change_user',
41
61
  };
42
62
  /**
43
63
  * userReducer:
@@ -46,114 +66,51 @@ const userActionTypes = {
46
66
  * @param state
47
67
  * @param action
48
68
  */
49
-
50
- exports.userActionTypes = userActionTypes;
51
-
52
69
  function userReducer(state, action) {
53
- switch (action.type) {
54
- case userActionTypes.LOGIN_LOADING:
55
- return {
56
- user: null,
57
- session: Object.assign({}, state.session),
58
- error: null,
59
- loading: true
60
- };
61
-
62
- case userActionTypes.LOGIN_SUCCESS:
63
- return {
64
- user: action.payload.user,
65
- error: null,
66
- session: Object.assign({}, state.session),
67
- loading: false
68
- };
69
-
70
- case userActionTypes.LOGIN_FAILURE:
71
- return {
72
- user: null,
73
- session: Object.assign({}, state.session),
74
- error: action.payload.error,
75
- loading: false
76
- };
77
-
78
- case userActionTypes.REFRESH_TOKEN_SUCCESS:
79
- const newAuthToken = Object.assign({}, state.session.authToken, Object.assign({}, state.session.authToken, {
80
- accessToken: action.payload.token.accessToken
81
- }, action.payload.token.refreshToken ? {
82
- refreshToken: action.payload.token.refreshToken
83
- } : {}, action.payload.token.expiresIn ? {
84
- expiresIn: action.payload.token.expiresIn
85
- } : {}));
86
- const newSession = Object.assign({}, state.session, {
87
- authToken: newAuthToken
88
- }); // Update current client config
89
-
90
- _apiServices.http.setAuthorizeToken(newAuthToken.accessToken);
91
-
92
- return Object.assign({}, state, {
93
- session: newSession,
94
- error: null,
95
- loading: false
96
- });
97
-
98
- case userActionTypes.REFRESH_TOKEN_FAILURE:
99
- return {
100
- user: null,
101
- session: Object.assign({}, state.session),
102
- loading: null,
103
- error: action.payload.error
104
- };
105
-
106
- case userActionTypes.LOGOUT:
107
- return {
108
- user: null,
109
- session: null,
110
- error: null,
111
- loading: null
112
- };
113
-
114
- case userActionTypes.UPDATE_USER:
115
- return Object.assign({}, state, {
116
- user: Object.assign({}, state.user, action.payload)
117
- });
118
-
119
- case userActionTypes.REFRESH_SESSION:
120
- return Object.assign({}, state, action.payload.conf);
121
-
122
- default:
123
- throw new Error(`Unhandled type: ${action.type}`);
124
- }
70
+ switch (action.type) {
71
+ case exports.userActionTypes.LOGIN_LOADING:
72
+ return { user: null, session: Object.assign({}, state.session), error: null, loading: true };
73
+ case exports.userActionTypes.LOGIN_SUCCESS:
74
+ return { user: action.payload.user, error: null, session: Object.assign({}, state.session), loading: false };
75
+ case exports.userActionTypes.LOGIN_FAILURE:
76
+ return { user: null, session: Object.assign({}, state.session), error: action.payload.error, loading: false };
77
+ case exports.userActionTypes.REFRESH_TOKEN_SUCCESS:
78
+ const newAuthToken = Object.assign({}, state.session.authToken, Object.assign(Object.assign(Object.assign(Object.assign({}, state.session.authToken), { accessToken: action.payload.token.accessToken }), (action.payload.token.refreshToken ? { refreshToken: action.payload.token.refreshToken } : {})), (action.payload.token.expiresIn ? { expiresIn: action.payload.token.expiresIn } : {})));
79
+ const newSession = Object.assign({}, state.session, {
80
+ authToken: newAuthToken,
81
+ });
82
+ // Update current client config
83
+ api_services_1.http.setAuthorizeToken(newAuthToken.accessToken);
84
+ return Object.assign(Object.assign({}, state), { session: newSession, error: null, loading: false });
85
+ case exports.userActionTypes.REFRESH_TOKEN_FAILURE:
86
+ return { user: null, session: Object.assign({}, state.session), loading: null, error: action.payload.error };
87
+ case exports.userActionTypes.LOGOUT:
88
+ return { user: null, session: null, error: null, loading: null };
89
+ case exports.userActionTypes.UPDATE_USER:
90
+ return Object.assign(Object.assign({}, state), { user: Object.assign(Object.assign({}, state.user), action.payload) });
91
+ case exports.userActionTypes.REFRESH_SESSION:
92
+ return Object.assign(Object.assign({}, state), action.payload.conf);
93
+ default:
94
+ throw new Error(`Unhandled type: ${action.type}`);
95
+ }
125
96
  }
126
97
  /**
127
98
  * Define initial context auth session
128
99
  * @param session
129
100
  */
130
-
131
-
132
101
  function stateInitializer(session) {
133
- let _session = Object.assign({}, session);
134
-
135
- let _isLoading = false;
136
- /**
137
- * Set http authorization if session type is OAuth or JWT
138
- * Configure http object (Authorization, etc...)
139
- */
140
-
141
- if ([Session.OAUTH_SESSION, Session.JWT_SESSION].includes(_session.type) && _session.authToken && _session.authToken.accessToken) {
142
- _apiServices.http.setAuthorizeToken(_session.authToken.accessToken);
143
-
144
- _isLoading = true;
145
- }
146
-
147
- _apiServices.http.setSupportWithCredentials(_session.type === Session.COOKIE_SESSION);
148
-
149
- return {
150
- user: null,
151
- session: _session,
152
- error: null,
153
- loading: _isLoading,
154
- isSessionRefreshing: false,
155
- refreshSession: false
156
- };
102
+ let _session = Object.assign({}, session);
103
+ let _isLoading = false;
104
+ /**
105
+ * Set http authorization if session type is OAuth or JWT
106
+ * Configure http object (Authorization, etc...)
107
+ */
108
+ if ([Session.OAUTH_SESSION, Session.JWT_SESSION].includes(_session.type) && _session.authToken && _session.authToken.accessToken) {
109
+ api_services_1.http.setAuthorizeToken(_session.authToken.accessToken);
110
+ _isLoading = true;
111
+ }
112
+ api_services_1.http.setSupportWithCredentials(_session.type === Session.COOKIE_SESSION);
113
+ return { user: null, session: _session, error: null, loading: _isLoading, isSessionRefreshing: false, refreshSession: false };
157
114
  }
158
115
  /**
159
116
  :::info
@@ -183,158 +140,131 @@ const scRoutingContext: SCRoutingContextType = useSCRouting();
183
140
  :::
184
141
  * @param initialSession
185
142
  */
186
-
187
-
188
143
  function useAuth(initialSession) {
189
- const [state, dispatch] = (0, _react.useReducer)(userReducer, {}, () => stateInitializer(initialSession));
190
- let authInterceptor = (0, _react.useRef)(null);
191
- let isSessionRefreshing = (0, _react.useRef)(false);
192
- let failedQueue = (0, _react.useRef)([]); // CONST
193
-
194
- const userId = state.user ? state.user.id : null;
195
- const accessToken = state.session.authToken && state.session.authToken.accessToken ? state.session.authToken.accessToken : null;
196
- /**
197
- * Refresh session
198
- */
199
-
200
- const refreshSession = (0, _react.useMemo)(() => () => {
201
- const session = state.session;
202
-
203
- if (!isSessionRefreshing.current && session.handleRefreshToken) {
204
- isSessionRefreshing.current = true;
205
- return session.handleRefreshToken(state.session).then(res => {
206
- isSessionRefreshing.current = false;
207
- dispatch({
208
- type: userActionTypes.REFRESH_TOKEN_SUCCESS,
209
- payload: {
210
- token: res
211
- }
212
- });
213
- return Promise.resolve(res);
214
- }).catch(error => {
215
- _utils.Logger.error(_Errors.SCOPE_SC_CORE, 'Unable to refresh user session.');
216
-
217
- if (error.response && error.response.data) {
218
- dispatch({
219
- type: userActionTypes.REFRESH_TOKEN_FAILURE,
220
- payload: {
221
- error: error.response.toString()
222
- }
223
- });
144
+ const [state, dispatch] = (0, react_1.useReducer)(userReducer, {}, () => stateInitializer(initialSession));
145
+ let authInterceptor = (0, react_1.useRef)(null);
146
+ let isSessionRefreshing = (0, react_1.useRef)(false);
147
+ let failedQueue = (0, react_1.useRef)([]);
148
+ // CONST
149
+ const userId = state.user ? state.user.id : null;
150
+ const accessToken = state.session.authToken && state.session.authToken.accessToken ? state.session.authToken.accessToken : null;
151
+ /**
152
+ * Refresh session
153
+ */
154
+ const refreshSession = (0, react_1.useMemo)(() => () => {
155
+ const session = state.session;
156
+ if (!isSessionRefreshing.current && session.handleRefreshToken) {
157
+ isSessionRefreshing.current = true;
158
+ return session
159
+ .handleRefreshToken(state.session)
160
+ .then((res) => {
161
+ isSessionRefreshing.current = false;
162
+ dispatch({ type: exports.userActionTypes.REFRESH_TOKEN_SUCCESS, payload: { token: res } });
163
+ return Promise.resolve(res);
164
+ })
165
+ .catch((error) => {
166
+ utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, 'Unable to refresh user session.');
167
+ if (error.response && error.response.data) {
168
+ dispatch({ type: exports.userActionTypes.REFRESH_TOKEN_FAILURE, payload: { error: error.response.toString() } });
169
+ }
170
+ return Promise.reject(error);
171
+ });
224
172
  }
225
-
226
- return Promise.reject(error);
227
- });
228
- }
229
-
230
- return Promise.reject(new Error('Unable to refresh session. Unauthenticated user.'));
231
- }, [accessToken]);
232
- /**
233
- * Manages multiple request during refresh session
234
- * Save concurrent requests and retry them again
235
- * at the end of refreshing session
236
- */
237
-
238
- const processQueue = (0, _react.useMemo)(() => (error, token = null) => {
239
- failedQueue.current.forEach(prom => {
240
- if (error) {
241
- prom.reject(error);
242
- } else {
243
- prom.resolve(token);
244
- }
245
- });
246
- failedQueue.current = [];
247
- }, [failedQueue.current]);
248
- /**
249
- * Add/remove an http request interceptor.
250
- * When the component unmounted the interceptor will be detached
251
- * The interceptor check if the token is expiring
252
- */
253
-
254
- (0, _react.useEffect)(() => {
255
- if (userId !== null) {
256
- authInterceptor.current = _apiServices.http.getClientInstance().interceptors.response.use(response => {
257
- return response;
258
- }, async error => {
259
- let originalConfig = error.config;
260
-
261
- if (error.response) {
262
- if (error.response.status === 401) {
263
- /**
264
- * if other requests arrive at the same time
265
- * as the token refresh, we save them for later
266
- */
267
- if (isSessionRefreshing.current) {
268
- return new Promise(function (resolve, reject) {
269
- failedQueue.current.push({
270
- resolve,
271
- reject
272
- });
273
- }).then(token => {
274
- originalConfig.headers['Authorization'] = 'Bearer ' + token;
275
- return _apiServices.http.request(originalConfig);
276
- }).catch(err => {
277
- _utils.Logger.error(_Errors.SCOPE_SC_CORE, 'Unable to resolve promises in failedQueue.');
278
-
279
- return Promise.reject(err);
280
- });
173
+ return Promise.reject(new Error('Unable to refresh session. Unauthenticated user.'));
174
+ }, [accessToken]);
175
+ /**
176
+ * Manages multiple request during refresh session
177
+ * Save concurrent requests and retry them again
178
+ * at the end of refreshing session
179
+ */
180
+ const processQueue = (0, react_1.useMemo)(() => (error, token = null) => {
181
+ failedQueue.current.forEach((prom) => {
182
+ if (error) {
183
+ prom.reject(error);
281
184
  }
282
- /**
283
- * we mark the request as retried,
284
- * we avoid doing it again
285
- */
286
-
287
-
288
- const session = state.session;
289
- const authToken = session && 'authToken' in session ? session.authToken : null;
290
-
291
- if (session.type !== Session.COOKIE_SESSION && !isSessionRefreshing.current && state.user && session && session.handleRefreshToken && Boolean(authToken && authToken.refreshToken)) {
292
- /**
293
- * set refreshing mode,
294
- * save all concurrent request in the meantime
295
- */
296
- try {
297
- const res = await refreshSession();
298
- originalConfig.headers.Authorization = `Bearer ${res['accessToken']}`;
299
- processQueue(null, res['accessToken']);
300
- return Promise.resolve(_apiServices.http.request(originalConfig));
301
- } catch (_error) {
302
- if (_error.response && _error.response.data) {
303
- processQueue(_error, null);
304
- return Promise.reject(_error.response.data);
305
- }
306
- }
185
+ else {
186
+ prom.resolve(token);
307
187
  }
308
- }
309
-
310
- return Promise.reject(error);
188
+ });
189
+ failedQueue.current = [];
190
+ }, [failedQueue.current]);
191
+ /**
192
+ * Add/remove an http request interceptor.
193
+ * When the component unmounted the interceptor will be detached
194
+ * The interceptor check if the token is expiring
195
+ */
196
+ (0, react_1.useEffect)(() => {
197
+ if (userId !== null) {
198
+ authInterceptor.current = api_services_1.http.getClientInstance().interceptors.response.use((response) => {
199
+ return response;
200
+ }, (error) => __awaiter(this, void 0, void 0, function* () {
201
+ let originalConfig = error.config;
202
+ if (error.response) {
203
+ if (error.response.status === 401) {
204
+ /**
205
+ * if other requests arrive at the same time
206
+ * as the token refresh, we save them for later
207
+ */
208
+ if (isSessionRefreshing.current) {
209
+ return new Promise(function (resolve, reject) {
210
+ failedQueue.current.push({ resolve, reject });
211
+ })
212
+ .then((token) => {
213
+ originalConfig.headers['Authorization'] = 'Bearer ' + token;
214
+ return api_services_1.http.request(originalConfig);
215
+ })
216
+ .catch((err) => {
217
+ utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, 'Unable to resolve promises in failedQueue.');
218
+ return Promise.reject(err);
219
+ });
220
+ }
221
+ /**
222
+ * we mark the request as retried,
223
+ * we avoid doing it again
224
+ */
225
+ const session = state.session;
226
+ const authToken = session && 'authToken' in session ? session.authToken : null;
227
+ if (session.type !== Session.COOKIE_SESSION &&
228
+ !isSessionRefreshing.current &&
229
+ state.user &&
230
+ session &&
231
+ session.handleRefreshToken &&
232
+ Boolean(authToken && authToken.refreshToken)) {
233
+ /**
234
+ * set refreshing mode,
235
+ * save all concurrent request in the meantime
236
+ */
237
+ try {
238
+ const res = yield refreshSession();
239
+ originalConfig.headers.Authorization = `Bearer ${res['accessToken']}`;
240
+ processQueue(null, res['accessToken']);
241
+ return Promise.resolve(api_services_1.http.request(originalConfig));
242
+ }
243
+ catch (_error) {
244
+ if (_error.response && _error.response.data) {
245
+ processQueue(_error, null);
246
+ return Promise.reject(_error.response.data);
247
+ }
248
+ }
249
+ }
250
+ }
251
+ return Promise.reject(error);
252
+ }
253
+ }));
311
254
  }
312
- });
313
- }
314
-
315
- return () => {
316
- if (authInterceptor.current !== null) {
317
- _apiServices.http.getClientInstance().interceptors.response.eject(authInterceptor.current);
318
- }
319
- };
320
- }, [userId, accessToken]);
321
- /**
322
- * Reset session if initial conf changed
323
- */
324
-
325
- (0, _useDeepCompareEffect.default)(() => {
326
- dispatch({
327
- type: userActionTypes.REFRESH_SESSION,
328
- payload: {
329
- conf: stateInitializer(initialSession)
330
- }
331
- });
332
- }, [initialSession]);
333
- return {
334
- state,
335
- dispatch,
336
- helpers: {
337
- refreshSession
338
- }
339
- };
340
- }
255
+ return () => {
256
+ if (authInterceptor.current !== null) {
257
+ api_services_1.http.getClientInstance().interceptors.response.eject(authInterceptor.current);
258
+ }
259
+ };
260
+ }, [userId, accessToken]);
261
+ /**
262
+ * Reset session if initial conf changed
263
+ */
264
+ (0, use_deep_compare_effect_1.default)(() => {
265
+ dispatch({ type: exports.userActionTypes.REFRESH_SESSION, payload: { conf: stateInitializer(initialSession) } });
266
+ }, [initialSession]);
267
+ return { state, dispatch, helpers: { refreshSession } };
268
+ }
269
+ exports.default = useAuth;
270
+ //# sourceMappingURL=useSCAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSCAuth.js","sourceRoot":"","sources":["../../../src/hooks/useSCAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAiD;AACjD,iCAA6D;AAG7D,8DAAgD;AAChD,sFAA2D;AAC3D,gDAA4C;AAC5C,gDAAkD;AAElD;;;;;;GAMG;AACU,QAAA,eAAe,GAAG;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,aAAa,EAAE,gBAAgB;IAC/B,aAAa,EAAE,gBAAgB;IAC/B,MAAM,EAAE,SAAS;IACjB,qBAAqB,EAAE,wBAAwB;IAC/C,qBAAqB,EAAE,wBAAwB;IAC/C,eAAe,EAAE,gBAAgB;IACjC,WAAW,EAAE,cAAc;CAC5B,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,KAAK,EAAE,MAAM;IAChC,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,uBAAe,CAAC,aAAa;YAChC,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;QAE7F,KAAK,uBAAe,CAAC,aAAa;YAChC,OAAO,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;QAE7G,KAAK,uBAAe,CAAC,aAAa;YAChC,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;QAE9G,KAAK,uBAAe,CAAC,qBAAqB;YACxC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,8DACzD,KAAK,CAAC,OAAO,CAAC,SAAS,KAC1B,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,KAC1C,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAC5F,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACtF,CAAC;YACH,MAAM,UAAU,GAAkB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE;gBACjE,SAAS,EAAE,YAAY;aACxB,CAAC,CAAC;YACH,+BAA+B;YAC/B,mBAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACjD,uCAAW,KAAK,KAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,IAAE;QAEtE,KAAK,uBAAe,CAAC,qBAAqB;YACxC,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAC,CAAC;QAE7G,KAAK,uBAAe,CAAC,MAAM;YACzB,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;QAEjE,KAAK,uBAAe,CAAC,WAAW;YAC9B,uCAAW,KAAK,KAAE,IAAI,kCAAM,KAAK,CAAC,IAAI,GAAK,MAAM,CAAC,OAAO,KAAG;QAE9D,KAAK,uBAAe,CAAC,eAAe;YAClC,uCAAW,KAAK,GAAK,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;QAE5C;YACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;KACrD;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,OAAsB;IAC9C,IAAI,QAAQ,GAAkB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE;QAChI,mBAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACvD,UAAU,GAAG,IAAI,CAAC;KACnB;IACD,mBAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACzE,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAC,CAAC;AAC9H,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAwB,OAAO,CAAC,cAA6B;IAC3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,kBAAU,EAAC,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9F,IAAI,eAAe,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IACnC,IAAI,mBAAmB,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IACxC,IAAI,WAAW,GAAG,IAAA,cAAM,EAAC,EAAE,CAAC,CAAC;IAE7B,QAAQ;IACR,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhI;;OAEG;IACH,MAAM,cAAc,GAAG,IAAA,eAAO,EAC5B,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,MAAM,OAAO,GAAkB,KAAK,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,OAAO,CAAC,kBAAkB,EAAE;YAC9D,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,OAAO,OAAO;iBACX,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC;iBACjC,IAAI,CAAC,CAAC,GAAoB,EAAE,EAAE;gBAC7B,mBAAmB,CAAC,OAAO,GAAG,KAAK,CAAC;gBACpC,QAAQ,CAAC,EAAC,IAAI,EAAE,uBAAe,CAAC,qBAAqB,EAAE,OAAO,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,EAAC,CAAC,CAAC;gBAC/E,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,iCAAiC,CAAC,CAAC;gBAC/D,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;oBACzC,QAAQ,CAAC,EAAC,IAAI,EAAE,uBAAe,CAAC,qBAAqB,EAAE,OAAO,EAAE,EAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAC,EAAC,CAAC,CAAC;iBACtG;gBACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;SACN;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;IACvF,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF;;;;OAIG;IACH,MAAM,YAAY,GAAG,IAAA,eAAO,EAC1B,GAAG,EAAE,CACH,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE;QACtB,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACpB;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;IAC3B,CAAC,EACH,CAAC,WAAW,CAAC,OAAO,CAAC,CACtB,CAAC;IAEF;;;;OAIG;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,eAAe,CAAC,OAAO,GAAG,mBAAI,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAC1E,CAAC,QAAQ,EAAE,EAAE;gBACX,OAAO,QAAQ,CAAC;YAClB,CAAC,EACD,CAAO,KAAK,EAAE,EAAE;gBACd,IAAI,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;gBAClC,IAAI,KAAK,CAAC,QAAQ,EAAE;oBAClB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;wBACjC;;;2BAGG;wBACH,IAAI,mBAAmB,CAAC,OAAO,EAAE;4BAC/B,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;gCAC1C,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;4BAC9C,CAAC,CAAC;iCACC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gCACd,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;gCAC5D,OAAO,mBAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;4BACtC,CAAC,CAAC;iCACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gCACb,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,4CAA4C,CAAC,CAAC;gCAC1E,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAC7B,CAAC,CAAC,CAAC;yBACN;wBAED;;;2BAGG;wBACH,MAAM,OAAO,GAAkB,KAAK,CAAC,OAAO,CAAC;wBAC7C,MAAM,SAAS,GAAoB,OAAO,IAAI,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;wBAChG,IACE,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,cAAc;4BACvC,CAAC,mBAAmB,CAAC,OAAO;4BAC5B,KAAK,CAAC,IAAI;4BACV,OAAO;4BACP,OAAO,CAAC,kBAAkB;4BAC1B,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC,EAC5C;4BACA;;;+BAGG;4BACH,IAAI;gCACF,MAAM,GAAG,GAAG,MAAM,cAAc,EAAE,CAAC;gCACnC,cAAc,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gCACtE,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;gCACvC,OAAO,OAAO,CAAC,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;6BACtD;4BAAC,OAAO,MAAM,EAAE;gCACf,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;oCAC3C,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oCAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iCAC7C;6BACF;yBACF;qBACF;oBACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBAC9B;YACH,CAAC,CAAA,CACF,CAAC;SACH;QACD,OAAO,GAAS,EAAE;YAChB,IAAI,eAAe,CAAC,OAAO,KAAK,IAAI,EAAE;gBACpC,mBAAI,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAE1B;;OAEG;IACH,IAAA,iCAAoB,EAAC,GAAG,EAAE;QACxB,QAAQ,CAAC,EAAC,IAAI,EAAE,uBAAe,CAAC,eAAe,EAAE,OAAO,EAAE,EAAC,IAAI,EAAE,gBAAgB,CAAC,cAAc,CAAC,EAAC,EAAC,CAAC,CAAC;IACvG,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAC,cAAc,EAAC,EAAC,CAAC;AACtD,CAAC;AA9ID,0BA8IC"}
@@ -1,58 +1,44 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.default = useSCCachingManager;
5
-
6
- var _react = require("react");
7
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_1 = require("react");
8
4
  /**
9
5
  :::info
10
6
  This custom hook manages cached data and the loading state.
11
7
  :::
12
8
  */
13
9
  function useSCCachingManager() {
14
- const cache = (0, _react.useRef)([]);
15
- const [loading, setLoading] = (0, _react.useState)([]);
16
- const [data, setData] = (0, _react.useState)([]);
17
- /**
18
- * Update cache
19
- * @param ids
20
- */
21
-
22
- const updateCache = (0, _react.useMemo)(() => ids => {
23
- ids.map(c => {
24
- if (!cache.current.includes(c)) {
25
- cache.current.push(c);
26
- }
27
- });
28
- }, [cache]);
29
- /**
30
- * Empty cache
31
- * emptying the cache each isFollow request
32
- * results in a request to the server
33
- */
34
-
35
- const emptyCache = (0, _react.useMemo)(() => () => {
36
- cache.current = [];
37
- }, [cache]);
38
- /**
39
- * Category is checking
40
- * Return true if the manager is checking
41
- * the follow status of the obj
42
- * @param category
43
- */
44
-
45
- const isLoading = (0, _react.useMemo)(() => obj => {
46
- return loading.includes(obj.id);
47
- }, [loading]);
48
- return {
49
- cache: cache.current,
50
- updateCache,
51
- emptyCache,
52
- data,
53
- setData,
54
- loading,
55
- setLoading,
56
- isLoading
57
- };
58
- }
10
+ const cache = (0, react_1.useRef)([]);
11
+ const [loading, setLoading] = (0, react_1.useState)([]);
12
+ const [data, setData] = (0, react_1.useState)([]);
13
+ /**
14
+ * Update cache
15
+ * @param ids
16
+ */
17
+ const updateCache = (0, react_1.useMemo)(() => (ids) => {
18
+ ids.map((c) => {
19
+ if (!cache.current.includes(c)) {
20
+ cache.current.push(c);
21
+ }
22
+ });
23
+ }, [cache]);
24
+ /**
25
+ * Empty cache
26
+ * emptying the cache each isFollow request
27
+ * results in a request to the server
28
+ */
29
+ const emptyCache = (0, react_1.useMemo)(() => () => {
30
+ cache.current = [];
31
+ }, [cache]);
32
+ /**
33
+ * Category is checking
34
+ * Return true if the manager is checking
35
+ * the follow status of the obj
36
+ * @param category
37
+ */
38
+ const isLoading = (0, react_1.useMemo)(() => (obj) => {
39
+ return loading.includes(obj.id);
40
+ }, [loading]);
41
+ return { cache: cache.current, updateCache, emptyCache, data, setData, loading, setLoading, isLoading };
42
+ }
43
+ exports.default = useSCCachingManager;
44
+ //# sourceMappingURL=useSCCachingManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSCCachingManager.js","sourceRoot":"","sources":["../../../src/hooks/useSCCachingManager.ts"],"names":[],"mappings":";;AAAA,iCAAgD;AAEhD;;;;GAIG;AACH,SAAwB,mBAAmB;IACzC,MAAM,KAAK,GAAG,IAAA,cAAM,EAAW,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAW,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAErC;;;OAGG;IACH,MAAM,WAAW,GAAG,IAAA,eAAO,EACzB,GAAG,EAAE,CACH,CAAC,GAAa,EAAQ,EAAE;QACtB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAC9B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EACH,CAAC,KAAK,CAAC,CACR,CAAC;IAEF;;;;OAIG;IACH,MAAM,UAAU,GAAG,IAAA,eAAO,EACxB,GAAG,EAAE,CAAC,GAAS,EAAE;QACf,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;IACrB,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF;;;;;OAKG;IACH,MAAM,SAAS,GAAG,IAAA,eAAO,EACvB,GAAG,EAAE,CACH,CAAC,GAAiB,EAAW,EAAE;QAC7B,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,EACH,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAC,CAAC;AACxG,CAAC;AAhDD,sCAgDC"}