@selfcommunity/react-core 0.4.0-alpha.10 → 0.4.0-alpha.100

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 (316) hide show
  1. package/lib/cjs/components/provider/SCAlertMessagesProvider/index.js +2 -24
  2. package/lib/cjs/components/provider/SCAlertMessagesProvider/index.js.map +1 -1
  3. package/lib/cjs/components/provider/SCContextProvider/index.js +3 -28
  4. package/lib/cjs/components/provider/SCContextProvider/index.js.map +1 -1
  5. package/lib/cjs/components/provider/SCLocaleProvider/index.js +2 -24
  6. package/lib/cjs/components/provider/SCLocaleProvider/index.js.map +1 -1
  7. package/lib/cjs/components/provider/SCNotificationProvider/index.d.ts.map +1 -1
  8. package/lib/cjs/components/provider/SCNotificationProvider/index.js +7 -30
  9. package/lib/cjs/components/provider/SCNotificationProvider/index.js.map +1 -1
  10. package/lib/cjs/components/provider/SCPreferencesProvider/index.js +2 -24
  11. package/lib/cjs/components/provider/SCPreferencesProvider/index.js.map +1 -1
  12. package/lib/cjs/components/provider/SCRoutingProvider/index.js +4 -26
  13. package/lib/cjs/components/provider/SCRoutingProvider/index.js.map +1 -1
  14. package/lib/cjs/components/provider/SCThemeProvider/index.js +3 -28
  15. package/lib/cjs/components/provider/SCThemeProvider/index.js.map +1 -1
  16. package/lib/cjs/components/provider/SCUserProvider/index.d.ts.map +1 -1
  17. package/lib/cjs/components/provider/SCUserProvider/index.js +32 -48
  18. package/lib/cjs/components/provider/SCUserProvider/index.js.map +1 -1
  19. package/lib/cjs/components/provider/SCVoteProvider/index.d.ts +38 -0
  20. package/lib/cjs/components/provider/SCVoteProvider/index.d.ts.map +1 -0
  21. package/lib/cjs/components/provider/SCVoteProvider/index.js +113 -0
  22. package/lib/cjs/components/provider/SCVoteProvider/index.js.map +1 -0
  23. package/lib/cjs/components/router/index.js +5 -38
  24. package/lib/cjs/components/router/index.js.map +1 -1
  25. package/lib/cjs/constants/Cache.d.ts +23 -14
  26. package/lib/cjs/constants/Cache.d.ts.map +1 -1
  27. package/lib/cjs/constants/Cache.js +28 -16
  28. package/lib/cjs/constants/Cache.js.map +1 -1
  29. package/lib/cjs/constants/ContextProviders.d.ts.map +1 -1
  30. package/lib/cjs/constants/ContextProviders.js +12 -12
  31. package/lib/cjs/constants/ContextProviders.js.map +1 -1
  32. package/lib/cjs/constants/Device.d.ts +22 -0
  33. package/lib/cjs/constants/Device.d.ts.map +1 -1
  34. package/lib/cjs/constants/Device.js +27 -1
  35. package/lib/cjs/constants/Device.js.map +1 -1
  36. package/lib/cjs/constants/Features.d.ts +0 -42
  37. package/lib/cjs/constants/Features.d.ts.map +1 -1
  38. package/lib/cjs/constants/Features.js +1 -43
  39. package/lib/cjs/constants/Features.js.map +1 -1
  40. package/lib/cjs/constants/Notifications.d.ts +3 -0
  41. package/lib/cjs/constants/Notifications.d.ts.map +1 -1
  42. package/lib/cjs/constants/Notifications.js +7 -1
  43. package/lib/cjs/constants/Notifications.js.map +1 -1
  44. package/lib/cjs/constants/Preferences.d.ts +13 -1
  45. package/lib/cjs/constants/Preferences.d.ts.map +1 -1
  46. package/lib/cjs/constants/Preferences.js +21 -4
  47. package/lib/cjs/constants/Preferences.js.map +1 -1
  48. package/lib/cjs/constants/Routes.d.ts +3 -0
  49. package/lib/cjs/constants/Routes.d.ts.map +1 -1
  50. package/lib/cjs/constants/Routes.js +8 -2
  51. package/lib/cjs/constants/Routes.js.map +1 -1
  52. package/lib/cjs/constants/Vote.d.ts +7 -0
  53. package/lib/cjs/constants/Vote.d.ts.map +1 -0
  54. package/lib/cjs/constants/Vote.js +10 -0
  55. package/lib/cjs/constants/Vote.js.map +1 -0
  56. package/lib/cjs/hooks/useSCAuth.d.ts.map +1 -1
  57. package/lib/cjs/hooks/useSCAuth.js +34 -50
  58. package/lib/cjs/hooks/useSCAuth.js.map +1 -1
  59. package/lib/cjs/hooks/useSCBlockedUsersManager.d.ts +31 -0
  60. package/lib/cjs/hooks/useSCBlockedUsersManager.d.ts.map +1 -0
  61. package/lib/cjs/hooks/useSCBlockedUsersManager.js +109 -0
  62. package/lib/cjs/hooks/useSCBlockedUsersManager.js.map +1 -0
  63. package/lib/cjs/hooks/useSCCachingManager.d.ts +5 -4
  64. package/lib/cjs/hooks/useSCCachingManager.d.ts.map +1 -1
  65. package/lib/cjs/hooks/useSCCachingManager.js +21 -5
  66. package/lib/cjs/hooks/useSCCachingManager.js.map +1 -1
  67. package/lib/cjs/hooks/useSCConnectionsManager.d.ts +8 -4
  68. package/lib/cjs/hooks/useSCConnectionsManager.d.ts.map +1 -1
  69. package/lib/cjs/hooks/useSCConnectionsManager.js +141 -90
  70. package/lib/cjs/hooks/useSCConnectionsManager.js.map +1 -1
  71. package/lib/cjs/hooks/useSCFetchAddressingTagList.d.ts.map +1 -1
  72. package/lib/cjs/hooks/useSCFetchAddressingTagList.js +2 -25
  73. package/lib/cjs/hooks/useSCFetchAddressingTagList.js.map +1 -1
  74. package/lib/cjs/hooks/useSCFetchBroadcastMessages.d.ts +31 -0
  75. package/lib/cjs/hooks/useSCFetchBroadcastMessages.d.ts.map +1 -0
  76. package/lib/cjs/hooks/useSCFetchBroadcastMessages.js +92 -0
  77. package/lib/cjs/hooks/useSCFetchBroadcastMessages.js.map +1 -0
  78. package/lib/cjs/hooks/useSCFetchCategories.js +2 -10
  79. package/lib/cjs/hooks/useSCFetchCategories.js.map +1 -1
  80. package/lib/cjs/hooks/useSCFetchCategory.d.ts.map +1 -1
  81. package/lib/cjs/hooks/useSCFetchCategory.js +13 -11
  82. package/lib/cjs/hooks/useSCFetchCategory.js.map +1 -1
  83. package/lib/cjs/hooks/useSCFetchCommentObject.js +1 -1
  84. package/lib/cjs/hooks/useSCFetchCommentObject.js.map +1 -1
  85. package/lib/cjs/hooks/useSCFetchCommentObjects.js +2 -4
  86. package/lib/cjs/hooks/useSCFetchCommentObjects.js.map +1 -1
  87. package/lib/cjs/hooks/useSCFetchContributors.js +2 -4
  88. package/lib/cjs/hooks/useSCFetchContributors.js.map +1 -1
  89. package/lib/cjs/hooks/useSCFetchCustomAdv.js +2 -4
  90. package/lib/cjs/hooks/useSCFetchCustomAdv.js.map +1 -1
  91. package/lib/cjs/hooks/useSCFetchFeed.js +3 -5
  92. package/lib/cjs/hooks/useSCFetchFeed.js.map +1 -1
  93. package/lib/cjs/hooks/useSCFetchIncubator.d.ts +4 -1
  94. package/lib/cjs/hooks/useSCFetchIncubator.d.ts.map +1 -1
  95. package/lib/cjs/hooks/useSCFetchIncubator.js +28 -7
  96. package/lib/cjs/hooks/useSCFetchIncubator.js.map +1 -1
  97. package/lib/cjs/hooks/useSCFetchPrivateMessageSnippets.d.ts.map +1 -1
  98. package/lib/cjs/hooks/useSCFetchPrivateMessageSnippets.js +16 -25
  99. package/lib/cjs/hooks/useSCFetchPrivateMessageSnippets.js.map +1 -1
  100. package/lib/cjs/hooks/useSCFetchReactions.d.ts.map +1 -1
  101. package/lib/cjs/hooks/useSCFetchReactions.js +3 -49
  102. package/lib/cjs/hooks/useSCFetchReactions.js.map +1 -1
  103. package/lib/cjs/hooks/useSCFetchUser.d.ts +2 -0
  104. package/lib/cjs/hooks/useSCFetchUser.d.ts.map +1 -1
  105. package/lib/cjs/hooks/useSCFetchUser.js +33 -7
  106. package/lib/cjs/hooks/useSCFetchUser.js.map +1 -1
  107. package/lib/cjs/hooks/useSCFetchUserBlockedBy.d.ts +18 -0
  108. package/lib/cjs/hooks/useSCFetchUserBlockedBy.d.ts.map +1 -0
  109. package/lib/cjs/hooks/useSCFetchUserBlockedBy.js +84 -0
  110. package/lib/cjs/hooks/useSCFetchUserBlockedBy.js.map +1 -0
  111. package/lib/cjs/hooks/useSCFetchVote.d.ts +1 -1
  112. package/lib/cjs/hooks/useSCFetchVote.d.ts.map +1 -1
  113. package/lib/cjs/hooks/useSCFetchVote.js +58 -72
  114. package/lib/cjs/hooks/useSCFetchVote.js.map +1 -1
  115. package/lib/cjs/hooks/useSCFollowedCategoriesManager.d.ts +4 -4
  116. package/lib/cjs/hooks/useSCFollowedCategoriesManager.d.ts.map +1 -1
  117. package/lib/cjs/hooks/useSCFollowedCategoriesManager.js +26 -16
  118. package/lib/cjs/hooks/useSCFollowedCategoriesManager.js.map +1 -1
  119. package/lib/cjs/hooks/useSCFollowedManager.d.ts +4 -4
  120. package/lib/cjs/hooks/useSCFollowedManager.d.ts.map +1 -1
  121. package/lib/cjs/hooks/useSCFollowedManager.js +38 -23
  122. package/lib/cjs/hooks/useSCFollowedManager.js.map +1 -1
  123. package/lib/cjs/hooks/useSCFollowersManager.d.ts +4 -4
  124. package/lib/cjs/hooks/useSCFollowersManager.js +7 -9
  125. package/lib/cjs/hooks/useSCFollowersManager.js.map +1 -1
  126. package/lib/cjs/hooks/useSCMobileNativePushMessaging.d.ts +20 -0
  127. package/lib/cjs/hooks/useSCMobileNativePushMessaging.d.ts.map +1 -0
  128. package/lib/cjs/hooks/useSCMobileNativePushMessaging.js +144 -0
  129. package/lib/cjs/hooks/useSCMobileNativePushMessaging.js.map +1 -0
  130. package/lib/cjs/hooks/useSCSubscribedIncubatorsManager.d.ts +12 -2
  131. package/lib/cjs/hooks/useSCSubscribedIncubatorsManager.d.ts.map +1 -1
  132. package/lib/cjs/hooks/useSCSubscribedIncubatorsManager.js +39 -31
  133. package/lib/cjs/hooks/useSCSubscribedIncubatorsManager.js.map +1 -1
  134. package/lib/cjs/hooks/useSCWebPushMessaging.d.ts +12 -1
  135. package/lib/cjs/hooks/useSCWebPushMessaging.d.ts.map +1 -1
  136. package/lib/cjs/hooks/useSCWebPushMessaging.js +188 -105
  137. package/lib/cjs/hooks/useSCWebPushMessaging.js.map +1 -1
  138. package/lib/cjs/hooks/useSCWebSocket.d.ts +1 -1
  139. package/lib/cjs/hooks/useSCWebSocket.js +3 -5
  140. package/lib/cjs/hooks/useSCWebSocket.js.map +1 -1
  141. package/lib/cjs/index.d.ts +3 -1
  142. package/lib/cjs/index.d.ts.map +1 -1
  143. package/lib/cjs/index.js +39 -60
  144. package/lib/cjs/index.js.map +1 -1
  145. package/lib/cjs/themes/theme.d.ts.map +1 -1
  146. package/lib/cjs/themes/theme.js +2 -77
  147. package/lib/cjs/themes/theme.js.map +1 -1
  148. package/lib/cjs/types/context.d.ts +96 -5
  149. package/lib/cjs/types/context.d.ts.map +1 -1
  150. package/lib/cjs/types/index.d.ts +2 -2
  151. package/lib/cjs/types/index.d.ts.map +1 -1
  152. package/lib/cjs/utils/errors.d.ts +5 -5
  153. package/lib/cjs/utils/errors.d.ts.map +1 -1
  154. package/lib/cjs/utils/errors.js +13 -33
  155. package/lib/cjs/utils/errors.js.map +1 -1
  156. package/lib/cjs/utils/hooks/index.js +6 -8
  157. package/lib/cjs/utils/hooks/index.js.map +1 -1
  158. package/lib/cjs/utils/locale.js +2 -4
  159. package/lib/cjs/utils/locale.js.map +1 -1
  160. package/lib/cjs/utils/notification.d.ts +9 -0
  161. package/lib/cjs/utils/notification.d.ts.map +1 -0
  162. package/lib/cjs/utils/notification.js +21 -0
  163. package/lib/cjs/utils/notification.js.map +1 -0
  164. package/lib/cjs/utils/validator.d.ts +49 -2
  165. package/lib/cjs/utils/validator.d.ts.map +1 -1
  166. package/lib/cjs/utils/validator.js +144 -40
  167. package/lib/cjs/utils/validator.js.map +1 -1
  168. package/lib/esm/components/provider/SCNotificationProvider/index.d.ts.map +1 -1
  169. package/lib/esm/components/provider/SCNotificationProvider/index.js +3 -1
  170. package/lib/esm/components/provider/SCNotificationProvider/index.js.map +1 -1
  171. package/lib/esm/components/provider/SCRoutingProvider/index.js +1 -1
  172. package/lib/esm/components/provider/SCRoutingProvider/index.js.map +1 -1
  173. package/lib/esm/components/provider/SCUserProvider/index.d.ts.map +1 -1
  174. package/lib/esm/components/provider/SCUserProvider/index.js +22 -13
  175. package/lib/esm/components/provider/SCUserProvider/index.js.map +1 -1
  176. package/lib/esm/components/provider/SCVoteProvider/index.d.ts +38 -0
  177. package/lib/esm/components/provider/SCVoteProvider/index.d.ts.map +1 -0
  178. package/lib/esm/components/provider/SCVoteProvider/index.js +107 -0
  179. package/lib/esm/components/provider/SCVoteProvider/index.js.map +1 -0
  180. package/lib/esm/components/router/index.js +2 -12
  181. package/lib/esm/components/router/index.js.map +1 -1
  182. package/lib/esm/constants/Cache.d.ts +23 -14
  183. package/lib/esm/constants/Cache.d.ts.map +1 -1
  184. package/lib/esm/constants/Cache.js +23 -14
  185. package/lib/esm/constants/Cache.js.map +1 -1
  186. package/lib/esm/constants/ContextProviders.d.ts.map +1 -1
  187. package/lib/esm/constants/ContextProviders.js +4 -2
  188. package/lib/esm/constants/ContextProviders.js.map +1 -1
  189. package/lib/esm/constants/Device.d.ts +22 -0
  190. package/lib/esm/constants/Device.d.ts.map +1 -1
  191. package/lib/esm/constants/Device.js +26 -0
  192. package/lib/esm/constants/Device.js.map +1 -1
  193. package/lib/esm/constants/Features.d.ts +0 -42
  194. package/lib/esm/constants/Features.d.ts.map +1 -1
  195. package/lib/esm/constants/Features.js +0 -42
  196. package/lib/esm/constants/Features.js.map +1 -1
  197. package/lib/esm/constants/Notifications.d.ts +3 -0
  198. package/lib/esm/constants/Notifications.d.ts.map +1 -1
  199. package/lib/esm/constants/Notifications.js +6 -0
  200. package/lib/esm/constants/Notifications.js.map +1 -1
  201. package/lib/esm/constants/Preferences.d.ts +13 -1
  202. package/lib/esm/constants/Preferences.d.ts.map +1 -1
  203. package/lib/esm/constants/Preferences.js +18 -2
  204. package/lib/esm/constants/Preferences.js.map +1 -1
  205. package/lib/esm/constants/Routes.d.ts +3 -0
  206. package/lib/esm/constants/Routes.d.ts.map +1 -1
  207. package/lib/esm/constants/Routes.js +7 -1
  208. package/lib/esm/constants/Routes.js.map +1 -1
  209. package/lib/esm/constants/Vote.d.ts +7 -0
  210. package/lib/esm/constants/Vote.d.ts.map +1 -0
  211. package/lib/esm/constants/Vote.js +7 -0
  212. package/lib/esm/constants/Vote.js.map +1 -0
  213. package/lib/esm/hooks/useSCAuth.d.ts.map +1 -1
  214. package/lib/esm/hooks/useSCAuth.js +31 -21
  215. package/lib/esm/hooks/useSCAuth.js.map +1 -1
  216. package/lib/esm/hooks/useSCBlockedUsersManager.d.ts +31 -0
  217. package/lib/esm/hooks/useSCBlockedUsersManager.d.ts.map +1 -0
  218. package/lib/esm/hooks/useSCBlockedUsersManager.js +106 -0
  219. package/lib/esm/hooks/useSCBlockedUsersManager.js.map +1 -0
  220. package/lib/esm/hooks/useSCCachingManager.d.ts +5 -4
  221. package/lib/esm/hooks/useSCCachingManager.d.ts.map +1 -1
  222. package/lib/esm/hooks/useSCCachingManager.js +21 -5
  223. package/lib/esm/hooks/useSCCachingManager.js.map +1 -1
  224. package/lib/esm/hooks/useSCConnectionsManager.d.ts +8 -4
  225. package/lib/esm/hooks/useSCConnectionsManager.d.ts.map +1 -1
  226. package/lib/esm/hooks/useSCConnectionsManager.js +138 -85
  227. package/lib/esm/hooks/useSCConnectionsManager.js.map +1 -1
  228. package/lib/esm/hooks/useSCFetchAddressingTagList.d.ts.map +1 -1
  229. package/lib/esm/hooks/useSCFetchAddressingTagList.js +3 -3
  230. package/lib/esm/hooks/useSCFetchAddressingTagList.js.map +1 -1
  231. package/lib/esm/hooks/useSCFetchBroadcastMessages.d.ts +31 -0
  232. package/lib/esm/hooks/useSCFetchBroadcastMessages.d.ts.map +1 -0
  233. package/lib/esm/hooks/useSCFetchBroadcastMessages.js +90 -0
  234. package/lib/esm/hooks/useSCFetchBroadcastMessages.js.map +1 -0
  235. package/lib/esm/hooks/useSCFetchCategories.js +1 -9
  236. package/lib/esm/hooks/useSCFetchCategories.js.map +1 -1
  237. package/lib/esm/hooks/useSCFetchCategory.d.ts.map +1 -1
  238. package/lib/esm/hooks/useSCFetchCategory.js +15 -13
  239. package/lib/esm/hooks/useSCFetchCategory.js.map +1 -1
  240. package/lib/esm/hooks/useSCFetchCommentObject.js +1 -1
  241. package/lib/esm/hooks/useSCFetchCommentObject.js.map +1 -1
  242. package/lib/esm/hooks/useSCFetchFeed.js +1 -1
  243. package/lib/esm/hooks/useSCFetchFeed.js.map +1 -1
  244. package/lib/esm/hooks/useSCFetchIncubator.d.ts +4 -1
  245. package/lib/esm/hooks/useSCFetchIncubator.d.ts.map +1 -1
  246. package/lib/esm/hooks/useSCFetchIncubator.js +29 -8
  247. package/lib/esm/hooks/useSCFetchIncubator.js.map +1 -1
  248. package/lib/esm/hooks/useSCFetchPrivateMessageSnippets.d.ts.map +1 -1
  249. package/lib/esm/hooks/useSCFetchPrivateMessageSnippets.js +15 -24
  250. package/lib/esm/hooks/useSCFetchPrivateMessageSnippets.js.map +1 -1
  251. package/lib/esm/hooks/useSCFetchReactions.d.ts.map +1 -1
  252. package/lib/esm/hooks/useSCFetchReactions.js +5 -28
  253. package/lib/esm/hooks/useSCFetchReactions.js.map +1 -1
  254. package/lib/esm/hooks/useSCFetchUser.d.ts +2 -0
  255. package/lib/esm/hooks/useSCFetchUser.d.ts.map +1 -1
  256. package/lib/esm/hooks/useSCFetchUser.js +34 -8
  257. package/lib/esm/hooks/useSCFetchUser.js.map +1 -1
  258. package/lib/esm/hooks/useSCFetchUserBlockedBy.d.ts +18 -0
  259. package/lib/esm/hooks/useSCFetchUserBlockedBy.d.ts.map +1 -0
  260. package/lib/esm/hooks/useSCFetchUserBlockedBy.js +81 -0
  261. package/lib/esm/hooks/useSCFetchUserBlockedBy.js.map +1 -0
  262. package/lib/esm/hooks/useSCFetchVote.d.ts +1 -1
  263. package/lib/esm/hooks/useSCFetchVote.d.ts.map +1 -1
  264. package/lib/esm/hooks/useSCFetchVote.js +56 -68
  265. package/lib/esm/hooks/useSCFetchVote.js.map +1 -1
  266. package/lib/esm/hooks/useSCFollowedCategoriesManager.d.ts +4 -4
  267. package/lib/esm/hooks/useSCFollowedCategoriesManager.d.ts.map +1 -1
  268. package/lib/esm/hooks/useSCFollowedCategoriesManager.js +25 -13
  269. package/lib/esm/hooks/useSCFollowedCategoriesManager.js.map +1 -1
  270. package/lib/esm/hooks/useSCFollowedManager.d.ts +4 -4
  271. package/lib/esm/hooks/useSCFollowedManager.d.ts.map +1 -1
  272. package/lib/esm/hooks/useSCFollowedManager.js +37 -20
  273. package/lib/esm/hooks/useSCFollowedManager.js.map +1 -1
  274. package/lib/esm/hooks/useSCFollowersManager.d.ts +4 -4
  275. package/lib/esm/hooks/useSCFollowersManager.js +4 -4
  276. package/lib/esm/hooks/useSCFollowersManager.js.map +1 -1
  277. package/lib/esm/hooks/useSCMobileNativePushMessaging.d.ts +20 -0
  278. package/lib/esm/hooks/useSCMobileNativePushMessaging.d.ts.map +1 -0
  279. package/lib/esm/hooks/useSCMobileNativePushMessaging.js +141 -0
  280. package/lib/esm/hooks/useSCMobileNativePushMessaging.js.map +1 -0
  281. package/lib/esm/hooks/useSCSubscribedIncubatorsManager.d.ts +12 -2
  282. package/lib/esm/hooks/useSCSubscribedIncubatorsManager.d.ts.map +1 -1
  283. package/lib/esm/hooks/useSCSubscribedIncubatorsManager.js +38 -28
  284. package/lib/esm/hooks/useSCSubscribedIncubatorsManager.js.map +1 -1
  285. package/lib/esm/hooks/useSCWebPushMessaging.d.ts +12 -1
  286. package/lib/esm/hooks/useSCWebPushMessaging.d.ts.map +1 -1
  287. package/lib/esm/hooks/useSCWebPushMessaging.js +185 -81
  288. package/lib/esm/hooks/useSCWebPushMessaging.js.map +1 -1
  289. package/lib/esm/hooks/useSCWebSocket.d.ts +1 -1
  290. package/lib/esm/hooks/useSCWebSocket.js +1 -1
  291. package/lib/esm/index.d.ts +3 -1
  292. package/lib/esm/index.d.ts.map +1 -1
  293. package/lib/esm/index.js +3 -1
  294. package/lib/esm/index.js.map +1 -1
  295. package/lib/esm/themes/theme.d.ts.map +1 -1
  296. package/lib/esm/themes/theme.js +0 -73
  297. package/lib/esm/themes/theme.js.map +1 -1
  298. package/lib/esm/types/context.d.ts +96 -5
  299. package/lib/esm/types/context.d.ts.map +1 -1
  300. package/lib/esm/types/index.d.ts +2 -2
  301. package/lib/esm/types/index.d.ts.map +1 -1
  302. package/lib/esm/utils/errors.d.ts +5 -5
  303. package/lib/esm/utils/errors.d.ts.map +1 -1
  304. package/lib/esm/utils/errors.js +10 -7
  305. package/lib/esm/utils/errors.js.map +1 -1
  306. package/lib/esm/utils/notification.d.ts +9 -0
  307. package/lib/esm/utils/notification.d.ts.map +1 -0
  308. package/lib/esm/utils/notification.js +16 -0
  309. package/lib/esm/utils/notification.js.map +1 -0
  310. package/lib/esm/utils/validator.d.ts +49 -2
  311. package/lib/esm/utils/validator.d.ts.map +1 -1
  312. package/lib/esm/utils/validator.js +129 -7
  313. package/lib/esm/utils/validator.js.map +1 -1
  314. package/lib/umd/react-core.js +1 -1
  315. package/lib/umd/react-core.js.LICENSE.txt +1 -1
  316. package/package.json +16 -11
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_1 = require("react");
4
+ const api_services_1 = require("@selfcommunity/api-services");
5
+ const utils_1 = require("@selfcommunity/utils");
6
+ const Errors_1 = require("../constants/Errors");
7
+ const api_services_2 = require("@selfcommunity/api-services");
8
+ /**
9
+ :::info
10
+ This custom hook is used to manage blocked users.
11
+ :::
12
+ :::tipHow to use it:
13
+
14
+ Follow these steps:
15
+ ```jsx
16
+ 1. const scUserContext: SCUserContextType = useSCUser();
17
+ 2. const scBlockedUsersManager: SCBlockedUsersManagerType = scUserContext.manager.blockedUsers;
18
+ 3. scBlockedUsersManager.isBlocked(user)
19
+ ```
20
+ :::
21
+ */
22
+ function useSCBlockedUsersManager(user) {
23
+ const [loading, setLoading] = (0, react_1.useState)(false);
24
+ const [data, setData] = (0, react_1.useState)([]);
25
+ // CONST
26
+ const authUserId = user ? user.id : null;
27
+ /**
28
+ * Memoized isLoading
29
+ */
30
+ const isLoading = (0, react_1.useMemo)(() => () => {
31
+ return loading;
32
+ }, [loading]);
33
+ /**
34
+ * Memoized refresh all blocked users
35
+ * It makes a single request to the server and retrieves
36
+ * all blocked users by the authenticated user in a single solution
37
+ * It might be useful for multi-tab sync
38
+ */
39
+ const refresh = (0, react_1.useMemo)(() => (setLoadingStatus = false) => {
40
+ if (user) {
41
+ setLoadingStatus && setLoading(true);
42
+ // Only if user is authenticated
43
+ return api_services_2.UserService.getHiddenUsersId()
44
+ .then((res) => {
45
+ setData(res);
46
+ setLoadingStatus && setLoading(false);
47
+ return Promise.resolve(res);
48
+ })
49
+ .catch((e) => {
50
+ utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, 'Unable to load blocked users.');
51
+ utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, e);
52
+ setLoadingStatus && setLoading(false);
53
+ return Promise.reject(e);
54
+ });
55
+ }
56
+ return Promise.reject();
57
+ }, [data, user]);
58
+ /**
59
+ * Memoized block/unblock User
60
+ * Toggle action
61
+ */
62
+ const block = (0, react_1.useMemo)(() => (user) => {
63
+ setLoading(true);
64
+ return api_services_1.http
65
+ .request({
66
+ url: api_services_1.Endpoints.UserShowHide.url({ id: user.id }),
67
+ method: api_services_1.Endpoints.UserShowHide.method,
68
+ })
69
+ .then((res) => {
70
+ if (res.status >= 300) {
71
+ return Promise.reject(res);
72
+ }
73
+ const isBlocked = data.includes(user.id);
74
+ const _data = isBlocked ? [...data.filter((id) => id !== user.id)] : [...[user.id], ...data];
75
+ setData(_data);
76
+ setLoading(false);
77
+ return Promise.resolve(!isBlocked);
78
+ });
79
+ }, [loading, data.length, setLoading]);
80
+ /**
81
+ * Memoized isBlocked
82
+ * If user is already in cache -> check if the user is blocked,
83
+ * otherwise, check if authenticathed user has block the user
84
+ */
85
+ const isBlocked = (0, react_1.useMemo)(() => (user) => {
86
+ if (authUserId) {
87
+ return data.includes(user.id);
88
+ }
89
+ return false;
90
+ }, [data]);
91
+ /**
92
+ * Refresh cache on login
93
+ * Empty cache on logout
94
+ */
95
+ (0, react_1.useEffect)(() => {
96
+ if (authUserId) {
97
+ refresh(true);
98
+ }
99
+ else {
100
+ setData([]);
101
+ }
102
+ }, [authUserId]);
103
+ if (!user) {
104
+ return { blocked: data, loading, isLoading };
105
+ }
106
+ return { blocked: data, loading, isLoading, block, isBlocked, refresh };
107
+ }
108
+ exports.default = useSCBlockedUsersManager;
109
+ //# sourceMappingURL=useSCBlockedUsersManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSCBlockedUsersManager.js","sourceRoot":"","sources":["../../../src/hooks/useSCBlockedUsersManager.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,11 @@ export default function useSCCachingManager(): {
10
10
  emptyCache: () => void;
