studiokit-scaffolding-js 7.0.12-next.2.9 → 7.0.13-alpha.1

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 (390) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +137 -137
  3. package/lib/components/ActionList.d.ts +2 -2
  4. package/lib/components/ActionList.js +87 -166
  5. package/lib/components/AlertDialog.d.ts +3 -3
  6. package/lib/components/AlertDialog.js +18 -133
  7. package/lib/components/AlertWithIcon.js +52 -93
  8. package/lib/components/ConnectedModal.d.ts +2 -1
  9. package/lib/components/ConnectedModal.js +37 -43
  10. package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
  11. package/lib/components/Dropdowns/GroupsDropdown.js +82 -69
  12. package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
  13. package/lib/components/Dropdowns/ManagedNavDropdown.js +111 -99
  14. package/lib/components/Dropdowns/UserDropdown.js +70 -109
  15. package/lib/components/Dropdowns/index.js +11 -27
  16. package/lib/components/EntityOwnerList.d.ts +3 -3
  17. package/lib/components/EntityOwnerList.js +60 -52
  18. package/lib/components/Error.js +27 -107
  19. package/lib/components/ErrorBoundary.js +94 -133
  20. package/lib/components/ErrorMessage.d.ts +2 -2
  21. package/lib/components/ErrorMessage.js +14 -44
  22. package/lib/components/Forms/DateField.d.ts +2 -2
  23. package/lib/components/Forms/DateField.js +95 -63
  24. package/lib/components/Forms/TimeField.d.ts +2 -2
  25. package/lib/components/Forms/TimeField.js +108 -84
  26. package/lib/components/Forms/index.js +13 -27
  27. package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
  28. package/lib/components/Groups/CreateEditCopySaveButtons.js +14 -102
  29. package/lib/components/Groups/ExternalGroups/Attach.d.ts +7 -6
  30. package/lib/components/Groups/ExternalGroups/Attach.js +188 -213
  31. package/lib/components/Groups/ExternalGroups/Table.js +76 -183
  32. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +1 -5
  33. package/lib/components/Groups/RosterSyncInfo.js +49 -140
  34. package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
  35. package/lib/components/HOC/AccessibleAppComponent.js +124 -101
  36. package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
  37. package/lib/components/HOC/ActivityRequiredComponent.js +107 -93
  38. package/lib/components/HOC/AsyncComponent.d.ts +9 -9
  39. package/lib/components/HOC/AsyncComponent.js +129 -53
  40. package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
  41. package/lib/components/HOC/AuthenticatedComponent.js +96 -59
  42. package/lib/components/HOC/CollectionComponent.d.ts +12 -12
  43. package/lib/components/HOC/CollectionComponent.js +171 -171
  44. package/lib/components/HOC/CollectionFirstItemComponent.d.ts +13 -13
  45. package/lib/components/HOC/CollectionFirstItemComponent.js +94 -52
  46. package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
  47. package/lib/components/HOC/CollectionItemComponent.js +168 -169
  48. package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
  49. package/lib/components/HOC/ConnectedModalComponent.js +140 -110
  50. package/lib/components/HOC/DataDependentComponent.d.ts +55 -3
  51. package/lib/components/HOC/DataDependentComponent.js +79 -30
  52. package/lib/components/HOC/EntityComponent.d.ts +13 -13
  53. package/lib/components/HOC/EntityComponent.js +112 -74
  54. package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
  55. package/lib/components/HOC/FullscreenModalComponent.js +185 -165
  56. package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
  57. package/lib/components/HOC/GroupActivityRequiredComponent.js +47 -48
  58. package/lib/components/HOC/GuidComponent.d.ts +1 -1
  59. package/lib/components/HOC/GuidComponent.js +68 -29
  60. package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +29 -28
  61. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +65 -42
  62. package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
  63. package/lib/components/HOC/ModelErrorRedirectComponent.js +94 -51
  64. package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
  65. package/lib/components/HOC/SearchPersistorComponent.js +216 -243
  66. package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
  67. package/lib/components/HOC/UnauthenticatedComponent.js +82 -37
  68. package/lib/components/HOC/UserComponent.d.ts +1 -1
  69. package/lib/components/HOC/UserComponent.js +11 -12
  70. package/lib/components/Icons/IconAlphaList.js +20 -34
  71. package/lib/components/Icons/IconExternalUser.js +20 -34
  72. package/lib/components/Icons/IconImpersonation.js +20 -34
  73. package/lib/components/Icons/IconStopImpersonating.js +20 -34
  74. package/lib/components/Icons/IconTable.js +21 -35
  75. package/lib/components/Icons/IconTableDeleteCol.js +20 -34
  76. package/lib/components/Icons/IconTableDeleteRow.js +20 -34
  77. package/lib/components/Icons/IconTableInsertCol.js +20 -34
  78. package/lib/components/Icons/IconTableInsertRow.js +20 -34
  79. package/lib/components/Impersonation/Button.d.ts +2 -2
  80. package/lib/components/Impersonation/Button.js +56 -76
  81. package/lib/components/Impersonation/Link.d.ts +2 -2
  82. package/lib/components/Impersonation/Link.js +53 -76
  83. package/lib/components/Impersonation/UserDetail.css +22 -22
  84. package/lib/components/Impersonation/UserDetail.d.ts +2 -2
  85. package/lib/components/Impersonation/UserDetail.js +17 -66
  86. package/lib/components/Loading.js +21 -27
  87. package/lib/components/LockDownBrowser/Check.js +107 -194
  88. package/lib/components/LockDownBrowser/ExitButton.js +14 -27
  89. package/lib/components/LockDownBrowser/Launch.js +85 -70
  90. package/lib/components/Lti/Confirm.js +33 -152
  91. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +2 -4
  92. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +78 -170
  93. package/lib/components/Lti/Launch.js +49 -105
  94. package/lib/components/Lti/LaunchGroup.js +39 -85
  95. package/lib/components/ManageTable.d.ts +2 -1
  96. package/lib/components/ManageTable.js +104 -309
  97. package/lib/components/ManageTableNoDataComponent.js +22 -42
  98. package/lib/components/NewVersionAlert.d.ts +2 -2
  99. package/lib/components/NewVersionAlert.js +91 -82
  100. package/lib/components/NotFound.js +28 -87
  101. package/lib/components/Notifications.d.ts +4 -4
  102. package/lib/components/Notifications.js +169 -187
  103. package/lib/components/PaginationNextButton.js +21 -33
  104. package/lib/components/PaginationPreviousButton.js +21 -33
  105. package/lib/components/Quill/CustomToolbar.d.ts +2 -2
  106. package/lib/components/Quill/CustomToolbar.js +257 -432
  107. package/lib/components/Quill/Formats/Image.d.ts +25 -10
  108. package/lib/components/Quill/Formats/Image.js +86 -80
  109. package/lib/components/Quill/Formats/List.d.ts +3 -6
  110. package/lib/components/Quill/Formats/List.js +74 -52
  111. package/lib/components/Quill/Formats/Video.d.ts +1 -2
  112. package/lib/components/Quill/Formats/Video.js +45 -31
  113. package/lib/components/Quill/ImageDropModule.d.ts +1 -1
  114. package/lib/components/Quill/ImageDropModule.js +122 -149
  115. package/lib/components/Quill/ImageWarning.d.ts +2 -2
  116. package/lib/components/Quill/ImageWarning.js +32 -45
  117. package/lib/components/Quill/ImageWithAltTextModal.d.ts +1 -0
  118. package/lib/components/Quill/ImageWithAltTextModal.js +141 -425
  119. package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
  120. package/lib/components/Quill/Specs/CustomImageSpec.js +51 -43
  121. package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
  122. package/lib/components/Quill/Specs/CustomVideoSpec.js +44 -35
  123. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +1 -2
  124. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +121 -105
  125. package/lib/components/Quill/TableModule/Blots/TableBlot.js +66 -53
  126. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +67 -54
  127. package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
  128. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +241 -225
  129. package/lib/components/Quill/TableModule/Blots/TableContainer.js +99 -82
  130. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +87 -76
  131. package/lib/components/Quill/TableModule/constants.js +41 -45
  132. package/lib/components/Quill/TableModule/index.css +171 -171
  133. package/lib/components/Quill/TableModule/index.d.ts +5 -14
  134. package/lib/components/Quill/TableModule/index.js +313 -373
  135. package/lib/components/Quill/TableModule/utils.js +45 -45
  136. package/lib/components/Quill/accessibilityFix.d.ts +1 -0
  137. package/lib/components/Quill/accessibilityFix.js +251 -235
  138. package/lib/components/Quill/index.js +32 -36
  139. package/lib/components/RefreshIndicator/Bordered.js +32 -48
  140. package/lib/components/RefreshIndicator/Inline.js +33 -48
  141. package/lib/components/RefreshIndicator/index.d.ts +2 -2
  142. package/lib/components/RefreshIndicator/index.js +113 -263
  143. package/lib/components/SearchControls.js +31 -216
  144. package/lib/components/SentryRoute.js +23 -10
  145. package/lib/components/Tables/RoleFilter.d.ts +4 -3
  146. package/lib/components/Tables/RoleFilter.js +46 -71
  147. package/lib/components/Tables/TextFilter.d.ts +3 -2
  148. package/lib/components/Tables/TextFilter.js +20 -62
  149. package/lib/components/UserRoles/Add.d.ts +3 -3
  150. package/lib/components/UserRoles/Add.js +161 -199
  151. package/lib/components/UserRoles/Context.js +9 -11
  152. package/lib/components/UserRoles/RoleCell.js +100 -180
  153. package/lib/components/UserRoles/Select.js +54 -157
  154. package/lib/components/UserRoles/Table.js +102 -221
  155. package/lib/components/UserRoles/index.d.ts +6 -6
  156. package/lib/components/UserRoles/index.js +466 -537
  157. package/lib/config/eslint/index.cjs +21 -0
  158. package/lib/config/eslint/lib/order.cjs +22 -0
  159. package/lib/config/eslint/lib/prettier.cjs +18 -0
  160. package/lib/config/eslint/lib/typescript.cjs +86 -0
  161. package/lib/config/eslint/react.cjs +9 -0
  162. package/lib/constants/baseActivity.js +26 -30
  163. package/lib/constants/baseRole.js +10 -14
  164. package/lib/constants/configuration.d.ts +1 -1
  165. package/lib/constants/configuration.js +39 -43
  166. package/lib/constants/externalProviderType.js +6 -10
  167. package/lib/constants/fetchErrorData.js +11 -15
  168. package/lib/constants/index.js +23 -137
  169. package/lib/constants/lockDownBrowser.js +24 -28
  170. package/lib/constants/mockData.d.ts +6 -4
  171. package/lib/constants/mockData.js +326 -385
  172. package/lib/constants/modelStatus.js +11 -15
  173. package/lib/constants/notificationType.js +8 -12
  174. package/lib/constants/operatingSystem.js +8 -12
  175. package/lib/constants/shard.js +7 -11
  176. package/lib/constants/table.js +21 -21
  177. package/lib/constants/tier.js +8 -12
  178. package/lib/constants/userRole.d.ts +2 -1
  179. package/lib/constants/userRole.js +17 -15
  180. package/lib/css/base/_base.css +98 -98
  181. package/lib/css/base/_typography.css +130 -130
  182. package/lib/css/components/_alert.css +86 -86
  183. package/lib/css/components/_bootstrap-grid.css +28 -28
  184. package/lib/css/components/_buttons.css +397 -397
  185. package/lib/css/components/_forms.css +101 -101
  186. package/lib/css/components/_menu.css +56 -56
  187. package/lib/css/components/_modals.css +46 -46
  188. package/lib/css/components/_quill.css +315 -315
  189. package/lib/css/components/_tables.css +497 -497
  190. package/lib/css/components/_tags.css +12 -12
  191. package/lib/css/index-with-variables.css +15 -15
  192. package/lib/css/index.css +14 -14
  193. package/lib/css/utils/_border.css +463 -463
  194. package/lib/css/utils/_color.css +317 -317
  195. package/lib/css/utils/_display.css +312 -305
  196. package/lib/css/utils/_general.css +48 -48
  197. package/lib/css/utils/_icon.css +16 -16
  198. package/lib/css/utils/_text.css +24 -25
  199. package/lib/css/utils/_width.css +60 -60
  200. package/lib/css/variables.css +84 -84
  201. package/lib/endpointMappings.js +193 -197
  202. package/lib/hooks/useCollection.js +65 -83
  203. package/lib/hooks/useCollectionConfiguration.d.ts +1 -0
  204. package/lib/hooks/useCollectionConfiguration.js +88 -185
  205. package/lib/hooks/useCollectionItem.js +58 -155
  206. package/lib/hooks/useGuid.js +10 -21
  207. package/lib/hooks/usePrevious.d.ts +1 -24
  208. package/lib/hooks/usePrevious.js +14 -84
  209. package/lib/index.js +36 -156
  210. package/lib/redux/actionCreator.d.ts +6 -6
  211. package/lib/redux/actionCreator.js +40 -51
  212. package/lib/redux/actions/AuthAction.js +31 -44
  213. package/lib/redux/actions/ModalAction.d.ts +1 -1
  214. package/lib/redux/actions/ModalAction.js +6 -10
  215. package/lib/redux/actions/ModelAction.d.ts +1 -1
  216. package/lib/redux/actions/ModelAction.js +49 -77
  217. package/lib/redux/actions/NotificationAction.js +6 -10
  218. package/lib/redux/actions/SearchAction.js +5 -9
  219. package/lib/redux/actions/index.js +16 -60
  220. package/lib/redux/configureReducers.d.ts +5 -2
  221. package/lib/redux/configureReducers.js +78 -67
  222. package/lib/redux/configureStore.d.ts +2 -2
  223. package/lib/redux/configureStore.js +115 -83
  224. package/lib/redux/helpers.js +2 -7
  225. package/lib/redux/reducers/authReducer.js +46 -52
  226. package/lib/redux/reducers/index.js +15 -41
  227. package/lib/redux/reducers/modalsReducer.js +52 -49
  228. package/lib/redux/reducers/modelsReducer.d.ts +2 -2
  229. package/lib/redux/reducers/modelsReducer.js +182 -183
  230. package/lib/redux/reducers/notificationsReducer.js +21 -26
  231. package/lib/redux/reducers/searchReducer.js +20 -26
  232. package/lib/redux/sagas/appInsightsSaga.js +62 -24
  233. package/lib/redux/sagas/authSaga.js +414 -287
  234. package/lib/redux/sagas/caliperSaga.js +263 -169
  235. package/lib/redux/sagas/clockOffsetSaga.js +77 -36
  236. package/lib/redux/sagas/configurationSaga.js +46 -13
  237. package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +1 -0
  238. package/lib/redux/sagas/downtimeApiErrorSaga.js +64 -23
  239. package/lib/redux/sagas/errorSaga.d.ts +1 -0
  240. package/lib/redux/sagas/errorSaga.js +63 -29
  241. package/lib/redux/sagas/googleAnalyticsSaga.js +69 -29
  242. package/lib/redux/sagas/identityProviderSaga.js +69 -24
  243. package/lib/redux/sagas/initialDataLoadSaga.js +29 -38
  244. package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +1 -0
  245. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +81 -32
  246. package/lib/redux/sagas/modelFetchSaga.js +459 -379
  247. package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
  248. package/lib/redux/sagas/noStoreSaga.js +101 -68
  249. package/lib/redux/sagas/postLoginDataSaga.js +79 -47
  250. package/lib/redux/sagas/postLoginRedirectSaga.js +71 -30
  251. package/lib/redux/sagas/rootSaga.js +137 -85
  252. package/lib/redux/sagas/sentrySaga.js +85 -29
  253. package/lib/redux/sagas/userIdSaga.js +54 -18
  254. package/lib/services/codeProviderService.js +29 -25
  255. package/lib/services/dateService.js +12 -14
  256. package/lib/services/documentService.js +13 -18
  257. package/lib/services/fetchService.js +168 -134
  258. package/lib/services/persistenceService.d.ts +4 -4
  259. package/lib/services/persistenceService.js +43 -45
  260. package/lib/services/ticketProviderService.js +33 -29
  261. package/lib/services/tokenPersistenceService.js +9 -13
  262. package/lib/services/windowService.js +17 -21
  263. package/lib/startup.d.ts +1 -1
  264. package/lib/startup.js +135 -132
  265. package/lib/types/AppConfiguration.js +1 -5
  266. package/lib/types/Artifact.js +7 -11
  267. package/lib/types/BaseReduxState.js +1 -5
  268. package/lib/types/Client.js +1 -5
  269. package/lib/types/Collection.d.ts +3 -3
  270. package/lib/types/Collection.js +1 -5
  271. package/lib/types/Configuration.js +1 -5
  272. package/lib/types/DeepLinkingResponseRequest.js +1 -5
  273. package/lib/types/DeletableModel.js +1 -5
  274. package/lib/types/Event.js +1 -5
  275. package/lib/types/ExternalGroup.js +1 -5
  276. package/lib/types/ExternalProvider.js +1 -5
  277. package/lib/types/ExternalTerm.js +1 -5
  278. package/lib/types/Group.js +1 -5
  279. package/lib/types/IdentityProvider.js +1 -5
  280. package/lib/types/LtiLaunch.js +1 -5
  281. package/lib/types/NameOnlyEntity.js +1 -5
  282. package/lib/types/Notification.d.ts +2 -2
  283. package/lib/types/Notification.js +1 -5
  284. package/lib/types/OptionalRecord.d.ts +1 -1
  285. package/lib/types/OptionalRecord.js +1 -5
  286. package/lib/types/OwnerSchedule.d.ts +1 -3
  287. package/lib/types/OwnerSchedule.js +1 -5
  288. package/lib/types/PropertyOfType.d.ts +3 -3
  289. package/lib/types/PropertyOfType.js +1 -5
  290. package/lib/types/Quill.js +1 -5
  291. package/lib/types/RoleDescription.d.ts +1 -0
  292. package/lib/types/RoleDescription.js +1 -5
  293. package/lib/types/Search.js +1 -5
  294. package/lib/types/SimpleLocation.js +1 -5
  295. package/lib/types/UniTime.js +1 -5
  296. package/lib/types/User.js +1 -5
  297. package/lib/types/UserRole.js +1 -5
  298. package/lib/types/auth/AuthState.js +1 -5
  299. package/lib/types/auth/CasV1LoginRequestBody.js +1 -5
  300. package/lib/types/auth/ClientCredentials.js +1 -5
  301. package/lib/types/auth/CodeProviderService.js +1 -5
  302. package/lib/types/auth/LocalLoginRequestBody.js +1 -5
  303. package/lib/types/auth/TicketProviderService.js +1 -5
  304. package/lib/types/auth/TokenPersistenceService.js +1 -5
  305. package/lib/types/auth/index.js +18 -82
  306. package/lib/types/index.js +39 -313
  307. package/lib/types/net/EndpointConfig.js +1 -5
  308. package/lib/types/net/EndpointMapping.js +1 -5
  309. package/lib/types/net/EndpointMappings.js +1 -5
  310. package/lib/types/net/ErrorHandler.d.ts +1 -1
  311. package/lib/types/net/ErrorHandler.js +1 -5
  312. package/lib/types/net/FetchConfig.d.ts +1 -1
  313. package/lib/types/net/FetchConfig.js +1 -5
  314. package/lib/types/net/FetchErrorData.js +6 -10
  315. package/lib/types/net/FetchResult.d.ts +2 -2
  316. package/lib/types/net/FetchResult.js +1 -5
  317. package/lib/types/net/HTTPMethod.d.ts +1 -1
  318. package/lib/types/net/HTTPMethod.js +1 -5
  319. package/lib/types/net/HTTPStatusCode.js +12 -16
  320. package/lib/types/net/Metadata.js +1 -5
  321. package/lib/types/net/Model.js +1 -5
  322. package/lib/types/net/ModelCollection.js +1 -5
  323. package/lib/types/net/ModelsState.js +1 -5
  324. package/lib/types/net/OAuthToken.js +1 -5
  325. package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
  326. package/lib/types/net/OAuthTokenOrNull.js +1 -5
  327. package/lib/types/net/TokenAccessFunction.d.ts +1 -1
  328. package/lib/types/net/TokenAccessFunction.js +1 -5
  329. package/lib/types/net/index.js +27 -181
  330. package/lib/utils/baseActivity.d.ts +2 -2
  331. package/lib/utils/baseActivity.js +136 -138
  332. package/lib/utils/baseRole.js +33 -37
  333. package/lib/utils/collection.js +310 -432
  334. package/lib/utils/cookies.js +37 -22
  335. package/lib/utils/date.js +320 -320
  336. package/lib/utils/dom.js +174 -186
  337. package/lib/utils/domainIdentifier.js +9 -9
  338. package/lib/utils/entityUserRole.js +2 -6
  339. package/lib/utils/error.d.ts +1 -1
  340. package/lib/utils/error.js +16 -18
  341. package/lib/utils/events.js +33 -40
  342. package/lib/utils/externalGroup.js +21 -25
  343. package/lib/utils/externalProviders.js +4 -8
  344. package/lib/utils/externalTerms.js +6 -9
  345. package/lib/utils/fetch.d.ts +1 -1
  346. package/lib/utils/fetch.js +185 -188
  347. package/lib/utils/group.js +9 -17
  348. package/lib/utils/groupDates.d.ts +1 -1
  349. package/lib/utils/groupDates.js +39 -43
  350. package/lib/utils/groupRoles.js +28 -28
  351. package/lib/utils/lockDownBrowser.js +12 -16
  352. package/lib/utils/logger.js +25 -30
  353. package/lib/utils/lti.js +5 -10
  354. package/lib/utils/model.d.ts +2 -2
  355. package/lib/utils/model.js +48 -39
  356. package/lib/utils/number.js +26 -23
  357. package/lib/utils/promise.d.ts +1 -6
  358. package/lib/utils/promise.js +15 -34
  359. package/lib/utils/quill.js +77 -66
  360. package/lib/utils/route.d.ts +2 -2
  361. package/lib/utils/route.js +60 -61
  362. package/lib/utils/search.d.ts +1 -1
  363. package/lib/utils/search.js +85 -78
  364. package/lib/utils/shard.js +41 -38
  365. package/lib/utils/sort.d.ts +3 -3
  366. package/lib/utils/sort.js +58 -62
  367. package/lib/utils/string.js +10 -14
  368. package/lib/utils/table.d.ts +3 -3
  369. package/lib/utils/table.js +36 -39
  370. package/lib/utils/timezone.js +26 -12
  371. package/lib/utils/url.d.ts +1 -2
  372. package/lib/utils/url.js +201 -146
  373. package/lib/utils/user.js +61 -59
  374. package/lib/utils/userAgent.js +11 -11
  375. package/lib/utils/userRole.d.ts +3 -3
  376. package/lib/utils/userRole.js +56 -58
  377. package/package.json +207 -226
  378. package/lib/config/eslint/index.d.ts +0 -2
  379. package/lib/config/eslint/index.js +0 -36
  380. package/lib/config/eslint/lib/order.d.ts +0 -3
  381. package/lib/config/eslint/lib/order.js +0 -30
  382. package/lib/config/eslint/lib/prettier.d.ts +0 -3
  383. package/lib/config/eslint/lib/prettier.js +0 -23
  384. package/lib/config/eslint/lib/typescript.d.ts +0 -2
  385. package/lib/config/eslint/lib/typescript.js +0 -98
  386. package/lib/config/eslint/react.d.ts +0 -2
  387. package/lib/config/eslint/react.js +0 -30
  388. package/lib/hooks/useEventCalback.d.ts +0 -14
  389. package/lib/hooks/useEventCalback.js +0 -51
  390. package/lib/types/externals.d.js +0 -2