11
11
  data: any[];
12
12
  setData: import("react").Dispatch<import("react").SetStateAction<any[]>>;
13
- loading: number[];
14
- setLoading: import("react").Dispatch<import("react").SetStateAction<number[]>>;
15
- isLoading: (obj: {
13
+ loading: any[];
14
+ setLoading: (id: number) => void;
15
+ setUnLoading: (id: number) => void;
16
+ isLoading: (v: {
16
17
  id: number;
17
- }) => boolean;
18
+ } | number) => boolean;
18
19
  };
19
20
  //# sourceMappingURL=useSCCachingManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSCCachingManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCCachingManager.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB;;uBAW/B,MAAM,EAAE,KAAG,IAAI;sBAgBb,IAAI;;;;;qBAcN;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,KAAG,OAAO;EAOjC"}
1
+ {"version":3,"file":"useSCCachingManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCCachingManager.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB;;uBAgB/B,MAAM,EAAE,KAAG,IAAI;sBAgBb,IAAI;;;;qBA0BP,MAAM,KAAG,IAAI;uBASb,MAAM,KAAG,IAAI;mBApBd;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,GAAG,MAAM,KAAG,OAAO;EA4BxC"}
@@ -7,8 +7,12 @@ const react_1 = require("react");
7
7
  :::