@@ -1,204 +1,203 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = modelsReducer;
8
- exports.getMetadata = getMetadata;
9
- exports.isCollection = isCollection;
10
- exports.isNullResponse = isNullResponse;
11
- exports.merge = merge;
12
- exports.updateMetadataForChildCollections = updateMetadataForChildCollections;
13
- var _lodash = require("lodash");
14
- var _fp2 = _interopRequireDefault(require("lodash/fp"));
15
- var _actions = require("../actions");
16
- /**
17
- * Given the state and a path into that state object, return the prop that
18
- * is named "_metadata"
19
- *
20
- * @param state The redux state object
21
- * @param path An array of keys that represent the path to the entity in question
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.updateMetadataForChildCollections = exports.merge = exports.isNullResponse = exports.isCollection = exports.getMetadata = void 0;
7
+ var lodash_1 = __importDefault(require("lodash"));
8
+ var fp_1 = __importDefault(require("lodash/fp"));
9
+ var actions_1 = require("../actions");
10
+ /**
11
+ * Given the state and a path into that state object, return the prop that
12
+ * is named "_metadata"
13
+ *
14
+ * @param state The redux state object
15
+ * @param path An array of keys that represent the path to the entity in question
22
16
  */
23
17
  function getMetadata(state, path) {
24
- return (0, _lodash.merge)({}, (0, _lodash.get)(state, path.concat('_metadata')));
18
+ return lodash_1.default.merge({}, lodash_1.default.get(state, path.concat('_metadata')));
25
19
  }
26
-
27
- /**
28
- * Get whether or not an object is a "collection" (id key-value dictionary).
29
- * @param obj
30
- * @returns A boolean
20
+ exports.getMetadata = getMetadata;
21
+ /**
22
+ * Get whether or not an object is a "collection" (id key-value dictionary).
23
+ * @param obj
24
+ * @returns A boolean
31
25
  */
32
26
  function isCollection(obj) {
33
- return !(0, _lodash.isArray)(obj) && (0, _lodash.isPlainObject)(obj) && Object.keys(obj).length > 0 && Object.keys(obj).every(key => {
34
- const child = obj[key];
35
- return (0, _lodash.isPlainObject)(child) && (key === '_metadata' || Object.prototype.hasOwnProperty.call(child, 'id') && (child.id === parseInt(key, 10) || child.id === key));
36
- });
27
+ return (!lodash_1.default.isArray(obj) &&
28
+ lodash_1.default.isPlainObject(obj) &&
29
+ Object.keys(obj).length > 0 &&
30
+ Object.keys(obj).every(function (key) {
31
+ var child = obj[key];
32
+ return (lodash_1.default.isPlainObject(child) &&
33
+ (key === '_metadata' ||
34
+ (Object.prototype.hasOwnProperty.call(child, 'id') &&
35
+ (child.id === parseInt(key, 10) || child.id === key))));
36
+ }));
37
37
  }
38
-
39
- /**
40
- * Get whether or not an object is a "null response".
41
- * @param obj
42
- * @returns A boolean
38
+ exports.isCollection = isCollection;
39
+ /**
40
+ * Get whether or not an object is a "null response".
41
+ * @param obj
42
+ * @returns A boolean
43
43
  */
44
44
  function isNullResponse(obj) {
45
- return (0, _lodash.isPlainObject)(obj) && Object.keys(obj).length > 0 && Object.keys(obj).every(key => {
46
- const child = obj[key];
47
- return key === '_metadata' || key === 'response' && child === null;
48
- });
45
+ return (lodash_1.default.isPlainObject(obj) &&
46
+ Object.keys(obj).length > 0 &&
47
+ Object.keys(obj).every(function (key) {
48
+ var child = obj[key];
49
+ return key === '_metadata' || (key === 'response' && child === null);
50
+ }));
49
51
  }
50
-
51
- /**
52
- * Merge the `current` and `incoming` objects recursively, returning a new combined object.
53
- *
54
- * For each key in `current`:
55
- * * remove if `current` is a "collection" and item key is not in `incoming`
56
- * * recurse if `incoming` is an object or array and has a value
57
- * * or preserve existing value
58
- *
59
- * For each key in `incoming` not in `current`:
60
- * * copy value to result
61
- *
62
- * @param current
63
- * @param incoming
52
+ exports.isNullResponse = isNullResponse;
53
+ /**
54
+ * Merge the `current` and `incoming` objects recursively, returning a new combined object.
55
+ *
56
+ * For each key in `current`:
57
+ * * remove if `current` is a "collection" and item key is not in `incoming`
58
+ * * recurse if `incoming` is an object or array and has a value
59
+ * * or preserve existing value
60
+ *
61
+ * For each key in `incoming` not in `current`:
62
+ * * copy value to result
63
+ *
64
+ * @param current
65
+ * @param incoming
64
66
  */