8
8
  */
9
9
  function useSCCachingManager() {
10
+ // Elements(id) already loaded
10
11
  const cache = (0, react_1.useRef)([]);
11
- const [loading, setLoading] = (0, react_1.useState)([]);
12
+ // Elements(id) current in loading
13
+ const loadingCache = (0, react_1.useRef)([]);
14
+ // Trigger state changes
15
+ const [loading, setDataLoading] = (0, react_1.useState)([]);
12
16
  const [data, setData] = (0, react_1.useState)([]);
13
17
  /**
14
18
  * Update cache
@@ -28,6 +32,7 @@ function useSCCachingManager() {
28
32
  */
29
33
  const emptyCache = (0, react_1.useMemo)(() => () => {
30
34
  cache.current = [];
35
+ loadingCache.current = [];
31
36
  }, [cache]);
32
37
  /**
33
38
  * Category is checking
@@ -35,10 +40,21 @@ function useSCCachingManager() {
35
40
  * the follow status of the obj
36
41
  * @param category
37
42
  */
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 };
43
+ const isLoading = (0, react_1.useMemo)(() => (v) => {
44
+ if (typeof v === 'number') {
45
+ return loadingCache.current.includes(v);
46
+ }
47
+ return loadingCache.current.includes(v.id);
48
+ }, [loading, loadingCache]);
49
+ const setLoading = (0, react_1.useMemo)(() => (id) => {
50
+ loadingCache.current = loadingCache.current.includes(id) ? loadingCache.current : [...loadingCache.current, ...[id]];
51
+ setDataLoading((prev) => (prev.includes(id) ? prev : [...prev, ...[id]]));
52
+ }, [loadingCache, loading]);
53
+ const setUnLoading = (0, react_1.useMemo)(() => (id) => {
54
+ loadingCache.current = loadingCache.current.filter((u) => u !== id);
55
+ setDataLoading((prev) => prev.filter((u) => u !== id));
56
+ }, [loadingCache, loading]);
57
+ return { cache: cache.current, updateCache, emptyCache, data, setData, loading, setLoading, setUnLoading, isLoading };
42
58
  }
43
59
  exports.default = useSCCachingManager;
44
60
  //# sourceMappingURL=useSCCachingManager.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"useSCCachingManager.js","sourceRoot":"","sources":["../../../src/hooks/useSCCachingManager.ts"],"names":[],"mappings":"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"}
@@ -16,24 +16,28 @@ import { SCUserType } from '@selfcommunity/types';
16
16
  */
17
17
  export default function useSCConnectionsManager(user?: SCUserType): {
18
18
  connections: any[];
19
- loading: number[];
20
- isLoading: (obj: {
19
+ loading: any[];
20
+ isLoading: (v: number | {
21
21
  id: number;
22
22
  }) => boolean;
23
23
  status?: undefined;
24
24
  requestConnection?: undefined;
25
+ cancelRequestConnection?: undefined;
25
26
  acceptConnection?: undefined;
27
+ removeConnection?: undefined;
26
28
  refresh?: undefined;
27
29
  emptyCache?: undefined;
28
30
  } | {
29
31
  connections: any[];
30
- loading: number[];
31
- isLoading: (obj: {
32
+ loading: any[];
33
+ isLoading: (v: number | {
32
34
  id: number;
33
35
  }) => boolean;
34
36
  status: (user: SCUserType) => string;
35
37
  requestConnection: (user: SCUserType) => Promise<any>;
38
+ cancelRequestConnection: (user: SCUserType) => Promise<any>;
36
39
  acceptConnection: (user: SCUserType) => Promise<any>;
40
+ removeConnection: (user: SCUserType) => Promise<any>;
37
41
  refresh: () => void;
38
42
  emptyCache: () => void;
39
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useSCConnectionsManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCConnectionsManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsD,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAmBrG;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,IAAI,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;;mBAyMpD,UAAU,KAAG,MAAM;8BApGnB,UAAU,KAAG,QAAQ,GAAG,CAAC;6BA+BzB,UAAU,KAAG,QAAQ,GAAG,CAAC;mBAnExB,IAAI;;EAwJjB"}
1
+ {"version":3,"file":"useSCConnectionsManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCConnectionsManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsD,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAWrG;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,IAAI,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;;;;mBAiQzC,UAAU,KAAG,MAAM;8BAvH9B,UAAU,KAAG,QAAQ,GAAG,CAAC;oCAWzB,UAAU,KAAG,QAAQ,GAAG,CAAC;6BAsBzB,UAAU,KAAG,QAAQ,GAAG,CAAC;6BAXzB,UAAU,KAAG,QAAQ,GAAG,CAAC;mBAvFxB,IAAI;;EA+NjB"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
6
4
  const react_1 = require("react");
7
5
  const api_services_1 = require("@selfcommunity/api-services");
8
6
  const types_1 = require("@selfcommunity/types");
@@ -10,18 +8,11 @@ const utils_1 = require("@selfcommunity/utils");
10
8
  const Errors_1 = require("../constants/Errors");
11
9
  const SCPreferencesProvider_1 = require("../components/provider/SCPreferencesProvider");
12
10
  const Preferences_1 = require("../constants/Preferences");
13
- const useSCCachingManager_1 = __importDefault(require("./useSCCachingManager"));
14
- const pubsub_js_1 = __importDefault(require("pubsub-js"));
11
+ const useSCCachingManager_1 = tslib_1.__importDefault(require("./useSCCachingManager"));
12
+ const pubsub_js_1 = tslib_1.__importDefault(require("pubsub-js"));
15
13
  const Notification_1 = require("../constants/Notification");
16
- /**
17
- * Used on refresh and in status method
18
- * Check if the user status is 'connected', 'sent_connection_request'
19
- * 'received_connection_request', to update the cache and data
20
- */
21
- const STATUS_CONNECTED = 'connected';
22
- const STATUS_DISCONNECTED = 'disconnected';
23
- const STATUS_CONNECTION_REQUEST_SENT = 'sent_connection_request';
24
- const STATUS_CONNECTION_REQUEST_RECEIVED = 'received_connection_request';
14
+ const types_2 = require("@selfcommunity/types");
15
+ const use_deep_compare_effect_1 = require("use-deep-compare-effect");
25
16
  /**
26
17
  :::info
27
18
  This custom hook is used to manage to manage friends.
@@ -38,52 +29,55 @@ const STATUS_CONNECTION_REQUEST_RECEIVED = 'received_connection_request';
38
29
  :::
39
30
  */
40
31
  function useSCConnectionsManager(user) {
41
- const { cache, updateCache, emptyCache, data, setData, loading, setLoading, isLoading } = (0, useSCCachingManager_1.default)();
32
+ const { cache, updateCache, emptyCache, data, setData, loading, setLoading, setUnLoading, isLoading } = (0, useSCCachingManager_1.default)();
42
33
  const scPreferencesContext = (0, SCPreferencesProvider_1.useSCPreferences)();
34
+ const authUserId = user ? user.id : null;
43
35
  const connectionsDisabled = Preferences_1.CONFIGURATIONS_FOLLOW_ENABLED in scPreferencesContext.preferences && scPreferencesContext.preferences[Preferences_1.CONFIGURATIONS_FOLLOW_ENABLED].value;
44
36
  const notificationConnAcceptSubscription = (0, react_1.useRef)(null);
45
37
  const notificationConnRequestSubscription = (0, react_1.useRef)(null);
46
38
  const notificationConnRemoveSubscription = (0, react_1.useRef)(null);
39
+ const notificationConnRequestCancelSubscription = (0, react_1.useRef)(null);
47
40
  /**
48
- * Notification subscriber only for FOLLOW
41
+ * Notification subscriber handler
49
42
  * @param msg
50
43
  * @param data
51
44
  */
52
- const notificationSubscriber = (msg, data) => {
53
- if (data.connection && data.connection_id !== undefined) {
54
- updateCache([data.data.connection.id]);
55
- let _data = [];
56
- if (Notification_1.SCNotificationMapping[data.data.activity_type] === types_1.SCNotificationTypologyType.CONNECTION_REQUEST) {
57
- _data = data.map(([k, v]) => ({
58
- k: k === data.data.connection_id ? STATUS_CONNECTION_REQUEST_SENT : v,
59
- }));
60
- }
61
- else if (Notification_1.SCNotificationMapping[data.data.activity_type] === types_1.SCNotificationTypologyType.CONNECTION_ACCEPT) {
62
- _data = data.map(([k, v]) => ({
63
- k: k === data.data.connection_id ? STATUS_CONNECTED : v,
64
- }));
65
- }
66
- else if (Notification_1.SCNotificationMapping[data.data.activity_type] === types_1.SCNotificationTypologyType.CONNECTION_REMOVE) {
67
- _data = data.map(([k, v]) => ({
68
- k: k === data.data.connection_id ? STATUS_DISCONNECTED : v,
69
- }));
45
+ const notificationSubscriber = (msg, dataMsg) => {
46
+ if (dataMsg.data.connection !== undefined) {
47
+ let _upd;
48
+ switch (Notification_1.SCNotificationMapping[dataMsg.data.activity_type]) {
49
+ case types_1.SCNotificationTypologyType.CONNECTION_REQUEST:
50
+ _upd = { user: 'request_user', state: types_2.SCConnectionStatus.CONNECTION_REQUEST_RECEIVED };
51
+ break;
52
+ case types_1.SCNotificationTypologyType.CONNECTION_CANCEL_REQUEST:
53
+ _upd = { user: 'cancel_request_user', state: null };
54
+ break;
55
+ case types_1.SCNotificationTypologyType.CONNECTION_ACCEPT:
56
+ _upd = { user: 'accept_user', state: types_2.SCConnectionStatus.CONNECTED };
57
+ break;
58
+ case types_1.SCNotificationTypologyType.CONNECTION_REMOVE:
59
+ _upd = { user: 'remove_user', state: null };
60
+ break;
70
61
  }
71
- setData(_data);
62
+ updateCache([dataMsg.data[_upd.user].id]);
63
+ setData((prev) => getDataUpdated(prev, dataMsg.data[_upd.user].id, _upd.state));
72
64
  }
73
65
  };
74
66
  /**
75
67
  * Subscribe to notification types user_follow, user_unfollow
76
68
  */
77
- (0, react_1.useEffect)(() => {
69
+ (0, use_deep_compare_effect_1.useDeepCompareEffectNoCheck)(() => {
78
70
  notificationConnAcceptSubscription.current = pubsub_js_1.default.subscribe(`${types_1.SCNotificationTopicType.INTERACTION}.${types_1.SCNotificationTypologyType.CONNECTION_ACCEPT}`, notificationSubscriber);
79
71
  notificationConnRequestSubscription.current = pubsub_js_1.default.subscribe(`${types_1.SCNotificationTopicType.INTERACTION}.${types_1.SCNotificationTypologyType.CONNECTION_REQUEST}`, notificationSubscriber);
72
+ notificationConnRequestCancelSubscription.current = pubsub_js_1.default.subscribe(`${types_1.SCNotificationTopicType.INTERACTION}.${types_1.SCNotificationTypologyType.CONNECTION_CANCEL_REQUEST}`, notificationSubscriber);
80
73
  notificationConnRemoveSubscription.current = pubsub_js_1.default.subscribe(`${types_1.SCNotificationTopicType.INTERACTION}.${types_1.SCNotificationTypologyType.CONNECTION_REMOVE}`, notificationSubscriber);
81
74
  return () => {
82
75
  pubsub_js_1.default.unsubscribe(notificationConnAcceptSubscription.current);
83
76
  pubsub_js_1.default.unsubscribe(notificationConnRequestSubscription.current);
77
+ pubsub_js_1.default.unsubscribe(notificationConnRequestCancelSubscription.current);
84
78
  pubsub_js_1.default.unsubscribe(notificationConnRemoveSubscription.current);
85
79
  };
86
- }, []);
80
+ }, [data]);
87
81
  /**
88
82
  * Memoized refresh all connections
89
83
  * It makes a single request to the server and retrieves
@@ -92,7 +86,7 @@ function useSCConnectionsManager(user) {
92
86
  */
93
87
  const refresh = (0, react_1.useMemo)(() => () => {
94
88
  emptyCache();
95
- if (user && cache.length > 0) {
89
+ if (authUserId && cache.length > 0) {
96
90
  // Only if user is authenticated
97
91
  api_services_1.http
98
92
  .request({
@@ -105,9 +99,7 @@ function useSCConnectionsManager(user) {
105
99
  return Promise.reject(res);
106
100
  }
107
101
  updateCache(Object.keys(res.data.connection_statuses).map((id) => parseInt(id)));
108
- setData(Object.entries(res.data.connection_statuses)
109
- .filter(([k, v]) => v !== null)
110
- .map(([k, v]) => ({ [parseInt(k)]: v })));
102
+ setData(Object.keys(res.data.connection_statuses).map((k) => ({ [k]: res.data.connection_statuses[k] })));
111
103
  return Promise.resolve(res.data);
112
104
  })
113
105
  .catch((e) => {
@@ -115,64 +107,65 @@ function useSCConnectionsManager(user) {
115
107
  utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, e);
116
108
  });
117
109
  }
118
- }, [data, user, cache]);
110
+ }, [data, authUserId, cache]);
119
111
  /**
120
112
  * Memoized Request connection
121
113
  */
122
- const requestConnection = (0, react_1.useMemo)(() => (user) => {
123
- setLoading((prev) => [...prev, ...[user.id]]);
124
- if (getCurrentStatus(user) === STATUS_CONNECTION_REQUEST_RECEIVED) {
125
- return acceptConnection(user);
126
- }
114
+ const handleRequest = (0, react_1.useMemo)(() => (user, endpoint) => {
115
+ setLoading(user.id);
127
116
  return api_services_1.http
128
117
  .request({
129
- url: api_services_1.Endpoints.UserRequestConnection.url({ id: user.id }),
130
- method: api_services_1.Endpoints.UserRequestConnection.method,
118
+ url: endpoint.url({ id: user.id }),
119
+ method: endpoint.method,
131
120
  })
132
121
  .then((res) => {
133
122
  if (res.status >= 300) {
134
123
  return Promise.reject(res);
135
124
  }
136
125
  updateCache([user.id]);
137
- const _data = data.map(([k, v]) => ({
138
- k: k === user.id ? STATUS_CONNECTION_REQUEST_SENT : v,
139
- }));
140
- setData(_data);
141
- setLoading((prev) => prev.filter((u) => u !== user.id));
126
+ setData((prev) => getDataUpdated(prev, user.id, res.data.connection_status));
127
+ setUnLoading(user.id);
142
128
  return Promise.resolve(res.data);
129
+ })
130
+ .catch((e) => {
131
+ utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, e);
132
+ if (e && e.response && e.response && e.response.status && e.response.status === 403) {
133
+ setUnLoading(user.id);
134
+ return Promise.reject(e);
135
+ }
136
+ return checkUserConnectionStatus(user);
143
137
  });
144
138
  }, [data, loading, cache]);
139
+ /**
140
+ * Memoized Request connection
141
+ */
142
+ const requestConnection = (0, react_1.useMemo)(() => (user) => {
143
+ return handleRequest(user, api_services_1.Endpoints.UserRequestConnection);
144
+ }, [handleRequest]);
145
+ /**
146
+ * Memoized cancel request connection
147
+ */
148
+ const cancelRequestConnection = (0, react_1.useMemo)(() => (user) => {
149
+ return handleRequest(user, api_services_1.Endpoints.UserCancelRequestConnection);
150
+ }, [handleRequest]);
151
+ /**
152
+ * Memoized Remove connection
153
+ */
154
+ const removeConnection = (0, react_1.useMemo)(() => (user) => {
155
+ return handleRequest(user, api_services_1.Endpoints.UserRemoveConnection);
156
+ }, [handleRequest]);
145
157
  /**
146
158
  * Memoized Accept Request connection
147
159
  */
148
160
  const acceptConnection = (0, react_1.useMemo)(() => (user) => {
149
- setLoading((prev) => [...prev, ...[user.id]]);
150
- if (getCurrentStatus(user) === STATUS_CONNECTION_REQUEST_RECEIVED) {
151
- return api_services_1.http
152
- .request({
153
- url: api_services_1.Endpoints.UserAcceptRequestConnection.url({ id: user.id }),
154
- method: api_services_1.Endpoints.UserAcceptRequestConnection.method,
155
- })
156
- .then((res) => {
157
- if (res.status >= 300) {
158
- return Promise.reject(res);
159
- }
160
- updateCache([user.id]);
161
- const _data = data.map(([k, v]) => ({
162
- k: k === user.id ? STATUS_CONNECTED : v,
163
- }));
164
- setData(_data);
165
- setLoading((prev) => prev.filter((u) => u !== user.id));
166
- return Promise.resolve(res.data);
167
- });
168
- }
169
- }, [data, loading, cache]);
161
+ return handleRequest(user, api_services_1.Endpoints.UserAcceptRequestConnection);
162
+ }, [handleRequest]);
170
163
  /**
171
- * Return current user status if exist,
164
+ * Return current user status if exists,
172
165
  * otherwise return null
173
166
  */
174
- const getCurrentStatus = (0, react_1.useMemo)(() => (user) => {
175
- const d = data.filter(([id, v]) => id === user.id);
167
+ const getCurrentUserCacheStatus = (0, react_1.useMemo)(() => (user) => {
168
+ const d = data.filter((k) => parseInt(Object.keys(k)[0]) === user.id);
176
169
  return d.length ? d[0][user.id] : null;
177
170
  }, [data]);
178
171
  /**
@@ -182,40 +175,98 @@ function useSCConnectionsManager(user) {
182
175
  * @param user
183
176
  */
184
177
  const checkUserConnectionStatus = (user) => {
185
- setLoading((prev) => (prev.includes(user.id) ? prev : [...prev, ...[user.id]]));
186
- api_services_1.http
178
+ setLoading(user.id);
179
+ return api_services_1.http
187
180
  .request({
188
- url: api_services_1.Endpoints.UserCheckConnection.url({ id: user.id }),
189
- method: api_services_1.Endpoints.UserCheckConnection.method,
181
+ url: api_services_1.Endpoints.UserCheckConnectionStatus.url({ id: user.id }),
182
+ method: api_services_1.Endpoints.UserCheckConnectionStatus.method,
190
183
  })
191
184
  .then((res) => {
192
185
  if (res.status >= 300) {
193
186
  return Promise.reject(res);
194
187
  }
188
+ setData((prev) => getDataUpdated(prev, user.id, res.data.connection_status));
195
189
  updateCache([user.id]);
196
- setData((prev) => (res.data.is_connection ? [...prev, ...[{ [user.id]: STATUS_CONNECTED }]] : prev.filter(([id, v]) => id !== user.id)));
197
- setLoading((prev) => prev.filter((u) => u !== user.id));
190
+ setUnLoading(user.id);
198
191
  return Promise.resolve(res.data);
192
+ })
193
+ .catch((e) => {
194
+ setUnLoading(user.id);
195
+ return Promise.reject(e);
199
196
  });
200
197
  };
198
+ /**
199
+ * Get updated data
200
+ * @param data
201
+ * @param userId
202
+ * @param connectionStatus
203
+ */
204
+ const getDataUpdated = (data, userId, connectionStatus) => {
205
+ const _index = data.findIndex((k) => parseInt(Object.keys(k)[0]) === userId);
206
+ let _data;
207
+ if (_index < 0) {
208
+ _data = [...data, ...[{ [userId]: connectionStatus }]];
209
+ }
210
+ else {
211
+ _data = data.map((k, i) => {
212
+ if (parseInt(Object.keys(k)[0]) === userId) {
213
+ return { [Object.keys(k)[0]]: connectionStatus };
214
+ }
215
+ return { [Object.keys(k)[0]]: data[i][Object.keys(k)[0]] };
216
+ });
217
+ }
218
+ return _data;
219
+ };
220
+ /**
221
+ * Bypass remote check if the user is followed
222
+ */
223
+ const getConnectionStatus = (0, react_1.useMemo)(() => (user) => {
224
+ updateCache([user.id]);
225
+ setData((prev) => getDataUpdated(prev, user.id, user.connection_status));
226
+ return user.connection_status;
227
+ }, [data, cache]);
201
228
  /**
202
229
  * Memoized status
203
230
  * If user is already in cache -> check data user statuses,
204
231
  * otherwise, check if auth user is connected with user
205
232
  */
206
- const status = (0, react_1.useMemo)(() => (user) => {
233
+ const status = (user) => {
207
234
  if (cache.includes(user.id)) {
208
- return data.filter((k, v) => k === user.id)[0][user.id];
235
+ return getCurrentUserCacheStatus(user);
209
236
  }
210
- if (!loading.includes(user.id)) {
211
- checkUserConnectionStatus(user);
237
+ if (authUserId) {
238
+ if ('connection_status' in user) {
239
+ return getConnectionStatus(user);
240
+ }
241
+ if (!isLoading(user)) {
242
+ checkUserConnectionStatus(user);
243
+ }
212
244
  }
213
245
  return null;
214
- }, [data, loading, cache]);
246
+ };
247
+ /**
248
+ * Empty cache on logout
249
+ */
250
+ (0, react_1.useEffect)(() => {
251
+ if (!authUserId) {
252
+ emptyCache();
253
+ }
254
+ }, [authUserId]);
215
255
  if (connectionsDisabled || !user) {
216
256
  return { connections: data, loading, isLoading };
217
257
  }
218
- return { connections: data, loading, isLoading, status, requestConnection, acceptConnection, refresh, emptyCache };
258
+ return {
259
+ connections: data,
260
+ loading,
261
+ isLoading,
262
+ status,
263
+ requestConnection,
264
+ cancelRequestConnection,
265
+ acceptConnection,
266
+ removeConnection,
267
+ refresh,
268
+ emptyCache,
269
+ };
219
270
  }
220
271
  exports.default = useSCConnectionsManager;
221
272
  //# sourceMappingURL=useSCConnectionsManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSCConnectionsManager.js","sourceRoot":"","sources":["../../../src/hooks/useSCConnectionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSCConnectionsManager.js","sourceRoot":"","sources":["../../../src/hooks/useSCConnectionsManager.ts"],"names":[],"mappings":"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"}