65
67
  function merge(current, incoming) {
66
- // do not merge arrays
67
- if ((0, _lodash.isArray)(current)) {
68
- return !(0, _lodash.isUndefined)(incoming) ? incoming : current;
69
- }
70
- // if incoming is `null` or a null response (`{'response': null}`), do not merge, just use incoming
71
- if (incoming === null || !(0, _lodash.isUndefined)(incoming) && isNullResponse(incoming)) {
72
- return incoming;
73
- }
74
- const result = Object.keys(current).reduce((out, k) => {
75
- const c = current[k];
76
- const i = incoming && incoming[k];
77
- // non-relations
78
- if (!(0, _lodash.isArray)(c) && !(0, _lodash.isPlainObject)(c)) {
79
- // copy incoming value, if any, otherwise keep current
80
- out[k] = !(0, _lodash.isUndefined)(i) ? i : c;
81
- return out;
68
+ // do not merge arrays
69
+ if (lodash_1.default.isArray(current)) {
70
+ return !lodash_1.default.isUndefined(incoming) ? incoming : current;
82
71
  }
83
- // remove "collection" item not included in incoming
84
- if ((isCollection(current) || isCollection(incoming)) && !(0, _lodash.isUndefined)(incoming) && (0, _lodash.isUndefined)(i)) {
85
- return out;
72
+ // if incoming is `null` or a null response (`{'response': null}`), do not merge, just use incoming
73
+ if (incoming === null || (!lodash_1.default.isUndefined(incoming) && isNullResponse(incoming))) {
74
+ return incoming;
86
75
  }
87
- // merge relations
88
- out[k] = merge(c, i);
89
- return out;
90
- }, {});
91
- if (!(0, _lodash.isNil)(incoming) && (0, _lodash.isPlainObject)(incoming)) {
92
- // copy incoming properties that are not on current
93
- Object.keys(incoming).forEach(k => {
94
- const c = current[k];
95
- const i = incoming[k];
96
- if ((0, _lodash.isUndefined)(c)) {
97
- result[k] = i;
98
- }
99
- });
100
- }
101
- return result;
76
+ var result = Object.keys(current).reduce(function (out, k) {
77
+ var c = current[k];
78
+ var i = incoming && incoming[k];
79
+ // non-relations
80
+ if (!lodash_1.default.isArray(c) && !lodash_1.default.isPlainObject(c)) {
81
+ // copy incoming value, if any, otherwise keep current
82
+ out[k] = !lodash_1.default.isUndefined(i) ? i : c;
83
+ return out;
84
+ }
85
+ // remove "collection" item not included in incoming
86
+ if ((isCollection(current) || isCollection(incoming)) && !lodash_1.default.isUndefined(incoming) && lodash_1.default.isUndefined(i)) {
87
+ return out;
88
+ }
89
+ // merge relations
90
+ out[k] = merge(c, i);
91
+ return out;
92
+ }, {});
93
+ if (!lodash_1.default.isNil(incoming) && lodash_1.default.isPlainObject(incoming)) {
94
+ // copy incoming properties that are not on current
95
+ Object.keys(incoming).forEach(function (k) {
96
+ var c = current[k];
97
+ var i = incoming[k];
98
+ if (lodash_1.default.isUndefined(c)) {
99
+ result[k] = i;
100
+ }
101
+ });
102
+ }
103
+ return result;
102
104
  }
103
-
104
- /**
105
- * Sets `_metadata` on any nested collections and collection items in the data
106
- * @param data
107
- * @param metadata
105
+ exports.merge = merge;
106
+ /**
107
+ * Sets `_metadata` on any nested collections and collection items in the data
108
+ * @param data
109
+ * @param metadata
108
110
  */
109
111
  function updateMetadataForChildCollections(data, metadata) {
110
- const isDataCollection = isCollection(data);
111
- Object.keys(data).forEach(key => {
112
- const value = data[key];
113
- if (isDataCollection && key !== '_metadata' && (0, _lodash.isPlainObject)(value) || isCollection(value)) {
114
- value._metadata = metadata;
115
- updateMetadataForChildCollections(value, metadata);
116
- }
117
- });
112
+ var isDataCollection = isCollection(data);
113
+ Object.keys(data).forEach(function (key) {
114
+ var value = data[key];
115
+ if ((isDataCollection && key !== '_metadata' && lodash_1.default.isPlainObject(value)) || isCollection(value)) {
116
+ value._metadata = metadata;
117
+ updateMetadataForChildCollections(value, metadata);
118
+ }
119
+ });
118
120
  }
119
-
120
- /**
121
- * Reducer for fetching and updating `models` in redux.
122
- *
123
- * Fetching state updated with every action.
124
- * Data updated on result received.
125
- * Data and fetchedDate NOT deleted on failed request. All data at key removed on MODEL_REMOVE_KEY.
126
- *
127
- * All actions require a `modelPath` key to function with this reducer.
128
- *
129
- * Arrays are converted to objects that represent a dictionary with the numeric id of the object used
130
- * as the key and the entire object used as the value
131
- *
132
- * @export
133
- * @param state The state of the models. Initially empty
134
- * @param action The action upon which we dispatch
135
- * @returns The updated state
121
+ exports.updateMetadataForChildCollections = updateMetadataForChildCollections;
122
+ /**
123
+ * Reducer for fetching and updating `models` in redux.
124
+ *
125
+ * Fetching state updated with every action.
126
+ * Data updated on result received.
127
+ * Data and fetchedDate NOT deleted on failed request. All data at key removed on MODEL_REMOVE_KEY.
128
+ *
129
+ * All actions require a `modelPath` key to function with this reducer.
130
+ *
131
+ * Arrays are converted to objects that represent a dictionary with the numeric id of the object used
132
+ * as the key and the entire object used as the value
133
+ *
134
+ * @export
135
+ * @param state The state of the models. Initially empty
136
+ * @param action The action upon which we dispatch
137
+ * @returns The updated state
136
138
  */
137
- function modelsReducer() {
138
- let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
139
- let action = arguments.length > 1 ? arguments[1] : undefined;
140
- if (!action.modelPath) {
141
- return state;
142
- }
143
- const path = action.modelPath.split('.');
144
- // the object value at the specified path
145
- let valueAtPath = (0, _lodash.merge)({}, (0, _lodash.get)(state, path));
146
- const metadata = getMetadata(state, path);
147
- let metadataUpdate;
148
- switch (action.type) {
149
- case _actions.MODEL_FETCH_START_ACTION_TYPE.FETCH_START:
150
- // Retain the entity data, update the metadata to reflect fetch in request state
151
- metadataUpdate = {
152
- isFetching: true,
153
- hasError: false,
154
- lastFetchErrorData: undefined
155
- };
156
- valueAtPath._metadata = (0, _lodash.merge)(metadata, metadataUpdate);
157
- if (action.guid) {
158
- valueAtPath.guid = action.guid;
159
- }
160
- return _fp2.default.setWith(Object, path, valueAtPath, state);
161
- case _actions.MODEL_FETCH_RESULT_ACTION_TYPE.FETCH_RESULT_RECEIVED:
162
- {
163
- // Update the metadata to reflect fetch is complete.
164
- metadataUpdate = {
165
- isFetching: false,
166
- hasError: false,
167
- lastFetchErrorData: undefined,
168
- fetchedAt: new Date()
169
- };
170
- const incoming = !(0, _lodash.isPlainObject)(action.data) && !(0, _lodash.isArray)(action.data) ? {
171
- response: action.data
172
- } : action.data;
173
- updateMetadataForChildCollections(incoming, metadataUpdate);
174
- // merging the incoming with existing
175
- // otherwise completely replace the existing value in redux
176
- if (!action.replaceValue) {
177
- valueAtPath = merge(valueAtPath, incoming);
178
- } else {
179
- valueAtPath = (0, _lodash.merge)({}, incoming);
139
+ function modelsReducer(state, action) {
140
+ if (state === void 0) { state = {}; }
141
+ if (!action.modelPath) {
142
+ return state;
143
+ }
144
+ var path = action.modelPath.split('.');
145
+ // the object value at the specified path
146
+ var valueAtPath = lodash_1.default.merge({}, lodash_1.default.get(state, path));
147
+ var metadata = getMetadata(state, path);
148
+ var metadataUpdate;
149
+ switch (action.type) {
150
+ case actions_1.MODEL_FETCH_START_ACTION_TYPE.FETCH_START:
151
+ // Retain the entity data, update the metadata to reflect fetch in request state
152
+ metadataUpdate = {
153
+ isFetching: true,
154
+ hasError: false,
155
+ lastFetchErrorData: undefined
156
+ };
157
+ valueAtPath._metadata = lodash_1.default.merge(metadata, metadataUpdate);
158
+ if (action.guid) {
159
+ valueAtPath.guid = action.guid;
160
+ }
161
+ return fp_1.default.setWith(Object, path, valueAtPath, state);
162
+ case actions_1.MODEL_FETCH_RESULT_ACTION_TYPE.FETCH_RESULT_RECEIVED: {
163
+ // Update the metadata to reflect fetch is complete.
164
+ metadataUpdate = {
165
+ isFetching: false,
166
+ hasError: false,
167
+ lastFetchErrorData: undefined,
168
+ fetchedAt: new Date()
169
+ };
170
+ var incoming = !lodash_1.default.isPlainObject(action.data) && !lodash_1.default.isArray(action.data) ? { response: action.data } : action.data;
171
+ updateMetadataForChildCollections(incoming, metadataUpdate);
172
+ // merging the incoming with existing
173
+ // otherwise completely replace the existing value in redux
174
+ if (!action.replaceValue) {
175
+ valueAtPath = merge(valueAtPath, incoming);
176
+ }
177
+ else {
178
+ valueAtPath = lodash_1.default.merge({}, incoming);
179
+ }
180
+ valueAtPath._metadata = lodash_1.default.merge({}, metadata, metadataUpdate);
181
+ var result = fp_1.default.setWith(Object, path, valueAtPath, state);
182
+ return result;
180
183
  }
181
- valueAtPath._metadata = (0, _lodash.merge)({}, metadata, metadataUpdate);
182
- const result = _fp2.default.setWith(Object, path, valueAtPath, state);
183
- return result;
184
- }
185
- case _actions.MODEL_FETCH_ERROR_ACTION_TYPE.FETCH_FAILED:
186
- // Retain the object, update the metadata to reflect the fact that the request failed
187
- metadataUpdate = {
188
- isFetching: false,
189
- hasError: true,
190
- lastFetchErrorData: action.errorData
191
- };
192
- valueAtPath._metadata = (0, _lodash.merge)(metadata, metadataUpdate);
193
- if (action.guid) {
194
- valueAtPath.guid = action.guid;
195
- }
196
- return _fp2.default.setWith(Object, path, valueAtPath, state);
197
- case _actions.MODEL_REMOVE_KEY_ACTION_TYPE:
198
- // Completely remove the object at the path from the state
199
- return _fp2.default.unset(path, state);
200
- default:
201
- return state;
202
- }
184
+ case actions_1.MODEL_FETCH_ERROR_ACTION_TYPE.FETCH_FAILED:
185
+ // Retain the object, update the metadata to reflect the fact that the request failed
186
+ metadataUpdate = {
187
+ isFetching: false,
188
+ hasError: true,
189
+ lastFetchErrorData: action.errorData
190
+ };
191
+ valueAtPath._metadata = lodash_1.default.merge(metadata, metadataUpdate);
192
+ if (action.guid) {
193
+ valueAtPath.guid = action.guid;
194
+ }
195
+ return fp_1.default.setWith(Object, path, valueAtPath, state);
196
+ case actions_1.MODEL_REMOVE_KEY_ACTION_TYPE:
197
+ // Completely remove the object at the path from the state
198
+ return fp_1.default.unset(path, state);
199
+ default:
200
+ return state;
201
+ }
203
202
  }
204
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9mcDIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FjdGlvbnMiLCJnZXRNZXRhZGF0YSIsInN0YXRlIiwicGF0aCIsImxvZGFzaE1lcmdlIiwiZ2V0IiwiY29uY2F0IiwiaXNDb2xsZWN0aW9uIiwib2JqIiwiaXNBcnJheSIsImlzUGxhaW5PYmplY3QiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiZXZlcnkiLCJrZXkiLCJjaGlsZCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImlkIiwicGFyc2VJbnQiLCJpc051bGxSZXNwb25zZSIsIm1lcmdlIiwiY3VycmVudCIsImluY29taW5nIiwiaXNVbmRlZmluZWQiLCJyZXN1bHQiLCJyZWR1Y2UiLCJvdXQiLCJrIiwiYyIsImkiLCJpc05pbCIsImZvckVhY2giLCJ1cGRhdGVNZXRhZGF0YUZvckNoaWxkQ29sbGVjdGlvbnMiLCJkYXRhIiwibWV0YWRhdGEiLCJpc0RhdGFDb2xsZWN0aW9uIiwidmFsdWUiLCJfbWV0YWRhdGEiLCJtb2RlbHNSZWR1Y2VyIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiYWN0aW9uIiwibW9kZWxQYXRoIiwic3BsaXQiLCJ2YWx1ZUF0UGF0aCIsIm1ldGFkYXRhVXBkYXRlIiwidHlwZSIsIk1PREVMX0ZFVENIX1NUQVJUX0FDVElPTl9UWVBFIiwiRkVUQ0hfU1RBUlQiLCJpc0ZldGNoaW5nIiwiaGFzRXJyb3IiLCJsYXN0RmV0Y2hFcnJvckRhdGEiLCJndWlkIiwiX2ZwIiwic2V0V2l0aCIsIk1PREVMX0ZFVENIX1JFU1VMVF9BQ1RJT05fVFlQRSIsIkZFVENIX1JFU1VMVF9SRUNFSVZFRCIsImZldGNoZWRBdCIsIkRhdGUiLCJyZXNwb25zZSIsInJlcGxhY2VWYWx1ZSIsIk1PREVMX0ZFVENIX0VSUk9SX0FDVElPTl9UWVBFIiwiRkVUQ0hfRkFJTEVEIiwiZXJyb3JEYXRhIiwiTU9ERUxfUkVNT1ZFX0tFWV9BQ1RJT05fVFlQRSIsInVuc2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlZHV4L3JlZHVjZXJzL21vZGVsc1JlZHVjZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSwgZ2V0LCBpc0FycmF5LCBpc05pbCwgaXNQbGFpbk9iamVjdCwgaXNVbmRlZmluZWQsIG1lcmdlIGFzIGxvZGFzaE1lcmdlIH0gZnJvbSAnbG9kYXNoJ1xyXG5pbXBvcnQgX2ZwIGZyb20gJ2xvZGFzaC9mcCdcclxuaW1wb3J0IHsgTWV0YWRhdGEsIE1vZGVsIH0gZnJvbSAnLi4vLi4vdHlwZXMnXHJcbmltcG9ydCB7XHJcblx0TU9ERUxfRkVUQ0hfRVJST1JfQUNUSU9OX1RZUEUsXHJcblx0TU9ERUxfRkVUQ0hfUkVTVUxUX0FDVElPTl9UWVBFLFxyXG5cdE1PREVMX0ZFVENIX1NUQVJUX0FDVElPTl9UWVBFLFxyXG5cdE1PREVMX1JFTU9WRV9LRVlfQUNUSU9OX1RZUEUsXHJcblx0TW9kZWxTdG9yZUFjdGlvblxyXG59IGZyb20gJy4uL2FjdGlvbnMnXHJcblxyXG4vKipcclxuICogR2l2ZW4gdGhlIHN0YXRlIGFuZCBhIHBhdGggaW50byB0aGF0IHN0YXRlIG9iamVjdCwgcmV0dXJuIHRoZSBwcm9wIHRoYXRcclxuICogaXMgbmFtZWQgXCJfbWV0YWRhdGFcIlxyXG4gKlxyXG4gKiBAcGFyYW0gc3RhdGUgVGhlIHJlZHV4IHN0YXRlIG9iamVjdFxyXG4gKiBAcGFyYW0gcGF0aCBBbiBhcnJheSBvZiBrZXlzIHRoYXQgcmVwcmVzZW50IHRoZSBwYXRoIHRvIHRoZSBlbnRpdHkgaW4gcXVlc3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRNZXRhZGF0YShzdGF0ZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIHBhdGg6IHN0cmluZ1tdKTogTWV0YWRhdGEge1xyXG5cdHJldHVybiBsb2Rhc2hNZXJnZSh7fSwgZ2V0KHN0YXRlLCBwYXRoLmNvbmNhdCgnX21ldGFkYXRhJykpKVxyXG59XHJcblxyXG4vKipcclxuICogR2V0IHdoZXRoZXIgb3Igbm90IGFuIG9iamVjdCBpcyBhIFwiY29sbGVjdGlvblwiIChpZCBrZXktdmFsdWUgZGljdGlvbmFyeSkuXHJcbiAqIEBwYXJhbSBvYmpcclxuICogQHJldHVybnMgQSBib29sZWFuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNDb2xsZWN0aW9uKG9iajogYW55KSB7XHJcblx0cmV0dXJuIChcclxuXHRcdCFpc0FycmF5KG9iaikgJiZcclxuXHRcdGlzUGxhaW5PYmplY3Qob2JqKSAmJlxyXG5cdFx0T2JqZWN0LmtleXMob2JqKS5sZW5ndGggPiAwICYmXHJcblx0XHRPYmplY3Qua2V5cyhvYmopLmV2ZXJ5KGtleSA9PiB7XHJcblx0XHRcdGNvbnN0IGNoaWxkID0gb2JqW2tleV1cclxuXHRcdFx0cmV0dXJuIChcclxuXHRcdFx0XHRpc1BsYWluT2JqZWN0KGNoaWxkKSAmJlxyXG5cdFx0XHRcdChrZXkgPT09ICdfbWV0YWRhdGEnIHx8XHJcblx0XHRcdFx0XHQoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNoaWxkLCAnaWQnKSAmJlxyXG5cdFx0XHRcdFx0XHQoY2hpbGQuaWQgPT09IHBhcnNlSW50KGtleSwgMTApIHx8IGNoaWxkLmlkID09PSBrZXkpKSlcclxuXHRcdFx0KVxyXG5cdFx0fSlcclxuXHQpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgd2hldGhlciBvciBub3QgYW4gb2JqZWN0IGlzIGEgXCJudWxsIHJlc3BvbnNlXCIuXHJcbiAqIEBwYXJhbSBvYmpcclxuICogQHJldHVybnMgQSBib29sZWFuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNOdWxsUmVzcG9uc2Uob2JqOiBhbnkpIHtcclxuXHRyZXR1cm4gKFxyXG5cdFx0aXNQbGFpbk9iamVjdChvYmopICYmXHJcblx0XHRPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA+IDAgJiZcclxuXHRcdE9iamVjdC5rZXlzKG9iaikuZXZlcnkoa2V5ID0+IHtcclxuXHRcdFx0Y29uc3QgY2hpbGQgPSBvYmpba2V5XVxyXG5cdFx0XHRyZXR1cm4ga2V5ID09PSAnX21ldGFkYXRhJyB8fCAoa2V5ID09PSAncmVzcG9uc2UnICYmIGNoaWxkID09PSBudWxsKVxyXG5cdFx0fSlcclxuXHQpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZXJnZSB0aGUgYGN1cnJlbnRgIGFuZCBgaW5jb21pbmdgIG9iamVjdHMgcmVjdXJzaXZlbHksIHJldHVybmluZyBhIG5ldyBjb21iaW5lZCBvYmplY3QuXHJcbiAqXHJcbiAqIEZvciBlYWNoIGtleSBpbiBgY3VycmVudGA6XHJcbiAqICogcmVtb3ZlIGlmIGBjdXJyZW50YCBpcyBhIFwiY29sbGVjdGlvblwiIGFuZCBpdGVtIGtleSBpcyBub3QgaW4gYGluY29taW5nYFxyXG4gKiAqIHJlY3Vyc2UgaWYgYGluY29taW5nYCBpcyBhbiBvYmplY3Qgb3IgYXJyYXkgYW5kIGhhcyBhIHZhbHVlXHJcbiAqICogb3IgcHJlc2VydmUgZXhpc3RpbmcgdmFsdWVcclxuICpcclxuICogRm9yIGVhY2gga2V5IGluIGBpbmNvbWluZ2Agbm90IGluIGBjdXJyZW50YDpcclxuICogKiBjb3B5IHZhbHVlIHRvIHJlc3VsdFxyXG4gKlxyXG4gKiBAcGFyYW0gY3VycmVudFxyXG4gKiBAcGFyYW0gaW5jb21pbmdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBtZXJnZShjdXJyZW50OiBEaWN0aW9uYXJ5PGFueT4sIGluY29taW5nPzogRGljdGlvbmFyeTxhbnk+IHwgbnVsbCkge1xyXG5cdC8vIGRvIG5vdCBtZXJnZSBhcnJheXNcclxuXHRpZiAoaXNBcnJheShjdXJyZW50KSkge1xyXG5cdFx0cmV0dXJuICFpc1VuZGVmaW5lZChpbmNvbWluZykgPyBpbmNvbWluZyA6IGN1cnJlbnRcclxuXHR9XHJcblx0Ly8gaWYgaW5jb21pbmcgaXMgYG51bGxgIG9yIGEgbnVsbCByZXNwb25zZSAoYHsncmVzcG9uc2UnOiBudWxsfWApLCBkbyBub3QgbWVyZ2UsIGp1c3QgdXNlIGluY29taW5nXHJcblx0aWYgKGluY29taW5nID09PSBudWxsIHx8ICghaXNVbmRlZmluZWQoaW5jb21pbmcpICYmIGlzTnVsbFJlc3BvbnNlKGluY29taW5nKSkpIHtcclxuXHRcdHJldHVybiBpbmNvbWluZ1xyXG5cdH1cclxuXHRjb25zdCByZXN1bHQ6IERpY3Rpb25hcnk8YW55PiA9IE9iamVjdC5rZXlzKGN1cnJlbnQpLnJlZHVjZSgob3V0OiBEaWN0aW9uYXJ5PGFueT4sIGspID0+IHtcclxuXHRcdGNvbnN0IGMgPSBjdXJyZW50W2tdXHJcblx0XHRjb25zdCBpID0gaW5jb21pbmcgJiYgaW5jb21pbmdba11cclxuXHRcdC8vIG5vbi1yZWxhdGlvbnNcclxuXHRcdGlmICghaXNBcnJheShjKSAmJiAhaXNQbGFpbk9iamVjdChjKSkge1xyXG5cdFx0XHQvLyBjb3B5IGluY29taW5nIHZhbHVlLCBpZiBhbnksIG90aGVyd2lzZSBrZWVwIGN1cnJlbnRcclxuXHRcdFx0b3V0W2tdID0gIWlzVW5kZWZpbmVkKGkpID8gaSA6IGNcclxuXHRcdFx0cmV0dXJuIG91dFxyXG5cdFx0fVxyXG5cdFx0Ly8gcmVtb3ZlIFwiY29sbGVjdGlvblwiIGl0ZW0gbm90IGluY2x1ZGVkIGluIGluY29taW5nXHJcblx0XHRpZiAoKGlzQ29sbGVjdGlvbihjdXJyZW50KSB8fCBpc0NvbGxlY3Rpb24oaW5jb21pbmcpKSAmJiAhaXNVbmRlZmluZWQoaW5jb21pbmcpICYmIGlzVW5kZWZpbmVkKGkpKSB7XHJcblx0XHRcdHJldHVybiBvdXRcclxuXHRcdH1cclxuXHRcdC8vIG1lcmdlIHJlbGF0aW9uc1xyXG5cdFx0b3V0W2tdID0gbWVyZ2UoYywgaSlcclxuXHRcdHJldHVybiBvdXRcclxuXHR9LCB7fSlcclxuXHRpZiAoIWlzTmlsKGluY29taW5nKSAmJiBpc1BsYWluT2JqZWN0KGluY29taW5nKSkge1xyXG5cdFx0Ly8gY29weSBpbmNvbWluZyBwcm9wZXJ0aWVzIHRoYXQgYXJlIG5vdCBvbiBjdXJyZW50XHJcblx0XHRPYmplY3Qua2V5cyhpbmNvbWluZykuZm9yRWFjaChrID0+IHtcclxuXHRcdFx0Y29uc3QgYyA9IGN1cnJlbnRba11cclxuXHRcdFx0Y29uc3QgaSA9IGluY29taW5nW2tdXHJcblx0XHRcdGlmIChpc1VuZGVmaW5lZChjKSkge1xyXG5cdFx0XHRcdHJlc3VsdFtrXSA9IGlcclxuXHRcdFx0fVxyXG5cdFx0fSlcclxuXHR9XHJcblx0cmV0dXJuIHJlc3VsdFxyXG59XHJcblxyXG4vKipcclxuICogU2V0cyBgX21ldGFkYXRhYCBvbiBhbnkgbmVzdGVkIGNvbGxlY3Rpb25zIGFuZCBjb2xsZWN0aW9uIGl0ZW1zIGluIHRoZSBkYXRhXHJcbiAqIEBwYXJhbSBkYXRhXHJcbiAqIEBwYXJhbSBtZXRhZGF0YVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU1ldGFkYXRhRm9yQ2hpbGRDb2xsZWN0aW9ucyhkYXRhOiBEaWN0aW9uYXJ5PGFueT4sIG1ldGFkYXRhOiBNZXRhZGF0YSkge1xyXG5cdGNvbnN0IGlzRGF0YUNvbGxlY3Rpb24gPSBpc0NvbGxlY3Rpb24oZGF0YSlcclxuXHRPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKGtleSA9PiB7XHJcblx0XHRjb25zdCB2YWx1ZSA9IGRhdGFba2V5XVxyXG5cdFx0aWYgKChpc0RhdGFDb2xsZWN0aW9uICYmIGtleSAhPT0gJ19tZXRhZGF0YScgJiYgaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHx8IGlzQ29sbGVjdGlvbih2YWx1ZSkpIHtcclxuXHRcdFx0dmFsdWUuX21ldGFkYXRhID0gbWV0YWRhdGFcclxuXHRcdFx0dXBkYXRlTWV0YWRhdGFGb3JDaGlsZENvbGxlY3Rpb25zKHZhbHVlIGFzIG9iamVjdCwgbWV0YWRhdGEpXHJcblx0XHR9XHJcblx0fSlcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlZHVjZXIgZm9yIGZldGNoaW5nIGFuZCB1cGRhdGluZyBgbW9kZWxzYCBpbiByZWR1eC5cclxuICpcclxuICogRmV0Y2hpbmcgc3RhdGUgdXBkYXRlZCB3aXRoIGV2ZXJ5IGFjdGlvbi5cclxuICogRGF0YSB1cGRhdGVkIG9uIHJlc3VsdCByZWNlaXZlZC5cclxuICogRGF0YSBhbmQgZmV0Y2hlZERhdGUgTk9UIGRlbGV0ZWQgb24gZmFpbGVkIHJlcXVlc3QuIEFsbCBkYXRhIGF0IGtleSByZW1vdmVkIG9uIE1PREVMX1JFTU9WRV9LRVkuXHJcbiAqXHJcbiAqIEFsbCBhY3Rpb25zIHJlcXVpcmUgYSBgbW9kZWxQYXRoYCBrZXkgdG8gZnVuY3Rpb24gd2l0aCB0aGlzIHJlZHVjZXIuXHJcbiAqXHJcbiAqIEFycmF5cyBhcmUgY29udmVydGVkIHRvIG9iamVjdHMgdGhhdCByZXByZXNlbnQgYSBkaWN0aW9uYXJ5IHdpdGggdGhlIG51bWVyaWMgaWQgb2YgdGhlIG9iamVjdCB1c2VkXHJcbiAqIGFzIHRoZSBrZXkgYW5kIHRoZSBlbnRpcmUgb2JqZWN0IHVzZWQgYXMgdGhlIHZhbHVlXHJcbiAqXHJcbiAqIEBleHBvcnRcclxuICogQHBhcmFtIHN0YXRlIFRoZSBzdGF0ZSBvZiB0aGUgbW9kZWxzLiBJbml0aWFsbHkgZW1wdHlcclxuICogQHBhcmFtIGFjdGlvbiBUaGUgYWN0aW9uIHVwb24gd2hpY2ggd2UgZGlzcGF0Y2hcclxuICogQHJldHVybnMgVGhlIHVwZGF0ZWQgc3RhdGVcclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1vZGVsc1JlZHVjZXIoc3RhdGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge30sIGFjdGlvbjogTW9kZWxTdG9yZUFjdGlvbikge1xyXG5cdGlmICghYWN0aW9uLm1vZGVsUGF0aCkge1xyXG5cdFx0cmV0dXJuIHN0YXRlXHJcblx0fVxyXG5cdGNvbnN0IHBhdGg6IHN0cmluZ1tdID0gYWN0aW9uLm1vZGVsUGF0aC5zcGxpdCgnLicpXHJcblx0Ly8gdGhlIG9iamVjdCB2YWx1ZSBhdCB0aGUgc3BlY2lmaWVkIHBhdGhcclxuXHRsZXQgdmFsdWVBdFBhdGg6IE1vZGVsID0gbG9kYXNoTWVyZ2Uoe30sIGdldChzdGF0ZSwgcGF0aCkpXHJcblx0Y29uc3QgbWV0YWRhdGEgPSBnZXRNZXRhZGF0YShzdGF0ZSwgcGF0aClcclxuXHRsZXQgbWV0YWRhdGFVcGRhdGU6IE1ldGFkYXRhXHJcblxyXG5cdHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcclxuXHRcdGNhc2UgTU9ERUxfRkVUQ0hfU1RBUlRfQUNUSU9OX1RZUEUuRkVUQ0hfU1RBUlQ6XHJcblx0XHRcdC8vIFJldGFpbiB0aGUgZW50aXR5IGRhdGEsIHVwZGF0ZSB0aGUgbWV0YWRhdGEgdG8gcmVmbGVjdCBmZXRjaCBpbiByZXF1ZXN0IHN0YXRlXHJcblx0XHRcdG1ldGFkYXRhVXBkYXRlID0ge1xyXG5cdFx0XHRcdGlzRmV0Y2hpbmc6IHRydWUsXHJcblx0XHRcdFx0aGFzRXJyb3I6IGZhbHNlLFxyXG5cdFx0XHRcdGxhc3RGZXRjaEVycm9yRGF0YTogdW5kZWZpbmVkXHJcblx0XHRcdH1cclxuXHRcdFx0dmFsdWVBdFBhdGguX21ldGFkYXRhID0gbG9kYXNoTWVyZ2UobWV0YWRhdGEsIG1ldGFkYXRhVXBkYXRlKVxyXG5cdFx0XHRpZiAoYWN0aW9uLmd1aWQpIHtcclxuXHRcdFx0XHR2YWx1ZUF0UGF0aC5ndWlkID0gYWN0aW9uLmd1aWRcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gX2ZwLnNldFdpdGgoT2JqZWN0LCBwYXRoLCB2YWx1ZUF0UGF0aCwgc3RhdGUpXHJcblxyXG5cdFx0Y2FzZSBNT0RFTF9GRVRDSF9SRVNVTFRfQUNUSU9OX1RZUEUuRkVUQ0hfUkVTVUxUX1JFQ0VJVkVEOiB7XHJcblx0XHRcdC8vIFVwZGF0ZSB0aGUgbWV0YWRhdGEgdG8gcmVmbGVjdCBmZXRjaCBpcyBjb21wbGV0ZS5cclxuXHRcdFx0bWV0YWRhdGFVcGRhdGUgPSB7XHJcblx0XHRcdFx0aXNGZXRjaGluZzogZmFsc2UsXHJcblx0XHRcdFx0aGFzRXJyb3I6IGZhbHNlLFxyXG5cdFx0XHRcdGxhc3RGZXRjaEVycm9yRGF0YTogdW5kZWZpbmVkLFxyXG5cdFx0XHRcdGZldGNoZWRBdDogbmV3IERhdGUoKVxyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnN0IGluY29taW5nOiBvYmplY3QgPVxyXG5cdFx0XHRcdCFpc1BsYWluT2JqZWN0KGFjdGlvbi5kYXRhKSAmJiAhaXNBcnJheShhY3Rpb24uZGF0YSkgPyB7IHJlc3BvbnNlOiBhY3Rpb24uZGF0YSB9IDogYWN0aW9uLmRhdGFcclxuXHRcdFx0dXBkYXRlTWV0YWRhdGFGb3JDaGlsZENvbGxlY3Rpb25zKGluY29taW5nLCBtZXRhZGF0YVVwZGF0ZSlcclxuXHRcdFx0Ly8gbWVyZ2luZyB0aGUgaW5jb21pbmcgd2l0aCBleGlzdGluZ1xyXG5cdFx0XHQvLyBvdGhlcndpc2UgY29tcGxldGVseSByZXBsYWNlIHRoZSBleGlzdGluZyB2YWx1ZSBpbiByZWR1eFxyXG5cdFx0XHRpZiAoIWFjdGlvbi5yZXBsYWNlVmFsdWUpIHtcclxuXHRcdFx0XHR2YWx1ZUF0UGF0aCA9IG1lcmdlKHZhbHVlQXRQYXRoLCBpbmNvbWluZykgYXMgTW9kZWxcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR2YWx1ZUF0UGF0aCA9IGxvZGFzaE1lcmdlKHt9LCBpbmNvbWluZykgYXMgTW9kZWxcclxuXHRcdFx0fVxyXG5cdFx0XHR2YWx1ZUF0UGF0aC5fbWV0YWRhdGEgPSBsb2Rhc2hNZXJnZSh7fSwgbWV0YWRhdGEsIG1ldGFkYXRhVXBkYXRlKVxyXG5cdFx0XHRjb25zdCByZXN1bHQgPSBfZnAuc2V0V2l0aChPYmplY3QsIHBhdGgsIHZhbHVlQXRQYXRoLCBzdGF0ZSlcclxuXHRcdFx0cmV0dXJuIHJlc3VsdFxyXG5cdFx0fVxyXG5cdFx0Y2FzZSBNT0RFTF9GRVRDSF9FUlJPUl9BQ1RJT05fVFlQRS5GRVRDSF9GQUlMRUQ6XHJcblx0XHRcdC8vIFJldGFpbiB0aGUgb2JqZWN0LCB1cGRhdGUgdGhlIG1ldGFkYXRhIHRvIHJlZmxlY3QgdGhlIGZhY3QgdGhhdCB0aGUgcmVxdWVzdCBmYWlsZWRcclxuXHRcdFx0bWV0YWRhdGFVcGRhdGUgPSB7XHJcblx0XHRcdFx0aXNGZXRjaGluZzogZmFsc2UsXHJcblx0XHRcdFx0aGFzRXJyb3I6IHRydWUsXHJcblx0XHRcdFx0bGFzdEZldGNoRXJyb3JEYXRhOiBhY3Rpb24uZXJyb3JEYXRhXHJcblx0XHRcdH1cclxuXHRcdFx0dmFsdWVBdFBhdGguX21ldGFkYXRhID0gbG9kYXNoTWVyZ2UobWV0YWRhdGEsIG1ldGFkYXRhVXBkYXRlKVxyXG5cdFx0XHRpZiAoYWN0aW9uLmd1aWQpIHtcclxuXHRcdFx0XHR2YWx1ZUF0UGF0aC5ndWlkID0gYWN0aW9uLmd1aWRcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gX2ZwLnNldFdpdGgoT2JqZWN0LCBwYXRoLCB2YWx1ZUF0UGF0aCwgc3RhdGUpXHJcblxyXG5cdFx0Y2FzZSBNT0RFTF9SRU1PVkVfS0VZX0FDVElPTl9UWVBFOlxyXG5cdFx0XHQvLyBDb21wbGV0ZWx5IHJlbW92ZSB0aGUgb2JqZWN0IGF0IHRoZSBwYXRoIGZyb20gdGhlIHN0YXRlXHJcblx0XHRcdHJldHVybiBfZnAudW5zZXQocGF0aCwgc3RhdGUpXHJcblxyXG5cdFx0ZGVmYXVsdDpcclxuXHRcdFx0cmV0dXJuIHN0YXRlXHJcblx0fVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsSUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTSSxXQUFXQSxDQUFDQyxLQUE4QixFQUFFQyxJQUFjLEVBQVk7RUFDckYsT0FBTyxJQUFBQyxhQUFXLEVBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBQUMsV0FBRyxFQUFDSCxLQUFLLEVBQUVDLElBQUksQ0FBQ0csTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFDN0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFD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
203
+ exports.default = modelsReducer;
@@ -1,29 +1,24 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = notificationsReducer;
7
- var _lodash = require("lodash");
8
- var _NotificationAction = require("../actions/NotificationAction");
9
- const initialState = {
10
- queue: []
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var lodash_1 = require("lodash");
4
+ var NotificationAction_1 = require("../actions/NotificationAction");
5
+ var initialState = {
6
+ queue: []
11
7
  };
12
- function notificationsReducer() {
13
- let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
14
- let action = arguments.length > 1 ? arguments[1] : undefined;
15
- let updatedState;
16
- switch (action.type) {
17
- case _NotificationAction.NOTIFICATION_ACTION_TYPE.ADD_NOTIFICATION:
18
- updatedState = (0, _lodash.merge)({}, state);
19
- updatedState.queue.push(action.notification);
20
- return updatedState;
21
- case _NotificationAction.NOTIFICATION_ACTION_TYPE.REMOVE_NOTIFICATION:
22
- updatedState = (0, _lodash.merge)({}, state);
23
- updatedState.queue = updatedState.queue.filter(n => n.id !== action.notification.id);
24
- return updatedState;
25
- default:
26
- return state;
27
- }
8
+ function notificationsReducer(state, action) {
9
+ if (state === void 0) { state = initialState; }
10
+ var updatedState;
11
+ switch (action.type) {
12
+ case NotificationAction_1.NOTIFICATION_ACTION_TYPE.ADD_NOTIFICATION:
13
+ updatedState = lodash_1.merge({}, state);
14
+ updatedState.queue.push(action.notification);
15
+ return updatedState;
16
+ case NotificationAction_1.NOTIFICATION_ACTION_TYPE.REMOVE_NOTIFICATION:
17
+ updatedState = lodash_1.merge({}, state);
18
+ updatedState.queue = updatedState.queue.filter(function (n) { return n.id !== action.notification.id; });
19
+ return updatedState;
20
+ default:
21
+ return state;
22
+ }
28
23
  }
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9Ob3RpZmljYXRpb25BY3Rpb24iLCJpbml0aWFsU3RhdGUiLCJxdWV1ZSIsIm5vdGlmaWNhdGlvbnNSZWR1Y2VyIiwic3RhdGUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJhY3Rpb24iLCJ1cGRhdGVkU3RhdGUiLCJ0eXBlIiwiTk9USUZJQ0FUSU9OX0FDVElPTl9UWVBFIiwiQUREX05PVElGSUNBVElPTiIsIm1lcmdlIiwicHVzaCIsIm5vdGlmaWNhdGlvbiIsIlJFTU9WRV9OT1RJRklDQVRJT04iLCJmaWx0ZXIiLCJuIiwiaWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVkdXgvcmVkdWNlcnMvbm90aWZpY2F0aW9uc1JlZHVjZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gnXHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL05vdGlmaWNhdGlvbidcclxuaW1wb3J0IHsgTk9USUZJQ0FUSU9OX0FDVElPTl9UWVBFLCBOb3RpZmljYXRpb25BY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL05vdGlmaWNhdGlvbkFjdGlvbidcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uU3RhdGUge1xyXG5cdHF1ZXVlOiBOb3RpZmljYXRpb25bXVxyXG59XHJcblxyXG5jb25zdCBpbml0aWFsU3RhdGU6IE5vdGlmaWNhdGlvblN0YXRlID0ge1xyXG5cdHF1ZXVlOiBbXVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBub3RpZmljYXRpb25zUmVkdWNlcihzdGF0ZSA9IGluaXRpYWxTdGF0ZSwgYWN0aW9uOiBOb3RpZmljYXRpb25BY3Rpb24pIHtcclxuXHRsZXQgdXBkYXRlZFN0YXRlOiBOb3RpZmljYXRpb25TdGF0ZVxyXG5cdHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcclxuXHRcdGNhc2UgTk9USUZJQ0FUSU9OX0FDVElPTl9UWVBFLkFERF9OT1RJRklDQVRJT046XHJcblx0XHRcdHVwZGF0ZWRTdGF0ZSA9IG1lcmdlKHt9LCBzdGF0ZSlcclxuXHRcdFx0dXBkYXRlZFN0YXRlLnF1ZXVlLnB1c2goYWN0aW9uLm5vdGlmaWNhdGlvbilcclxuXHRcdFx0cmV0dXJuIHVwZGF0ZWRTdGF0ZVxyXG5cdFx0Y2FzZSBOT1RJRklDQVRJT05fQUNUSU9OX1RZUEUuUkVNT1ZFX05PVElGSUNBVElPTjpcclxuXHRcdFx0dXBkYXRlZFN0YXRlID0gbWVyZ2Uoe30sIHN0YXRlKVxyXG5cdFx0XHR1cGRhdGVkU3RhdGUucXVldWUgPSB1cGRhdGVkU3RhdGUucXVldWUuZmlsdGVyKG4gPT4gbi5pZCAhPT0gYWN0aW9uLm5vdGlmaWNhdGlvbi5pZClcclxuXHRcdFx0cmV0dXJuIHVwZGF0ZWRTdGF0ZVxyXG5cdFx0ZGVmYXVsdDpcclxuXHRcdFx0cmV0dXJuIHN0YXRlXHJcblx0fVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsbUJBQUEsR0FBQUQsT0FBQTtBQU1BLE1BQU1FLFlBQStCLEdBQUc7RUFDdkNDLEtBQUssRUFBRTtBQUNSLENBQUM7QUFFYyxTQUFTQyxvQkFBb0JBLENBQUEsRUFBbUQ7RUFBQSxJQUFsREMsS0FBSyxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBR0osWUFBWTtFQUFBLElBQUVPLE1BQTBCLEdBQUFILFNBQUEsQ0FBQUMsTUFBQSxPQUFBRCxTQUFBLE1BQUFFLFNBQUE7RUFDNUYsSUFBSUUsWUFBK0I7RUFDbkMsUUFBUUQsTUFBTSxDQUFDRSxJQUFJO0lBQ2xCLEtBQUtDLDRDQUF3QixDQUFDQyxnQkFBZ0I7TUFDN0NILFlBQVksR0FBRyxJQUFBSSxhQUFLLEVBQUMsQ0FBQyxDQUFDLEVBQUVULEtBQUssQ0FBQztNQUMvQkssWUFBWSxDQUFDUCxLQUFLLENBQUNZLElBQUksQ0FBQ04sTUFBTSxDQUFDTyxZQUFZLENBQUM7TUFDNUMsT0FBT04sWUFBWTtJQUNwQixLQUFLRSw0Q0FBd0IsQ0FBQ0ssbUJBQW1CO01BQ2hEUCxZQUFZLEdBQUcsSUFBQUksYUFBSyxFQUFDLENBQUMsQ0FBQyxFQUFFVCxLQUFLLENBQUM7TUFDL0JLLFlBQVksQ0FBQ1AsS0FBSyxHQUFHTyxZQUFZLENBQUNQLEtBQUssQ0FBQ2UsTUFBTSxDQUFDQyxDQUFDLElBQUlBLENBQUMsQ0FBQ0MsRUFBRSxLQUFLWCxNQUFNLENBQUNPLFlBQVksQ0FBQ0ksRUFBRSxDQUFDO01BQ3BGLE9BQU9WLFlBQVk7SUFDcEI7TUFDQyxPQUFPTCxLQUFLO0VBQ2Q7QUFDRCIsImlnbm9yZUxpc3QiOltdfQ==
24
+ exports.default = notificationsReducer;
@@ -1,29 +1,23 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = searchReducer;
7
- var _lodash = require("lodash");
8
- var _SearchAction = require("../actions/SearchAction");
9
- /**
10
- * Store the state of a manage component's search parameters so the params can be
11
- * re-applied later when revisiting the same component
12
- *
13
- * @export
14
- * @param {*} [state={}]
15
- * @param {*} action
16
- * @returns
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var lodash_1 = require("lodash");
4
+ var SearchAction_1 = require("../actions/SearchAction");
5
+ /**
6
+ * Store the state of a manage component's search parameters so the params can be
7
+ * re-applied later when revisiting the same component
8
+ *
9
+ * @export
10
+ * @param {*} [state={}]
11
+ * @param {*} action
12
+ * @returns
17
13
  */
18
- function searchReducer() {
19
- let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
20
- let action = arguments.length > 1 ? arguments[1] : undefined;
21
- switch (action.type) {
22
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
23
- case _SearchAction.SEARCH_ACTION_TYPE.PERSIST_SEARCH:
24
- return (0, _lodash.mergeWith)({}, state, action.data, (target, source) => (0, _lodash.isArray)(source) ? source : undefined);
25
- default:
26
- return state;
27
- }
14
+ function searchReducer(state, action) {
15
+ if (state === void 0) { state = {}; }
16
+ switch (action.type) {
17
+ case SearchAction_1.SEARCH_ACTION_TYPE.PERSIST_SEARCH:
18
+ return lodash_1.mergeWith({}, state, action.data, function (target, source) { return (lodash_1.isArray(source) ? source : undefined); });
19
+ default:
20
+ return state;
21
+ }
28
22
  }
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9TZWFyY2hBY3Rpb24iLCJzZWFyY2hSZWR1Y2VyIiwic3RhdGUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJhY3Rpb24iLCJ0eXBlIiwiU0VBUkNIX0FDVElPTl9UWVBFIiwiUEVSU0lTVF9TRUFSQ0giLCJtZXJnZVdpdGgiLCJkYXRhIiwidGFyZ2V0Iiwic291cmNlIiwiaXNBcnJheSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWR1eC9yZWR1Y2Vycy9zZWFyY2hSZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3Rpb25hcnksIGlzQXJyYXksIG1lcmdlV2l0aCB9IGZyb20gJ2xvZGFzaCdcclxuaW1wb3J0IHsgU0VBUkNIX0FDVElPTl9UWVBFLCBTZWFyY2hBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL1NlYXJjaEFjdGlvbidcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoU3RhdGUgZXh0ZW5kcyBEaWN0aW9uYXJ5PGFueT4ge31cclxuXHJcbi8qKlxyXG4gKiBTdG9yZSB0aGUgc3RhdGUgb2YgYSBtYW5hZ2UgY29tcG9uZW50J3Mgc2VhcmNoIHBhcmFtZXRlcnMgc28gdGhlIHBhcmFtcyBjYW4gYmVcclxuICogcmUtYXBwbGllZCBsYXRlciB3aGVuIHJldmlzaXRpbmcgdGhlIHNhbWUgY29tcG9uZW50XHJcbiAqXHJcbiAqIEBleHBvcnRcclxuICogQHBhcmFtIHsqfSBbc3RhdGU9e31dXHJcbiAqIEBwYXJhbSB7Kn0gYWN0aW9uXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZWFyY2hSZWR1Y2VyKHN0YXRlOiBTZWFyY2hTdGF0ZSA9IHt9LCBhY3Rpb246IFNlYXJjaEFjdGlvbikge1xyXG5cdHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcclxuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXHJcblx0XHRjYXNlIFNFQVJDSF9BQ1RJT05fVFlQRS5QRVJTSVNUX1NFQVJDSDpcclxuXHRcdFx0cmV0dXJuIG1lcmdlV2l0aCh7fSwgc3RhdGUsIGFjdGlvbi5kYXRhLCAodGFyZ2V0LCBzb3VyY2UpID0+IChpc0FycmF5KHNvdXJjZSkgPyBzb3VyY2UgOiB1bmRlZmluZWQpKVxyXG5cclxuXHRcdGRlZmF1bHQ6XHJcblx0XHRcdHJldHVybiBzdGF0ZVxyXG5cdH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGFBQUEsR0FBQUQsT0FBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlLFNBQVNFLGFBQWFBLENBQUEsRUFBZ0Q7RUFBQSxJQUEvQ0MsS0FBa0IsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO0VBQUEsSUFBRUcsTUFBb0IsR0FBQUgsU0FBQSxDQUFBQyxNQUFBLE9BQUFELFNBQUEsTUFBQUUsU0FBQTtFQUNsRixRQUFRQyxNQUFNLENBQUNDLElBQUk7SUFDbEI7SUFDQSxLQUFLQyxnQ0FBa0IsQ0FBQ0MsY0FBYztNQUNyQyxPQUFPLElBQUFDLGlCQUFTLEVBQUMsQ0FBQyxDQUFDLEVBQUVSLEtBQUssRUFBRUksTUFBTSxDQUFDSyxJQUFJLEVBQUUsQ0FBQ0MsTUFBTSxFQUFFQyxNQUFNLEtBQU0sSUFBQUMsZUFBTyxFQUFDRCxNQUFNLENBQUMsR0FBR0EsTUFBTSxHQUFHUixTQUFVLENBQUM7SUFFckc7TUFDQyxPQUFPSCxLQUFLO0VBQ2Q7QUFDRCIsImlnbm9yZUxpc3QiOltdfQ==
23
+ exports.default = searchReducer;