@beinformed/ui 1.30.1 → 1.31.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 (602) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
  3. package/esm/constants/LayoutHints.js.map +1 -1
  4. package/esm/constants/Settings.js.map +1 -1
  5. package/esm/exceptions/NetworkException.js.map +1 -1
  6. package/esm/hooks/useAllFormsOnModel.js.map +1 -1
  7. package/esm/hooks/useAuthentication.js.map +1 -1
  8. package/esm/hooks/useContent.js.map +1 -1
  9. package/esm/hooks/useForm.js +3 -2
  10. package/esm/hooks/useForm.js.map +1 -1
  11. package/esm/hooks/useI18n.js.map +1 -1
  12. package/esm/hooks/useModal.js.map +1 -1
  13. package/esm/hooks/useModelCatalog.js.map +1 -1
  14. package/esm/hooks/useModels.js.map +1 -1
  15. package/esm/hooks/useModularUI.js.map +1 -1
  16. package/esm/hooks/useModularUIBasic.js.map +1 -1
  17. package/esm/hooks/useNotification.js.map +1 -1
  18. package/esm/hooks/useProgressIndicator.js.map +1 -1
  19. package/esm/hooks/useRouter.js.map +1 -1
  20. package/esm/i18n/Locale.js.map +1 -1
  21. package/esm/i18n/Locales.js.map +1 -1
  22. package/esm/i18n/Message.js.map +1 -1
  23. package/esm/i18n/withMessage.js.map +1 -1
  24. package/esm/models/actions/ActionCollection.js.map +1 -1
  25. package/esm/models/actions/ActionModel.js.map +1 -1
  26. package/esm/models/application/ApplicationModel.js.map +1 -1
  27. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  28. package/esm/models/attributes/AttributeContent.js.map +1 -1
  29. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  30. package/esm/models/attributes/AttributeModel.js.map +1 -1
  31. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  32. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  33. package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
  34. package/esm/models/attributes/ChoiceAttributeModel.js +1 -1
  35. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  36. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  37. package/esm/models/attributes/ChoiceAttributeOptionModel.js +8 -0
  38. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  39. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  40. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  41. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  42. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  43. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  44. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  45. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  46. package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
  47. package/esm/models/attributes/_createAttribute.js.map +1 -1
  48. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  49. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  50. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  51. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  52. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  53. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  54. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  55. package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  56. package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  57. package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  58. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
  59. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  60. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  61. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  62. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  63. package/esm/models/base/BaseCollection.js.map +1 -1
  64. package/esm/models/base/BaseModel.js.map +1 -1
  65. package/esm/models/base/ResourceCollection.js.map +1 -1
  66. package/esm/models/base/ResourceModel.js.map +1 -1
  67. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  68. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  69. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  70. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  71. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  72. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  73. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  74. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  75. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  76. package/esm/models/content/ContentIndexModel.js.map +1 -1
  77. package/esm/models/content/ContentLinkModel.js.map +1 -1
  78. package/esm/models/content/ContentModel.js.map +1 -1
  79. package/esm/models/content/ContentTOCModel.js.map +1 -1
  80. package/esm/models/content/SectionModel.js.map +1 -1
  81. package/esm/models/content/SubSectionModel.js.map +1 -1
  82. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  83. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  84. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  85. package/esm/models/detail/DetailModel.js.map +1 -1
  86. package/esm/models/error/ErrorCollection.js.map +1 -1
  87. package/esm/models/error/ErrorModel.js.map +1 -1
  88. package/esm/models/error/ErrorResponse.js.map +1 -1
  89. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  90. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  91. package/esm/models/filters/FilterCollection.js.map +1 -1
  92. package/esm/models/form/FormModel.js.map +1 -1
  93. package/esm/models/form/FormObjectModel.js.map +1 -1
  94. package/esm/models/grouping/GroupingModel.js.map +1 -1
  95. package/esm/models/href/Href.js.map +1 -1
  96. package/esm/models/href/ListHref.js.map +1 -1
  97. package/esm/models/layouthint/LayoutHintCollection.js +4 -4
  98. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  99. package/esm/models/links/LinkCollection.js.map +1 -1
  100. package/esm/models/links/LinkModel.js.map +1 -1
  101. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  102. package/esm/models/list/ListDetailModel.js.map +1 -1
  103. package/esm/models/list/ListItemCollection.js.map +1 -1
  104. package/esm/models/list/ListItemModel.js.map +1 -1
  105. package/esm/models/list/ListModel.js.map +1 -1
  106. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  107. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  108. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  109. package/esm/models/paging/PagingModel.js.map +1 -1
  110. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  111. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  112. package/esm/models/resolveModel.js.map +1 -1
  113. package/esm/models/search/CaseSearchModel.js.map +1 -1
  114. package/esm/models/sorting/SortingModel.js +1 -1
  115. package/esm/models/sorting/SortingModel.js.map +1 -1
  116. package/esm/models/tab/TabModel.js.map +1 -1
  117. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  118. package/esm/models/user/UserProfileModel.js.map +1 -1
  119. package/esm/modularui/Authenticate.js.map +1 -1
  120. package/esm/modularui/CaptchaRequest.js.map +1 -1
  121. package/esm/modularui/ModularUIRequest.js.map +1 -1
  122. package/esm/modularui/ModularUIResponse.js.map +1 -1
  123. package/esm/modularui/UploadRequest.js.map +1 -1
  124. package/esm/react/ErrorBoundary.js.map +1 -1
  125. package/esm/react/ErrorBoundaryFallback.js.map +1 -1
  126. package/esm/react-client/Init.js.map +1 -1
  127. package/esm/react-client/client.js.map +1 -1
  128. package/esm/react-client/contextPath.js.map +1 -1
  129. package/esm/react-client/rehydrate.js.map +1 -1
  130. package/esm/react-server/contextPath.js.map +1 -1
  131. package/esm/react-server/createSSRComplete.js.map +1 -1
  132. package/esm/react-server/htmlpage.js.map +1 -1
  133. package/esm/react-server/renderSSRComplete.js.map +1 -1
  134. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  135. package/esm/react-server/requestInformation.js.map +1 -1
  136. package/esm/react-server/serverNoSSR.js.map +1 -1
  137. package/esm/react-server/serverSSR.js.map +1 -1
  138. package/esm/react-server/serverUtil.js.map +1 -1
  139. package/esm/react-theme/ThemeProvider.js.map +1 -1
  140. package/esm/react-theme/createTheme.js.map +1 -1
  141. package/esm/react-theme/utils/contrast.js.map +1 -1
  142. package/esm/react-theme/utils/corners.js.map +1 -1
  143. package/esm/react-theme/utils/spacers.js.map +1 -1
  144. package/esm/react-theme/utils/themeProps.js.map +1 -1
  145. package/esm/redux/_i18n/I18nActions.js.map +1 -1
  146. package/esm/redux/_i18n/I18nReducer.js.map +1 -1
  147. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  148. package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
  149. package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  150. package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
  151. package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
  152. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  153. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  154. package/esm/redux/_router/RouterConnectors.js.map +1 -1
  155. package/esm/redux/_router/RouterMiddleware.js.map +1 -1
  156. package/esm/redux/actions/Application.js.map +1 -1
  157. package/esm/redux/actions/Authorization.js.map +1 -1
  158. package/esm/redux/actions/Error.js.map +1 -1
  159. package/esm/redux/actions/Form.js.map +1 -1
  160. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  161. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  162. package/esm/redux/actions/FormAutosave.js.map +1 -1
  163. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  164. package/esm/redux/actions/FormValidations.js.map +1 -1
  165. package/esm/redux/actions/Notification.js.map +1 -1
  166. package/esm/redux/actions/Preferences.js.map +1 -1
  167. package/esm/redux/actions/SignIn.js.map +1 -1
  168. package/esm/redux/actions/SignOut.js.map +1 -1
  169. package/esm/redux/connectors/Application.js.map +1 -1
  170. package/esm/redux/connectors/CaseView.js.map +1 -1
  171. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  172. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  173. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  174. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  175. package/esm/redux/connectors/Form.js.map +1 -1
  176. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  177. package/esm/redux/connectors/ListDetail.js.map +1 -1
  178. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  179. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  180. package/esm/redux/connectors/Preferences.js.map +1 -1
  181. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  182. package/esm/redux/connectors/Tab.js.map +1 -1
  183. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  184. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  185. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  186. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  187. package/esm/redux/store/configureStore.js.map +1 -1
  188. package/esm/utils/browser/Cache.js.map +1 -1
  189. package/esm/utils/browser/Cookies.js.map +1 -1
  190. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  191. package/esm/utils/fetch/serverFetch.js.map +1 -1
  192. package/esm/utils/fetch/universalFetch.js.map +1 -1
  193. package/esm/utils/fetch/xhr.js.map +1 -1
  194. package/esm/utils/helpers/checkResource.js.map +1 -1
  195. package/esm/utils/helpers/createHash.js.map +1 -1
  196. package/esm/utils/helpers/createUUID.js.map +1 -1
  197. package/esm/utils/helpers/repositoryResource.js.map +1 -1
  198. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  199. package/esm/utils/number/DecimalFormat.js.map +1 -1
  200. package/esm/utils/number/formatValue.js.map +1 -1
  201. package/esm/utils/number/parseNumbers.js.map +1 -1
  202. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  203. package/lib/constants/LayoutHints.js.map +1 -1
  204. package/lib/constants/Settings.js.map +1 -1
  205. package/lib/exceptions/NetworkException.js.map +1 -1
  206. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  207. package/lib/hooks/useAuthentication.js.map +1 -1
  208. package/lib/hooks/useContent.js.map +1 -1
  209. package/lib/hooks/useForm.js +3 -2
  210. package/lib/hooks/useForm.js.flow +2 -1
  211. package/lib/hooks/useForm.js.map +1 -1
  212. package/lib/hooks/useI18n.js.map +1 -1
  213. package/lib/hooks/useModal.js.map +1 -1
  214. package/lib/hooks/useModelCatalog.js.map +1 -1
  215. package/lib/hooks/useModels.js.map +1 -1
  216. package/lib/hooks/useModularUI.js.map +1 -1
  217. package/lib/hooks/useModularUIBasic.js.map +1 -1
  218. package/lib/hooks/useNotification.js.map +1 -1
  219. package/lib/hooks/useProgressIndicator.js.map +1 -1
  220. package/lib/hooks/useRouter.js.map +1 -1
  221. package/lib/i18n/Locale.js.map +1 -1
  222. package/lib/i18n/Locales.js.map +1 -1
  223. package/lib/i18n/Message.js.map +1 -1
  224. package/lib/i18n/withMessage.js.map +1 -1
  225. package/lib/models/actions/ActionCollection.js.map +1 -1
  226. package/lib/models/actions/ActionModel.js.map +1 -1
  227. package/lib/models/application/ApplicationModel.js.map +1 -1
  228. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  229. package/lib/models/attributes/AttributeContent.js.map +1 -1
  230. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  231. package/lib/models/attributes/AttributeModel.js.map +1 -1
  232. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  233. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  234. package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
  235. package/lib/models/attributes/ChoiceAttributeModel.js +1 -1
  236. package/lib/models/attributes/ChoiceAttributeModel.js.flow +1 -1
  237. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  238. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  239. package/lib/models/attributes/ChoiceAttributeOptionModel.js +8 -0
  240. package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +8 -0
  241. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  242. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  243. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  244. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  245. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  246. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  247. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  248. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  249. package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
  250. package/lib/models/attributes/_createAttribute.js.map +1 -1
  251. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  252. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  253. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  254. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  255. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  256. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  257. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  258. package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  259. package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  260. package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  261. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
  262. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.flow +0 -1
  263. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  264. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  265. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  266. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  267. package/lib/models/base/BaseCollection.js.map +1 -1
  268. package/lib/models/base/BaseModel.js.map +1 -1
  269. package/lib/models/base/ResourceCollection.js.map +1 -1
  270. package/lib/models/base/ResourceModel.js.map +1 -1
  271. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  272. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  273. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  274. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  275. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  276. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  277. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  278. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  279. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  280. package/lib/models/content/ContentIndexModel.js.map +1 -1
  281. package/lib/models/content/ContentLinkModel.js.map +1 -1
  282. package/lib/models/content/ContentModel.js.map +1 -1
  283. package/lib/models/content/ContentTOCModel.js.map +1 -1
  284. package/lib/models/content/SectionModel.js.map +1 -1
  285. package/lib/models/content/SubSectionModel.js.map +1 -1
  286. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  287. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  288. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  289. package/lib/models/detail/DetailModel.js.map +1 -1
  290. package/lib/models/error/ErrorCollection.js.map +1 -1
  291. package/lib/models/error/ErrorModel.js.map +1 -1
  292. package/lib/models/error/ErrorResponse.js.map +1 -1
  293. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  294. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  295. package/lib/models/filters/FilterCollection.js.map +1 -1
  296. package/lib/models/form/FormModel.js.map +1 -1
  297. package/lib/models/form/FormObjectModel.js.map +1 -1
  298. package/lib/models/grouping/GroupingModel.js.map +1 -1
  299. package/lib/models/href/Href.js.map +1 -1
  300. package/lib/models/href/ListHref.js.map +1 -1
  301. package/lib/models/layouthint/LayoutHintCollection.js +4 -4
  302. package/lib/models/layouthint/LayoutHintCollection.js.flow +4 -4
  303. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  304. package/lib/models/links/LinkCollection.js.map +1 -1
  305. package/lib/models/links/LinkModel.js.map +1 -1
  306. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  307. package/lib/models/list/ListDetailModel.js.map +1 -1
  308. package/lib/models/list/ListItemCollection.js.map +1 -1
  309. package/lib/models/list/ListItemModel.js.map +1 -1
  310. package/lib/models/list/ListModel.js.map +1 -1
  311. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  312. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  313. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  314. package/lib/models/paging/PagingModel.js.map +1 -1
  315. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  316. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  317. package/lib/models/resolveModel.js.map +1 -1
  318. package/lib/models/search/CaseSearchModel.js.map +1 -1
  319. package/lib/models/sorting/SortingModel.js +1 -1
  320. package/lib/models/sorting/SortingModel.js.flow +1 -1
  321. package/lib/models/sorting/SortingModel.js.map +1 -1
  322. package/lib/models/tab/TabModel.js.map +1 -1
  323. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  324. package/lib/models/user/UserProfileModel.js.map +1 -1
  325. package/lib/modularui/Authenticate.js.map +1 -1
  326. package/lib/modularui/CaptchaRequest.js.map +1 -1
  327. package/lib/modularui/ModularUIRequest.js.map +1 -1
  328. package/lib/modularui/ModularUIResponse.js.map +1 -1
  329. package/lib/modularui/UploadRequest.js.map +1 -1
  330. package/lib/react/ErrorBoundary.js.map +1 -1
  331. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  332. package/lib/react-client/Init.js.map +1 -1
  333. package/lib/react-client/client.js.map +1 -1
  334. package/lib/react-client/contextPath.js.map +1 -1
  335. package/lib/react-client/rehydrate.js.map +1 -1
  336. package/lib/react-server/contextPath.js.map +1 -1
  337. package/lib/react-server/createSSRComplete.js.map +1 -1
  338. package/lib/react-server/htmlpage.js.map +1 -1
  339. package/lib/react-server/renderSSRComplete.js.map +1 -1
  340. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  341. package/lib/react-server/requestInformation.js.map +1 -1
  342. package/lib/react-server/serverNoSSR.js.map +1 -1
  343. package/lib/react-server/serverSSR.js.map +1 -1
  344. package/lib/react-server/serverUtil.js.map +1 -1
  345. package/lib/react-theme/ThemeProvider.js.map +1 -1
  346. package/lib/react-theme/createTheme.js.map +1 -1
  347. package/lib/react-theme/utils/contrast.js.map +1 -1
  348. package/lib/react-theme/utils/corners.js.map +1 -1
  349. package/lib/react-theme/utils/spacers.js.map +1 -1
  350. package/lib/react-theme/utils/themeProps.js.map +1 -1
  351. package/lib/redux/_i18n/I18nActions.js.map +1 -1
  352. package/lib/redux/_i18n/I18nReducer.js.map +1 -1
  353. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  354. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
  355. package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  356. package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
  357. package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
  358. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  359. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  360. package/lib/redux/_router/RouterConnectors.js.map +1 -1
  361. package/lib/redux/_router/RouterMiddleware.js.map +1 -1
  362. package/lib/redux/actions/Application.js.map +1 -1
  363. package/lib/redux/actions/Authorization.js.map +1 -1
  364. package/lib/redux/actions/Error.js.map +1 -1
  365. package/lib/redux/actions/Form.js.map +1 -1
  366. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  367. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  368. package/lib/redux/actions/FormAutosave.js.map +1 -1
  369. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  370. package/lib/redux/actions/FormValidations.js.map +1 -1
  371. package/lib/redux/actions/Notification.js.map +1 -1
  372. package/lib/redux/actions/Preferences.js.map +1 -1
  373. package/lib/redux/actions/SignIn.js.map +1 -1
  374. package/lib/redux/actions/SignOut.js.map +1 -1
  375. package/lib/redux/connectors/Application.js.map +1 -1
  376. package/lib/redux/connectors/CaseView.js.map +1 -1
  377. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  378. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  379. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  380. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  381. package/lib/redux/connectors/Form.js.map +1 -1
  382. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  383. package/lib/redux/connectors/ListDetail.js.map +1 -1
  384. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  385. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  386. package/lib/redux/connectors/Preferences.js.map +1 -1
  387. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  388. package/lib/redux/connectors/Tab.js.map +1 -1
  389. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  390. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  391. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  392. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  393. package/lib/redux/store/configureStore.js.map +1 -1
  394. package/lib/utils/browser/Cache.js.map +1 -1
  395. package/lib/utils/browser/Cookies.js.map +1 -1
  396. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  397. package/lib/utils/fetch/serverFetch.js.map +1 -1
  398. package/lib/utils/fetch/universalFetch.js.map +1 -1
  399. package/lib/utils/fetch/xhr.js.map +1 -1
  400. package/lib/utils/helpers/checkResource.js.map +1 -1
  401. package/lib/utils/helpers/createHash.js.map +1 -1
  402. package/lib/utils/helpers/createUUID.js.map +1 -1
  403. package/lib/utils/helpers/repositoryResource.js.map +1 -1
  404. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  405. package/lib/utils/number/DecimalFormat.js.map +1 -1
  406. package/lib/utils/number/formatValue.js.map +1 -1
  407. package/lib/utils/number/parseNumbers.js.map +1 -1
  408. package/package.json +31 -31
  409. package/src/hooks/useForm.js +2 -1
  410. package/src/models/attributes/ChoiceAttributeModel.js +1 -1
  411. package/src/models/attributes/ChoiceAttributeOptionModel.js +8 -0
  412. package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
  413. package/src/models/layouthint/LayoutHintCollection.js +4 -4
  414. package/src/models/sorting/SortingModel.js +1 -1
  415. package/types/constants/Constants.d.ts +145 -145
  416. package/types/constants/LayoutHintConfig.d.ts +226 -226
  417. package/types/constants/LayoutHints.d.ts +74 -74
  418. package/types/constants/Settings.d.ts +29 -29
  419. package/types/constants/index.d.ts +3 -3
  420. package/types/exceptions/ConfigurationException.d.ts +6 -6
  421. package/types/exceptions/FetchException.d.ts +31 -31
  422. package/types/exceptions/IllegalArgumentException.d.ts +6 -6
  423. package/types/exceptions/IllegalReturnException.d.ts +5 -5
  424. package/types/exceptions/IllegalStateException.d.ts +6 -6
  425. package/types/exceptions/JsonParseException.d.ts +6 -6
  426. package/types/exceptions/MissingPropertyException.d.ts +6 -6
  427. package/types/exceptions/NetworkException.d.ts +9 -9
  428. package/types/exceptions/NotAllowedUriException.d.ts +6 -6
  429. package/types/exceptions/NotFoundException.d.ts +10 -10
  430. package/types/exceptions/ServerRequestException.d.ts +6 -6
  431. package/types/exceptions/ThemePropertyException.d.ts +6 -6
  432. package/types/exceptions/TimeoutException.d.ts +7 -7
  433. package/types/exceptions/UnauthorizedException.d.ts +11 -11
  434. package/types/exceptions/UnsupportedOperationException.d.ts +6 -6
  435. package/types/exceptions/index.d.ts +15 -15
  436. package/types/hooks/useI18n.d.ts +9 -9
  437. package/types/i18n/Locale.d.ts +53 -53
  438. package/types/i18n/Locales.d.ts +55 -55
  439. package/types/i18n/Message.d.ts +6 -6
  440. package/types/i18n/index.d.ts +5 -5
  441. package/types/i18n/languages.d.ts +215 -215
  442. package/types/i18n/translations/beinformed_error_messages_en.nl.d.ts +97 -97
  443. package/types/i18n/translations/beinformed_error_messages_nl.nl.d.ts +97 -97
  444. package/types/i18n/types.d.ts +11 -11
  445. package/types/i18n/withMessage.d.ts +3 -3
  446. package/types/index.d.ts +6 -6
  447. package/types/models/actions/ActionCollection.d.ts +29 -29
  448. package/types/models/actions/ActionModel.d.ts +84 -84
  449. package/types/models/application/ApplicationModel.d.ts +41 -41
  450. package/types/models/attributes/AttributeCollection.d.ts +96 -96
  451. package/types/models/attributes/AttributeContent.d.ts +64 -64
  452. package/types/models/attributes/AttributeDataHelper.d.ts +67 -67
  453. package/types/models/attributes/AttributeModel.d.ts +395 -395
  454. package/types/models/attributes/AttributeSetModel.d.ts +28 -28
  455. package/types/models/attributes/BooleanAttributeModel.d.ts +65 -65
  456. package/types/models/attributes/CaptchaAttributeModel.d.ts +19 -19
  457. package/types/models/attributes/ChoiceAttributeModel.d.ts +76 -76
  458. package/types/models/attributes/ChoiceAttributeOptionCollection.d.ts +79 -79
  459. package/types/models/attributes/ChoiceAttributeOptionModel.d.ts +133 -133
  460. package/types/models/attributes/CompositeAttributeChildCollection.d.ts +56 -56
  461. package/types/models/attributes/CompositeAttributeModel.d.ts +44 -44
  462. package/types/models/attributes/DatetimeAttributeModel.d.ts +117 -117
  463. package/types/models/attributes/HelptextAttributeModel.d.ts +16 -16
  464. package/types/models/attributes/LabelAttributeModel.d.ts +12 -12
  465. package/types/models/attributes/MemoAttributeModel.d.ts +14 -14
  466. package/types/models/attributes/MoneyAttributeModel.d.ts +14 -14
  467. package/types/models/attributes/NumberAttributeModel.d.ts +49 -49
  468. package/types/models/attributes/PasswordAttributeModel.d.ts +62 -62
  469. package/types/models/attributes/StringAttributeModel.d.ts +62 -62
  470. package/types/models/attributes/UploadAttributeModel.d.ts +60 -60
  471. package/types/models/attributes/XMLAttributeModel.d.ts +10 -10
  472. package/types/models/attributes/_createAttribute.d.ts +6 -6
  473. package/types/models/attributes/input-constraints/BSNConstraint.d.ts +26 -26
  474. package/types/models/attributes/input-constraints/ConstraintCollection.d.ts +24 -24
  475. package/types/models/attributes/input-constraints/ConstraintModel.d.ts +34 -34
  476. package/types/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +109 -109
  477. package/types/models/attributes/input-constraints/DateTimeDateFormatConstraint.d.ts +36 -36
  478. package/types/models/attributes/input-constraints/DateTimeTimeFormatConstraint.d.ts +36 -36
  479. package/types/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +92 -92
  480. package/types/models/attributes/input-constraints/FileExtensionConstraint.d.ts +33 -33
  481. package/types/models/attributes/input-constraints/FileSizeConstraint.d.ts +42 -42
  482. package/types/models/attributes/input-constraints/IBANConstraint.d.ts +23 -23
  483. package/types/models/attributes/input-constraints/MandatoryConstraint.d.ts +23 -23
  484. package/types/models/attributes/input-constraints/MandatoryRangeConstraint.d.ts +36 -36
  485. package/types/models/attributes/input-constraints/NumberBoundaryConstraint.d.ts +61 -61
  486. package/types/models/attributes/input-constraints/NumberFormatConstraint.d.ts +52 -52
  487. package/types/models/attributes/input-constraints/NumberGroupingConstraint.d.ts +46 -46
  488. package/types/models/attributes/input-constraints/PasswordConfirmConstraint.d.ts +36 -36
  489. package/types/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.d.ts +23 -23
  490. package/types/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.d.ts +32 -32
  491. package/types/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.d.ts +32 -32
  492. package/types/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.d.ts +35 -35
  493. package/types/models/attributes/input-constraints/RangeConstraint.d.ts +97 -97
  494. package/types/models/attributes/input-constraints/RegexConstraint.d.ts +37 -37
  495. package/types/models/attributes/input-constraints/StringLengthConstraint.d.ts +46 -46
  496. package/types/models/attributes/input-constraints/XMLConstraint.d.ts +26 -26
  497. package/types/models/attributes/layouthint-rules/BaseLayoutHintRule.d.ts +46 -46
  498. package/types/models/attributes/layouthint-rules/DependentAttribute.d.ts +57 -57
  499. package/types/models/attributes/layouthint-rules/LayoutHintRuleCollection.d.ts +27 -27
  500. package/types/models/attributes/layouthint-rules/RemainingTotalUploadSize.d.ts +17 -17
  501. package/types/models/base/BaseCollection.d.ts +89 -89
  502. package/types/models/base/BaseModel.d.ts +67 -67
  503. package/types/models/base/ResourceCollection.d.ts +19 -19
  504. package/types/models/base/ResourceModel.d.ts +97 -97
  505. package/types/models/caseview/CaseViewModel.d.ts +45 -45
  506. package/types/models/concepts/BusinessScenarioModel.d.ts +20 -20
  507. package/types/models/concepts/ConceptDetailModel.d.ts +69 -69
  508. package/types/models/concepts/ConceptIndexModel.d.ts +36 -36
  509. package/types/models/concepts/ConceptLinkModel.d.ts +65 -65
  510. package/types/models/concepts/ConceptRelationCollection.d.ts +34 -34
  511. package/types/models/concepts/ConceptRelationModel.d.ts +44 -44
  512. package/types/models/concepts/ConceptTypeDetailModel.d.ts +39 -39
  513. package/types/models/concepts/SourceReferenceCollection.d.ts +13 -13
  514. package/types/models/concepts/SourceReferenceModel.d.ts +30 -30
  515. package/types/models/content/ContentIndexModel.d.ts +34 -34
  516. package/types/models/content/ContentLinkModel.d.ts +81 -81
  517. package/types/models/content/ContentModel.d.ts +74 -74
  518. package/types/models/content/ContentTOCModel.d.ts +37 -37
  519. package/types/models/content/ContentTypeModel.d.ts +26 -26
  520. package/types/models/content/SectionModel.d.ts +75 -75
  521. package/types/models/content/SubSectionModel.d.ts +64 -64
  522. package/types/models/contentconfiguration/ContentConfiguration.d.ts +28 -28
  523. package/types/models/contentconfiguration/ContentConfigurationElements.d.ts +47 -47
  524. package/types/models/contentconfiguration/ContentConfigurationEndResults.d.ts +16 -16
  525. package/types/models/contentconfiguration/ContentConfigurationQuestions.d.ts +22 -22
  526. package/types/models/contentconfiguration/ContentConfigurationResults.d.ts +39 -39
  527. package/types/models/detail/DetailModel.d.ts +72 -72
  528. package/types/models/error/ErrorCollection.d.ts +51 -51
  529. package/types/models/error/ErrorModel.d.ts +41 -41
  530. package/types/models/error/ErrorResponse.d.ts +148 -148
  531. package/types/models/filters/AssignmentFilterModel.d.ts +35 -35
  532. package/types/models/filters/BaseFilterModel.d.ts +85 -85
  533. package/types/models/filters/ConceptIndexFilterModel.d.ts +6 -6
  534. package/types/models/filters/FilterCollection.d.ts +48 -48
  535. package/types/models/filters/FilterModel.d.ts +5 -5
  536. package/types/models/filters/RangeFilterModel.d.ts +6 -6
  537. package/types/models/form/FormModel.d.ts +343 -343
  538. package/types/models/form/FormObjectModel.d.ts +196 -196
  539. package/types/models/grouping/GroupingModel.d.ts +85 -85
  540. package/types/models/href/Href.d.ts +196 -196
  541. package/types/models/href/ListHref.d.ts +64 -64
  542. package/types/models/index.d.ts +95 -95
  543. package/types/models/layouthint/LayoutHintCollection.d.ts +43 -43
  544. package/types/models/links/LinkCollection.d.ts +62 -62
  545. package/types/models/links/LinkModel.d.ts +92 -92
  546. package/types/models/links/normalizeLinkJSON.d.ts +9 -9
  547. package/types/models/list/ListDetailModel.d.ts +69 -69
  548. package/types/models/list/ListHeaderModel.d.ts +64 -64
  549. package/types/models/list/ListItemCollection.d.ts +21 -21
  550. package/types/models/list/ListItemModel.d.ts +34 -34
  551. package/types/models/list/ListModel.d.ts +135 -135
  552. package/types/models/lookup/LookupOptionCollection.d.ts +11 -11
  553. package/types/models/lookup/LookupOptionsModel.d.ts +19 -19
  554. package/types/models/modelcatalog/ModelCatalogModel.d.ts +18 -18
  555. package/types/models/paging/PagesizeModel.d.ts +25 -25
  556. package/types/models/paging/PagingModel.d.ts +49 -49
  557. package/types/models/panels/GroupingPanelModel.d.ts +39 -39
  558. package/types/models/parameter/Parameter.d.ts +40 -40
  559. package/types/models/process/ProcessStatusSettingsModel.d.ts +38 -38
  560. package/types/models/resolveModel.d.ts +7 -7
  561. package/types/models/search/CaseSearchModel.d.ts +14 -14
  562. package/types/models/sorting/SortOptionModel.d.ts +48 -48
  563. package/types/models/sorting/SortingModel.d.ts +42 -42
  564. package/types/models/tab/TabModel.d.ts +44 -44
  565. package/types/models/taskgroup/TaskGroupCollection.d.ts +12 -12
  566. package/types/models/taskgroup/TaskGroupModel.d.ts +15 -15
  567. package/types/models/types.d.ts +161 -161
  568. package/types/models/user/UserModel.d.ts +14 -14
  569. package/types/models/user/UserProfileModel.d.ts +12 -12
  570. package/types/models/user/UserServicesModel.d.ts +28 -28
  571. package/types/modularui/Authenticate.d.ts +49 -49
  572. package/types/modularui/CaptchaRequest.d.ts +45 -45
  573. package/types/modularui/ModularUIError.d.ts +10 -10
  574. package/types/modularui/ModularUIRequest.d.ts +198 -198
  575. package/types/modularui/ModularUIResponse.d.ts +56 -56
  576. package/types/modularui/UploadRequest.d.ts +35 -35
  577. package/types/modularui/index.d.ts +5 -5
  578. package/types/modularui/types.d.ts +2 -2
  579. package/types/redux/_i18n/types.d.ts +13 -13
  580. package/types/redux/_modularui/types.d.ts +61 -61
  581. package/types/redux/_router/types.d.ts +35 -35
  582. package/types/redux/selectors/i18n.d.ts +4 -4
  583. package/types/redux/types.d.ts +105 -105
  584. package/types/utils/browser/Cache.d.ts +45 -45
  585. package/types/utils/browser/Cookies.d.ts +9 -9
  586. package/types/utils/datetime/DateTimeUtil.d.ts +164 -164
  587. package/types/utils/fetch/serverFetch.d.ts +5 -5
  588. package/types/utils/fetch/types.d.ts +40 -40
  589. package/types/utils/fetch/universalFetch.d.ts +7 -7
  590. package/types/utils/fetch/xhr.d.ts +5 -5
  591. package/types/utils/helpers/checkResource.d.ts +3 -3
  592. package/types/utils/helpers/createHash.d.ts +8 -8
  593. package/types/utils/helpers/createUUID.d.ts +4 -4
  594. package/types/utils/helpers/index.d.ts +7 -7
  595. package/types/utils/helpers/objects.d.ts +11 -11
  596. package/types/utils/helpers/repositoryResource.d.ts +1 -1
  597. package/types/utils/helpers/sanitizeHtml.d.ts +9 -9
  598. package/types/utils/helpers/text.d.ts +7 -7
  599. package/types/utils/index.d.ts +11 -11
  600. package/types/utils/number/DecimalFormat.d.ts +90 -90
  601. package/types/utils/number/formatValue.d.ts +4 -4
  602. package/types/utils/number/parseNumbers.d.ts +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationReducer.js","names":["initialState","render","messageType","message","error","NotificationReducer","state","arguments","length","undefined","action","type","payload"],"sources":["../../../src/redux/reducers/NotificationReducer.js"],"sourcesContent":["// @flow\nimport type { Reducer } from \"redux\";\nimport type { ReduxAction, NotificationState } from \"../types\";\n\n// REDUCER\nconst initialState: NotificationState = {\n render: false,\n messageType: null,\n message: null,\n error: null,\n};\n\n/**\n * Form reducer\n */\nconst NotificationReducer: Reducer<NotificationState, ReduxAction> = (\n state = initialState,\n action\n) => {\n if (!action) {\n return state;\n }\n\n switch (action.type) {\n case \"DISMISS_NOTIFICATION\":\n return {\n ...state,\n render: false,\n };\n\n case \"SHOW_NOTIFICATION\":\n return {\n ...state,\n render: true,\n messageType: action.payload.type,\n message: action.payload.message,\n error: action.payload.error,\n };\n\n default:\n return state;\n }\n};\n\nexport default NotificationReducer;\n"],"mappings":"AAIA;AACA,MAAMA,YAA+B,GAAG;EACtCC,MAAM,EAAE,KAAK;EACbC,WAAW,EAAE,IAAI;EACjBC,OAAO,EAAE,IAAI;EACbC,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;AACA,MAAMC,mBAA4D,GAAG,SAAAA,CAAA,EAGhE;EAAA,IAFHC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGP,YAAY;EAAA,IACpBU,MAAM,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEN,IAAI,CAACC,MAAM,EAAE;IACX,OAAOJ,KAAK;EACd;EAEA,QAAQI,MAAM,CAACC,IAAI;IACjB,KAAK,sBAAsB;MACzB,OAAO;QACL,GAAGL,KAAK;QACRL,MAAM,EAAE;MACV,CAAC;IAEH,KAAK,mBAAmB;MACtB,OAAO;QACL,GAAGK,KAAK;QACRL,MAAM,EAAE,IAAI;QACZC,WAAW,EAAEQ,MAAM,CAACE,OAAO,CAACD,IAAI;QAChCR,OAAO,EAAEO,MAAM,CAACE,OAAO,CAACT,OAAO;QAC/BC,KAAK,EAAEM,MAAM,CAACE,OAAO,CAACR;MACxB,CAAC;IAEH;MACE,OAAOE,KAAK;EAAC;AAEnB,CAAC;AAED,eAAeD,mBAAmB"}
1
+ {"version":3,"file":"NotificationReducer.js","names":["initialState","render","messageType","message","error","NotificationReducer","state","arguments","length","undefined","action","type","payload"],"sources":["../../../src/redux/reducers/NotificationReducer.js"],"sourcesContent":["// @flow\nimport type { Reducer } from \"redux\";\nimport type { ReduxAction, NotificationState } from \"../types\";\n\n// REDUCER\nconst initialState: NotificationState = {\n render: false,\n messageType: null,\n message: null,\n error: null,\n};\n\n/**\n * Form reducer\n */\nconst NotificationReducer: Reducer<NotificationState, ReduxAction> = (\n state = initialState,\n action\n) => {\n if (!action) {\n return state;\n }\n\n switch (action.type) {\n case \"DISMISS_NOTIFICATION\":\n return {\n ...state,\n render: false,\n };\n\n case \"SHOW_NOTIFICATION\":\n return {\n ...state,\n render: true,\n messageType: action.payload.type,\n message: action.payload.message,\n error: action.payload.error,\n };\n\n default:\n return state;\n }\n};\n\nexport default NotificationReducer;\n"],"mappings":"AAIA;AACA,MAAMA,YAA+B,GAAG;EACtCC,MAAM,EAAE,KAAK;EACbC,WAAW,EAAE,IAAI;EACjBC,OAAO,EAAE,IAAI;EACbC,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;AACA,MAAMC,mBAA4D,GAAG,SAAAA,CAAA,EAGhE;EAAA,IAFHC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGP,YAAY;EAAA,IACpBU,MAAM,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEN,IAAI,CAACC,MAAM,EAAE;IACX,OAAOJ,KAAK;EACd;EAEA,QAAQI,MAAM,CAACC,IAAI;IACjB,KAAK,sBAAsB;MACzB,OAAO;QACL,GAAGL,KAAK;QACRL,MAAM,EAAE;MACV,CAAC;IAEH,KAAK,mBAAmB;MACtB,OAAO;QACL,GAAGK,KAAK;QACRL,MAAM,EAAE,IAAI;QACZC,WAAW,EAAEQ,MAAM,CAACE,OAAO,CAACD,IAAI;QAChCR,OAAO,EAAEO,MAAM,CAACE,OAAO,CAACT,OAAO;QAC/BC,KAAK,EAAEM,MAAM,CAACE,OAAO,CAACR;MACxB,CAAC;IAEH;MACE,OAAOE,KAAK;EAChB;AACF,CAAC;AAED,eAAeD,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressIndicatorReducer.js","names":["initialState","count","timestamp","percentComplete","finishProgress","state","isFinalFinish","Date","now","progressIndicatorReducer","arguments","length","undefined","action","type","payload"],"sources":["../../../src/redux/reducers/ProgressIndicatorReducer.js"],"sourcesContent":["// @flow\nimport type { Reducer } from \"redux\";\nimport type { ReduxAction, ProgressIndicatorState } from \"../types\";\n\n// REDUCER\nconst initialState: ProgressIndicatorState = {\n count: 0,\n timestamp: 0,\n percentComplete: 0,\n};\n\nconst finishProgress = (state: ProgressIndicatorState) => {\n const isFinalFinish = state.count - 1 === 0;\n return {\n ...state,\n count: state.count <= 0 ? 0 : state.count - 1,\n timestamp: isFinalFinish ? Date.now() : state.timestamp,\n percentComplete: isFinalFinish ? 0 : state.percentComplete,\n };\n};\n\n/**\n * Keep state for the progress indicator\n */\nconst progressIndicatorReducer: Reducer<ProgressIndicatorState, ReduxAction> = (\n state = initialState,\n action\n) => {\n if (!action) {\n return state;\n }\n\n switch (action.type) {\n case \"UPDATE_PROGRESS\":\n return {\n ...state,\n percentComplete: action.payload?.percentComplete,\n };\n\n case \"FINISH_PROGRESS\":\n return finishProgress(state);\n\n case \"START_PROGRESS\":\n return {\n ...state,\n count: state.count + 1,\n };\n\n case \"RESET_PROGRESS\":\n return {\n ...state,\n count: 0,\n };\n\n default:\n return state;\n }\n};\n\nexport default progressIndicatorReducer;\n"],"mappings":"AAIA;AACA,MAAMA,YAAoC,GAAG;EAC3CC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAE,CAAC;EACZC,eAAe,EAAE;AACnB,CAAC;AAED,MAAMC,cAAc,GAAIC,KAA6B,IAAK;EACxD,MAAMC,aAAa,GAAGD,KAAK,CAACJ,KAAK,GAAG,CAAC,KAAK,CAAC;EAC3C,OAAO;IACL,GAAGI,KAAK;IACRJ,KAAK,EAAEI,KAAK,CAACJ,KAAK,IAAI,CAAC,GAAG,CAAC,GAAGI,KAAK,CAACJ,KAAK,GAAG,CAAC;IAC7CC,SAAS,EAAEI,aAAa,GAAGC,IAAI,CAACC,GAAG,EAAE,GAAGH,KAAK,CAACH,SAAS;IACvDC,eAAe,EAAEG,aAAa,GAAG,CAAC,GAAGD,KAAK,CAACF;EAC7C,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,MAAMM,wBAAsE,GAAG,SAAAA,CAAA,EAG1E;EAAA,IAFHJ,KAAK,GAAAK,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGV,YAAY;EAAA,IACpBa,MAAM,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEN,IAAI,CAACC,MAAM,EAAE;IACX,OAAOR,KAAK;EACd;EAEA,QAAQQ,MAAM,CAACC,IAAI;IACjB,KAAK,iBAAiB;MACpB,OAAO;QACL,GAAGT,KAAK;QACRF,eAAe,EAAEU,MAAM,CAACE,OAAO,EAAEZ;MACnC,CAAC;IAEH,KAAK,iBAAiB;MACpB,OAAOC,cAAc,CAACC,KAAK,CAAC;IAE9B,KAAK,gBAAgB;MACnB,OAAO;QACL,GAAGA,KAAK;QACRJ,KAAK,EAAEI,KAAK,CAACJ,KAAK,GAAG;MACvB,CAAC;IAEH,KAAK,gBAAgB;MACnB,OAAO;QACL,GAAGI,KAAK;QACRJ,KAAK,EAAE;MACT,CAAC;IAEH;MACE,OAAOI,KAAK;EAAC;AAEnB,CAAC;AAED,eAAeI,wBAAwB"}
1
+ {"version":3,"file":"ProgressIndicatorReducer.js","names":["initialState","count","timestamp","percentComplete","finishProgress","state","isFinalFinish","Date","now","progressIndicatorReducer","arguments","length","undefined","action","type","payload"],"sources":["../../../src/redux/reducers/ProgressIndicatorReducer.js"],"sourcesContent":["// @flow\nimport type { Reducer } from \"redux\";\nimport type { ReduxAction, ProgressIndicatorState } from \"../types\";\n\n// REDUCER\nconst initialState: ProgressIndicatorState = {\n count: 0,\n timestamp: 0,\n percentComplete: 0,\n};\n\nconst finishProgress = (state: ProgressIndicatorState) => {\n const isFinalFinish = state.count - 1 === 0;\n return {\n ...state,\n count: state.count <= 0 ? 0 : state.count - 1,\n timestamp: isFinalFinish ? Date.now() : state.timestamp,\n percentComplete: isFinalFinish ? 0 : state.percentComplete,\n };\n};\n\n/**\n * Keep state for the progress indicator\n */\nconst progressIndicatorReducer: Reducer<ProgressIndicatorState, ReduxAction> = (\n state = initialState,\n action\n) => {\n if (!action) {\n return state;\n }\n\n switch (action.type) {\n case \"UPDATE_PROGRESS\":\n return {\n ...state,\n percentComplete: action.payload?.percentComplete,\n };\n\n case \"FINISH_PROGRESS\":\n return finishProgress(state);\n\n case \"START_PROGRESS\":\n return {\n ...state,\n count: state.count + 1,\n };\n\n case \"RESET_PROGRESS\":\n return {\n ...state,\n count: 0,\n };\n\n default:\n return state;\n }\n};\n\nexport default progressIndicatorReducer;\n"],"mappings":"AAIA;AACA,MAAMA,YAAoC,GAAG;EAC3CC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAE,CAAC;EACZC,eAAe,EAAE;AACnB,CAAC;AAED,MAAMC,cAAc,GAAIC,KAA6B,IAAK;EACxD,MAAMC,aAAa,GAAGD,KAAK,CAACJ,KAAK,GAAG,CAAC,KAAK,CAAC;EAC3C,OAAO;IACL,GAAGI,KAAK;IACRJ,KAAK,EAAEI,KAAK,CAACJ,KAAK,IAAI,CAAC,GAAG,CAAC,GAAGI,KAAK,CAACJ,KAAK,GAAG,CAAC;IAC7CC,SAAS,EAAEI,aAAa,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGH,KAAK,CAACH,SAAS;IACvDC,eAAe,EAAEG,aAAa,GAAG,CAAC,GAAGD,KAAK,CAACF;EAC7C,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,MAAMM,wBAAsE,GAAG,SAAAA,CAAA,EAG1E;EAAA,IAFHJ,KAAK,GAAAK,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGV,YAAY;EAAA,IACpBa,MAAM,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEN,IAAI,CAACC,MAAM,EAAE;IACX,OAAOR,KAAK;EACd;EAEA,QAAQQ,MAAM,CAACC,IAAI;IACjB,KAAK,iBAAiB;MACpB,OAAO;QACL,GAAGT,KAAK;QACRF,eAAe,EAAEU,MAAM,CAACE,OAAO,EAAEZ;MACnC,CAAC;IAEH,KAAK,iBAAiB;MACpB,OAAOC,cAAc,CAACC,KAAK,CAAC;IAE9B,KAAK,gBAAgB;MACnB,OAAO;QACL,GAAGA,KAAK;QACRJ,KAAK,EAAEI,KAAK,CAACJ,KAAK,GAAG;MACvB,CAAC;IAEH,KAAK,gBAAgB;MACnB,OAAO;QACL,GAAGI,KAAK;QACRJ,KAAK,EAAE;MACT,CAAC;IAEH;MACE,OAAOI,KAAK;EAChB;AACF,CAAC;AAED,eAAeI,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"configureStore.js","names":["applyMiddleware","compose","combineReducers","createStore","createReduxStore","thunk","routerMiddleware","modularUIMiddleware","createReducer","locationChange","configureStore","routerHistory","customReducers","initialState","composeEnhancers","process","env","NODE_ENV","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","combinedReducers","middleware","enhancers","store","router","dispatch","location"],"sources":["../../../src/redux/store/configureStore.js"],"sourcesContent":["// @flow\nimport {\n applyMiddleware,\n compose,\n combineReducers,\n createStore as createReduxStore,\n} from \"redux\";\nimport thunk from \"redux-thunk\";\n\nimport { routerMiddleware } from \"../_router/RouterMiddleware\";\nimport { modularUIMiddleware } from \"../_modularui/ModularUIMiddleware\";\n\nimport { createReducer } from \"../reducers/createReducer\";\nimport { locationChange } from \"../_router/RouterActions\";\n\nimport type { RouterHistory } from \"react-router\";\nimport type { ReduxAction, ReduxState, ReduxStore } from \"../types\";\nimport type { Reducer } from \"redux\";\n\n/**\n */\nconst configureStore = (\n routerHistory: RouterHistory,\n customReducers?: Object,\n initialState?: $Shape<ReduxState>\n): { routerHistory: RouterHistory, store: ReduxStore } => {\n let composeEnhancers = compose;\n\n if (process.env.NODE_ENV !== \"production\" && typeof window !== \"undefined\") {\n composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\n }\n\n const combinedReducers: Reducer<ReduxState, ReduxAction> = combineReducers({\n ...customReducers,\n ...createReducer(),\n });\n\n const middleware = applyMiddleware(\n modularUIMiddleware,\n routerMiddleware(routerHistory),\n thunk\n );\n\n const enhancers = composeEnhancers(middleware);\n\n const store: ReduxStore = createReduxStore(\n combinedReducers,\n initialState,\n enhancers\n );\n\n if (!initialState?.router) {\n store.dispatch(locationChange(routerHistory.location, \"PUSH\"));\n }\n return { routerHistory, store };\n};\n\nexport default configureStore;\n"],"mappings":"AACA,SACEA,eAAe,EACfC,OAAO,EACPC,eAAe,EACfC,WAAW,IAAIC,gBAAgB,QAC1B,OAAO;AACd,OAAOC,KAAK,MAAM,aAAa;AAE/B,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,mBAAmB,QAAQ,mCAAmC;AAEvE,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,cAAc,QAAQ,0BAA0B;AAMzD;AACA;AACA,MAAMC,cAAc,GAAGA,CACrBC,aAA4B,EAC5BC,cAAuB,EACvBC,YAAiC,KACuB;EACxD,IAAIC,gBAAgB,GAAGb,OAAO;EAE9B,IAAIc,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IAC1EJ,gBAAgB,GAAGI,MAAM,CAACC,oCAAoC,IAAIlB,OAAO;EAC3E;EAEA,MAAMmB,gBAAkD,GAAGlB,eAAe,CAAC;IACzE,GAAGU,cAAc;IACjB,GAAGJ,aAAa;EAClB,CAAC,CAAC;EAEF,MAAMa,UAAU,GAAGrB,eAAe,CAChCO,mBAAmB,EACnBD,gBAAgB,CAACK,aAAa,CAAC,EAC/BN,KAAK,CACN;EAED,MAAMiB,SAAS,GAAGR,gBAAgB,CAACO,UAAU,CAAC;EAE9C,MAAME,KAAiB,GAAGnB,gBAAgB,CACxCgB,gBAAgB,EAChBP,YAAY,EACZS,SAAS,CACV;EAED,IAAI,CAACT,YAAY,EAAEW,MAAM,EAAE;IACzBD,KAAK,CAACE,QAAQ,CAAChB,cAAc,CAACE,aAAa,CAACe,QAAQ,EAAE,MAAM,CAAC,CAAC;EAChE;EACA,OAAO;IAAEf,aAAa;IAAEY;EAAM,CAAC;AACjC,CAAC;AAED,eAAeb,cAAc"}
1
+ {"version":3,"file":"configureStore.js","names":["applyMiddleware","compose","combineReducers","createStore","createReduxStore","thunk","routerMiddleware","modularUIMiddleware","createReducer","locationChange","configureStore","routerHistory","customReducers","initialState","composeEnhancers","process","env","NODE_ENV","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","combinedReducers","middleware","enhancers","store","router","dispatch","location"],"sources":["../../../src/redux/store/configureStore.js"],"sourcesContent":["// @flow\nimport {\n applyMiddleware,\n compose,\n combineReducers,\n createStore as createReduxStore,\n} from \"redux\";\nimport thunk from \"redux-thunk\";\n\nimport { routerMiddleware } from \"../_router/RouterMiddleware\";\nimport { modularUIMiddleware } from \"../_modularui/ModularUIMiddleware\";\n\nimport { createReducer } from \"../reducers/createReducer\";\nimport { locationChange } from \"../_router/RouterActions\";\n\nimport type { RouterHistory } from \"react-router\";\nimport type { ReduxAction, ReduxState, ReduxStore } from \"../types\";\nimport type { Reducer } from \"redux\";\n\n/**\n */\nconst configureStore = (\n routerHistory: RouterHistory,\n customReducers?: Object,\n initialState?: $Shape<ReduxState>\n): { routerHistory: RouterHistory, store: ReduxStore } => {\n let composeEnhancers = compose;\n\n if (process.env.NODE_ENV !== \"production\" && typeof window !== \"undefined\") {\n composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\n }\n\n const combinedReducers: Reducer<ReduxState, ReduxAction> = combineReducers({\n ...customReducers,\n ...createReducer(),\n });\n\n const middleware = applyMiddleware(\n modularUIMiddleware,\n routerMiddleware(routerHistory),\n thunk\n );\n\n const enhancers = composeEnhancers(middleware);\n\n const store: ReduxStore = createReduxStore(\n combinedReducers,\n initialState,\n enhancers\n );\n\n if (!initialState?.router) {\n store.dispatch(locationChange(routerHistory.location, \"PUSH\"));\n }\n return { routerHistory, store };\n};\n\nexport default configureStore;\n"],"mappings":"AACA,SACEA,eAAe,EACfC,OAAO,EACPC,eAAe,EACfC,WAAW,IAAIC,gBAAgB,QAC1B,OAAO;AACd,OAAOC,KAAK,MAAM,aAAa;AAE/B,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,mBAAmB,QAAQ,mCAAmC;AAEvE,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,cAAc,QAAQ,0BAA0B;AAMzD;AACA;AACA,MAAMC,cAAc,GAAGA,CACrBC,aAA4B,EAC5BC,cAAuB,EACvBC,YAAiC,KACuB;EACxD,IAAIC,gBAAgB,GAAGb,OAAO;EAE9B,IAAIc,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IAC1EJ,gBAAgB,GAAGI,MAAM,CAACC,oCAAoC,IAAIlB,OAAO;EAC3E;EAEA,MAAMmB,gBAAkD,GAAGlB,eAAe,CAAC;IACzE,GAAGU,cAAc;IACjB,GAAGJ,aAAa,CAAC;EACnB,CAAC,CAAC;EAEF,MAAMa,UAAU,GAAGrB,eAAe,CAChCO,mBAAmB,EACnBD,gBAAgB,CAACK,aAAa,CAAC,EAC/BN,KACF,CAAC;EAED,MAAMiB,SAAS,GAAGR,gBAAgB,CAACO,UAAU,CAAC;EAE9C,MAAME,KAAiB,GAAGnB,gBAAgB,CACxCgB,gBAAgB,EAChBP,YAAY,EACZS,SACF,CAAC;EAED,IAAI,CAACT,YAAY,EAAEW,MAAM,EAAE;IACzBD,KAAK,CAACE,QAAQ,CAAChB,cAAc,CAACE,aAAa,CAACe,QAAQ,EAAE,MAAM,CAAC,CAAC;EAChE;EACA,OAAO;IAAEf,aAAa;IAAEY;EAAM,CAAC;AACjC,CAAC;AAED,eAAeb,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Cache.js","names":["RESOURCE_CACHE_PREFIX","Cache","constructor","_defineProperty","sessionStorage","_cache","createResourceKey","requestArgs","resourceKey","url","params","locale","getItem","key","cache","cacheItem","JSON","parse","error","hasItem","addItem","value","stringValue","_JSON$stringify","setItem","removeItem","clear","pattern","_context","_filterInstanceProperty","_Object$keys","call","k","RegExp","test","forEach","loadOtherBrowserTabs","callback","window","addEventListener","e","sendSessionStorage","receiveSessionStorage","length","localStorage","Date","now","toString","_context2","newData","newValue","_Object$entries","_ref","_ref2"],"sources":["../../../src/utils/browser/Cache.js"],"sourcesContent":["// @flow\nimport type { RequestOptions } from \"../fetch/types\";\n\nconst RESOURCE_CACHE_PREFIX = \"res:\";\n\n/**\n * Manage the browser cache\n */\nclass Cache {\n _cache: Storage;\n\n /**\n */\n constructor() {\n if (typeof sessionStorage !== \"undefined\") {\n this._cache = sessionStorage;\n }\n }\n\n /**\n * Create a key that can be used to cache resources, needs the request arguments and uses url, params and header of the request args\n * to create a key that is unique for time versions and locale\n */\n createResourceKey(requestArgs: RequestOptions): string {\n let resourceKey = requestArgs.url;\n\n if (requestArgs.params) {\n resourceKey += `|${requestArgs.params}`;\n }\n\n if (requestArgs.locale) {\n resourceKey += `|${requestArgs.locale}`;\n }\n\n return `${RESOURCE_CACHE_PREFIX}${resourceKey}`;\n }\n\n /**\n * Get a cached item by it's key\n */\n getItem(key: string): any {\n const cache = this._cache;\n\n if (!cache) {\n return null;\n }\n\n const cacheItem = cache.getItem(key);\n\n if (!cacheItem) {\n return null;\n }\n\n try {\n return JSON.parse(cacheItem);\n } catch (error) {\n return this._cache.getItem(key);\n }\n }\n\n /**\n * Check if the item with key exists in the browser cache\n */\n hasItem(key: string): boolean {\n return this.getItem(key) !== null;\n }\n\n /**\n * Add an item to the cache\n */\n addItem(key: string, value: string | Object) {\n const stringValue =\n typeof value === \"string\" ? value : JSON.stringify(value);\n\n this._cache.setItem(key, stringValue);\n }\n\n /**\n */\n setItem(key: string, value: string | Object) {\n this.addItem(key, value);\n }\n\n /**\n */\n removeItem(key: string) {\n this._cache.removeItem(key);\n }\n\n /**\n * Clear complete cache storage\n */\n clear(pattern: ?string) {\n if (!this._cache) {\n return;\n }\n\n if (pattern) {\n Object.keys(this._cache)\n .filter((k) => (pattern ? new RegExp(pattern).test(k) : true))\n .forEach((k) => this._cache.removeItem(k));\n } else {\n this._cache.clear();\n }\n }\n\n // Session storage is not available between different tabs in the same window,\n // this load method copies sessionStorage from other tabs into this tab using localStorage\n // see https://blog.guya.net/2015/06/12/sharing-sessionstorage-between-tabs-for-secure-multi-tab-authentication/\n /**\n */\n loadOtherBrowserTabs(callback: Function) {\n window.addEventListener(\"storage\", (e) => {\n this.sendSessionStorage(e);\n this.receiveSessionStorage(e, callback);\n });\n\n if (this._cache.length === 0) {\n // trigger retrieval of sessionstorage on other tabs\n localStorage.setItem(\"getSessionStorage\", Date.now().toString());\n }\n }\n\n /**\n */\n sendSessionStorage(e: StorageEvent) {\n if (e.key === \"getSessionStorage\") {\n localStorage.setItem(\"sessionStorage\", JSON.stringify(this._cache));\n localStorage.removeItem(\"sessionStorage\");\n }\n }\n\n /**\n */\n receiveSessionStorage(e: StorageEvent, callback: Function): any {\n if (e.key === \"sessionStorage\" && !this.getItem(\"sessionStorageCopied\")) {\n // receive sessionstorage from other tabs\n const newData = e.newValue ? JSON.parse(e.newValue) : {};\n Object.entries(newData)\n .filter(([key]) => !this.hasItem(key))\n .forEach(([key, value]) => {\n this.addItem(key, value);\n });\n\n this.setItem(\"sessionStorageCopied\", Date.now().toString());\n\n return callback();\n }\n\n return null;\n }\n}\n\nexport default (new Cache(): Cache);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Cache.js","names":["RESOURCE_CACHE_PREFIX","Cache","constructor","_defineProperty","sessionStorage","_cache","createResourceKey","requestArgs","resourceKey","url","params","locale","getItem","key","cache","cacheItem","JSON","parse","error","hasItem","addItem","value","stringValue","_JSON$stringify","setItem","removeItem","clear","pattern","_context","_filterInstanceProperty","_Object$keys","call","k","RegExp","test","forEach","loadOtherBrowserTabs","callback","window","addEventListener","e","sendSessionStorage","receiveSessionStorage","length","localStorage","Date","now","toString","_context2","newData","newValue","_Object$entries","_ref","_ref2"],"sources":["../../../src/utils/browser/Cache.js"],"sourcesContent":["// @flow\nimport type { RequestOptions } from \"../fetch/types\";\n\nconst RESOURCE_CACHE_PREFIX = \"res:\";\n\n/**\n * Manage the browser cache\n */\nclass Cache {\n _cache: Storage;\n\n /**\n */\n constructor() {\n if (typeof sessionStorage !== \"undefined\") {\n this._cache = sessionStorage;\n }\n }\n\n /**\n * Create a key that can be used to cache resources, needs the request arguments and uses url, params and header of the request args\n * to create a key that is unique for time versions and locale\n */\n createResourceKey(requestArgs: RequestOptions): string {\n let resourceKey = requestArgs.url;\n\n if (requestArgs.params) {\n resourceKey += `|${requestArgs.params}`;\n }\n\n if (requestArgs.locale) {\n resourceKey += `|${requestArgs.locale}`;\n }\n\n return `${RESOURCE_CACHE_PREFIX}${resourceKey}`;\n }\n\n /**\n * Get a cached item by it's key\n */\n getItem(key: string): any {\n const cache = this._cache;\n\n if (!cache) {\n return null;\n }\n\n const cacheItem = cache.getItem(key);\n\n if (!cacheItem) {\n return null;\n }\n\n try {\n return JSON.parse(cacheItem);\n } catch (error) {\n return this._cache.getItem(key);\n }\n }\n\n /**\n * Check if the item with key exists in the browser cache\n */\n hasItem(key: string): boolean {\n return this.getItem(key) !== null;\n }\n\n /**\n * Add an item to the cache\n */\n addItem(key: string, value: string | Object) {\n const stringValue =\n typeof value === \"string\" ? value : JSON.stringify(value);\n\n this._cache.setItem(key, stringValue);\n }\n\n /**\n */\n setItem(key: string, value: string | Object) {\n this.addItem(key, value);\n }\n\n /**\n */\n removeItem(key: string) {\n this._cache.removeItem(key);\n }\n\n /**\n * Clear complete cache storage\n */\n clear(pattern: ?string) {\n if (!this._cache) {\n return;\n }\n\n if (pattern) {\n Object.keys(this._cache)\n .filter((k) => (pattern ? new RegExp(pattern).test(k) : true))\n .forEach((k) => this._cache.removeItem(k));\n } else {\n this._cache.clear();\n }\n }\n\n // Session storage is not available between different tabs in the same window,\n // this load method copies sessionStorage from other tabs into this tab using localStorage\n // see https://blog.guya.net/2015/06/12/sharing-sessionstorage-between-tabs-for-secure-multi-tab-authentication/\n /**\n */\n loadOtherBrowserTabs(callback: Function) {\n window.addEventListener(\"storage\", (e) => {\n this.sendSessionStorage(e);\n this.receiveSessionStorage(e, callback);\n });\n\n if (this._cache.length === 0) {\n // trigger retrieval of sessionstorage on other tabs\n localStorage.setItem(\"getSessionStorage\", Date.now().toString());\n }\n }\n\n /**\n */\n sendSessionStorage(e: StorageEvent) {\n if (e.key === \"getSessionStorage\") {\n localStorage.setItem(\"sessionStorage\", JSON.stringify(this._cache));\n localStorage.removeItem(\"sessionStorage\");\n }\n }\n\n /**\n */\n receiveSessionStorage(e: StorageEvent, callback: Function): any {\n if (e.key === \"sessionStorage\" && !this.getItem(\"sessionStorageCopied\")) {\n // receive sessionstorage from other tabs\n const newData = e.newValue ? JSON.parse(e.newValue) : {};\n Object.entries(newData)\n .filter(([key]) => !this.hasItem(key))\n .forEach(([key, value]) => {\n this.addItem(key, value);\n });\n\n this.setItem(\"sessionStorageCopied\", Date.now().toString());\n\n return callback();\n }\n\n return null;\n }\n}\n\nexport default (new Cache(): Cache);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Cookies.js","names":["Cookies","getBasePath","getCookie","name","get","setCookie","value","options","attributes","path","expires","days","sameSite","secure","set","clearCookie","remove"],"sources":["../../../src/utils/browser/Cookies.js"],"sourcesContent":["// @flow\nimport Cookies from \"js-cookie\";\n\nimport { getBasePath } from \"../../constants/Settings\";\n\ntype CookieOptions = {\n days?: number,\n sameSite?: \"None\" | \"Lax\" | \"Strict\",\n secure?: boolean,\n};\n\ntype CookieAttributes = {\n path: string,\n expires?: number,\n sameSite?: string,\n secure?: boolean,\n};\n\n/**\n */\nexport const getCookie = (name: string): null | string => {\n return Cookies.get(name);\n};\n\n/**\n */\nexport const setCookie = (\n name: string,\n value: any,\n options?: CookieOptions\n) => {\n const attributes: CookieAttributes = { path: getBasePath() };\n attributes.expires = options?.days;\n attributes.sameSite = options?.sameSite ?? \"Strict\";\n attributes.secure = options?.secure;\n\n Cookies.set(name, value, attributes);\n};\n\n/**\n */\nexport const clearCookie = (name: string) => {\n Cookies.remove(name, { path: getBasePath() });\n};\n"],"mappings":"AACA,OAAOA,OAAO,MAAM,WAAW;AAE/B,SAASC,WAAW,QAAQ,0BAA0B;AAetD;AACA;AACA,OAAO,MAAMC,SAAS,GAAIC,IAAY,IAAoB;EACxD,OAAOH,OAAO,CAACI,GAAG,CAACD,IAAI,CAAC;AAC1B,CAAC;;AAED;AACA;AACA,OAAO,MAAME,SAAS,GAAGA,CACvBF,IAAY,EACZG,KAAU,EACVC,OAAuB,KACpB;EACH,MAAMC,UAA4B,GAAG;IAAEC,IAAI,EAAER,WAAW;EAAG,CAAC;EAC5DO,UAAU,CAACE,OAAO,GAAGH,OAAO,EAAEI,IAAI;EAClCH,UAAU,CAACI,QAAQ,GAAGL,OAAO,EAAEK,QAAQ,IAAI,QAAQ;EACnDJ,UAAU,CAACK,MAAM,GAAGN,OAAO,EAAEM,MAAM;EAEnCb,OAAO,CAACc,GAAG,CAACX,IAAI,EAAEG,KAAK,EAAEE,UAAU,CAAC;AACtC,CAAC;;AAED;AACA;AACA,OAAO,MAAMO,WAAW,GAAIZ,IAAY,IAAK;EAC3CH,OAAO,CAACgB,MAAM,CAACb,IAAI,EAAE;IAAEM,IAAI,EAAER,WAAW;EAAG,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"Cookies.js","names":["Cookies","getBasePath","getCookie","name","get","setCookie","value","options","attributes","path","expires","days","sameSite","secure","set","clearCookie","remove"],"sources":["../../../src/utils/browser/Cookies.js"],"sourcesContent":["// @flow\nimport Cookies from \"js-cookie\";\n\nimport { getBasePath } from \"../../constants/Settings\";\n\ntype CookieOptions = {\n days?: number,\n sameSite?: \"None\" | \"Lax\" | \"Strict\",\n secure?: boolean,\n};\n\ntype CookieAttributes = {\n path: string,\n expires?: number,\n sameSite?: string,\n secure?: boolean,\n};\n\n/**\n */\nexport const getCookie = (name: string): null | string => {\n return Cookies.get(name);\n};\n\n/**\n */\nexport const setCookie = (\n name: string,\n value: any,\n options?: CookieOptions\n) => {\n const attributes: CookieAttributes = { path: getBasePath() };\n attributes.expires = options?.days;\n attributes.sameSite = options?.sameSite ?? \"Strict\";\n attributes.secure = options?.secure;\n\n Cookies.set(name, value, attributes);\n};\n\n/**\n */\nexport const clearCookie = (name: string) => {\n Cookies.remove(name, { path: getBasePath() });\n};\n"],"mappings":"AACA,OAAOA,OAAO,MAAM,WAAW;AAE/B,SAASC,WAAW,QAAQ,0BAA0B;AAetD;AACA;AACA,OAAO,MAAMC,SAAS,GAAIC,IAAY,IAAoB;EACxD,OAAOH,OAAO,CAACI,GAAG,CAACD,IAAI,CAAC;AAC1B,CAAC;;AAED;AACA;AACA,OAAO,MAAME,SAAS,GAAGA,CACvBF,IAAY,EACZG,KAAU,EACVC,OAAuB,KACpB;EACH,MAAMC,UAA4B,GAAG;IAAEC,IAAI,EAAER,WAAW,CAAC;EAAE,CAAC;EAC5DO,UAAU,CAACE,OAAO,GAAGH,OAAO,EAAEI,IAAI;EAClCH,UAAU,CAACI,QAAQ,GAAGL,OAAO,EAAEK,QAAQ,IAAI,QAAQ;EACnDJ,UAAU,CAACK,MAAM,GAAGN,OAAO,EAAEM,MAAM;EAEnCb,OAAO,CAACc,GAAG,CAACX,IAAI,EAAEG,KAAK,EAAEE,UAAU,CAAC;AACtC,CAAC;;AAED;AACA;AACA,OAAO,MAAMO,WAAW,GAAIZ,IAAY,IAAK;EAC3CH,OAAO,CAACgB,MAAM,CAACb,IAAI,EAAE;IAAEM,IAAI,EAAER,WAAW,CAAC;EAAE,CAAC,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeUtil.js","names":["parse","format","isValid","isAfter","isBefore","isSameDay","addSeconds","addMinutes","addHours","addDays","addWeeks","addMonths","addYears","subSeconds","subMinutes","subHours","subDays","subWeeks","subMonths","subYears","startOfMonth","endOfMonth","startOfWeek","getHours","getMinutes","getDay","getWeek","setMilliseconds","setSeconds","setMinutes","setHours","setMonth","setYear","set","nl","enGB","getCookie","getSetting","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","DEFAULT_WEEK_STARTS_ON","DEFAULT_FIRST_WEEK_CONTAINS_DATE","BaseDateTimeUtil","constructor","isoFormat","_defineProperty","_isoFormat","getLocale","locale","getOptions","weekStartsOn","firstWeekContainsDate","toDate","date","inputFormat","arguments","length","undefined","Date","toFormat","targetFormat","parsedDate","toISO","sourceFormat","now","convertFormat","hasFormat","realDate","formattedValue","isOutsideRange","replace","toUpperCase","inputDate","afterISODate","isSameOrAfter","isSame","beforeISODate","isSameOrBefore","compareDate","getTime","isOther","isWeekend","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","amount","subtractSeconds","subtractMinutes","subtractHours","subtractDays","subtractWeeks","subtractMonths","subtractYears","year","month","setHour","hour","setMinute","minute","setSecond","second","milliseconds","setTime","hours","minutes","seconds","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil"],"sources":["../../../src/utils/datetime/DateTimeUtil.js"],"sourcesContent":["// @flow\nimport {\n parse,\n format,\n isValid,\n isAfter,\n isBefore,\n isSameDay,\n addSeconds,\n addMinutes,\n addHours,\n addDays,\n addWeeks,\n addMonths,\n addYears,\n subSeconds,\n subMinutes,\n subHours,\n subDays,\n subWeeks,\n subMonths,\n subYears,\n startOfMonth,\n endOfMonth,\n startOfWeek,\n getHours,\n getMinutes,\n getDay,\n getWeek,\n setMilliseconds,\n setSeconds,\n setMinutes,\n setHours,\n setMonth,\n setYear,\n set,\n} from \"date-fns\";\nimport { nl, enGB } from \"date-fns/locale\";\n\nimport { getCookie } from \"../browser/Cookies\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport {\n ISO_DATE_FORMAT,\n ISO_DATETIME_FORMAT,\n ISO_TIME_FORMAT,\n ISO_TIMESTAMP_FORMAT,\n DEFAULT_WEEK_STARTS_ON,\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n} from \"../../constants\";\n\n/**\n * @hideconstructor\n */\nclass BaseDateTimeUtil {\n _isoFormat: string;\n\n constructor(isoFormat: string) {\n this._isoFormat = isoFormat;\n }\n\n /**\n */\n getLocale(): typeof nl | typeof enGB {\n const locale = getCookie(\"locale\") ?? \"en\";\n\n if (locale === \"nl\") {\n return nl;\n }\n\n return enGB;\n }\n\n // returns the options defined in settings\n getOptions(): {\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n firstWeekContainsDate: 1 | 2 | 3 | 4 | 5 | 6 | 7,\n } {\n // indicates on what day the week starts\n const weekStartsOn = getSetting(\n \"CALENDAR_WEEK_STARTS_ON\",\n DEFAULT_WEEK_STARTS_ON\n );\n\n // indicates which date indicates the first week of the year\n const firstWeekContainsDate = getSetting(\n \"CALENDAR_FIRST_WEEK_CONTAINS_DATE\",\n DEFAULT_FIRST_WEEK_CONTAINS_DATE\n );\n\n return { weekStartsOn, firstWeekContainsDate };\n }\n\n /**\n */\n toDate(date: string, inputFormat: string = this._isoFormat): Date {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return parse(date, inputFormat, new Date(), {\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n */\n toFormat(date: string | Date, targetFormat: string): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n\n if (isValid(parsedDate)) {\n return format(parsedDate, targetFormat, {\n weekStartsOn,\n locale: this.getLocale(),\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n toISO(date: string | Date, sourceFormat: string = this._isoFormat): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate =\n typeof date === \"string\" ? this.toDate(date, sourceFormat) : date;\n\n if (isValid(parsedDate)) {\n return format(parsedDate, this._isoFormat, {\n weekStartsOn,\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n now(): string {\n return this.toISO(new Date());\n }\n\n /**\n */\n convertFormat(sourceFormat: string): string {\n return sourceFormat ? sourceFormat : this._isoFormat;\n }\n\n /**\n * VALIDATION\n */\n hasFormat(date: string, sourceFormat: string): boolean {\n const { weekStartsOn } = this.getOptions();\n\n const realDate = this.toDate(date, sourceFormat);\n if (isValid(realDate)) {\n const formattedValue = format(realDate, sourceFormat, {\n weekStartsOn,\n });\n\n const isOutsideRange =\n isBefore(realDate, new Date(1000, 1, 1)) ||\n isAfter(realDate, new Date(9999, 11, 31));\n if (isOutsideRange) {\n return false;\n }\n\n return (\n formattedValue.replace(/0/gu, \"\").toUpperCase() ===\n date.replace(/0/gu, \"\").toUpperCase()\n );\n }\n\n return false;\n }\n\n /**\n */\n isValid(date: string, inputFormat: string = this._isoFormat): boolean {\n return isValid(this.toDate(date, inputFormat));\n }\n\n /**\n */\n isAfter(\n inputDate: string,\n afterISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n afterISODate != null &&\n isAfter(this.toDate(inputDate, inputFormat), this.toDate(afterISODate))\n );\n }\n\n /**\n */\n isSameOrAfter(\n inputDate: string,\n afterISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n afterISODate != null &&\n (this.isAfter(inputDate, afterISODate, inputFormat) ||\n this.isSame(inputDate, afterISODate, inputFormat))\n );\n }\n\n /**\n */\n isBefore(\n inputDate: string,\n beforeISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n beforeISODate != null &&\n isBefore(this.toDate(inputDate, inputFormat), this.toDate(beforeISODate))\n );\n }\n\n /**\n */\n isSameOrBefore(\n inputDate: string,\n beforeISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n beforeISODate != null &&\n (this.isBefore(inputDate, beforeISODate, inputFormat) ||\n this.isSame(inputDate, beforeISODate, inputFormat))\n );\n }\n\n /**\n */\n isSame(\n inputDate: string,\n compareDate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n compareDate != null &&\n this.toDate(inputDate, inputFormat).getTime() ===\n this.toDate(compareDate).getTime()\n );\n }\n\n /**\n */\n isSameDay(\n inputDate: string,\n compareDate: string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n compareDate != null &&\n isSameDay(\n this.toDate(inputDate, inputFormat),\n this.toDate(compareDate, inputFormat)\n )\n );\n }\n\n /**\n */\n isOther(\n inputDate: string,\n compareDate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return !this.isSame(inputDate, compareDate, inputFormat);\n }\n\n /**\n */\n isWeekend(inputDate: string): boolean {\n const SATURDAY_NUMBER = 6;\n const SUNDAY_NUMBER = 0;\n const weekDay = getDay(this.toDate(inputDate));\n\n return weekDay === SATURDAY_NUMBER || weekDay === SUNDAY_NUMBER;\n }\n\n /**\n * CALCULATIONS\n */\n addSeconds(date: string, amount: number): string {\n return this.toISO(addSeconds(this.toDate(date), amount));\n }\n\n /**\n */\n addMinutes(date: string, amount: number): string {\n return this.toISO(addMinutes(this.toDate(date), amount));\n }\n\n /**\n */\n addHours(date: string, amount: number): string {\n return this.toISO(addHours(this.toDate(date), amount));\n }\n\n /**\n */\n addDays(date: string, amount: number): string {\n return this.toISO(addDays(this.toDate(date), amount));\n }\n\n /**\n */\n addWeeks(date: string, amount: number): string {\n return this.toISO(addWeeks(this.toDate(date), amount));\n }\n\n /**\n */\n addMonths(date: string, amount: number): string {\n return this.toISO(addMonths(this.toDate(date), amount));\n }\n\n /**\n */\n addYears(date: string, amount: number): string {\n return this.toISO(addYears(this.toDate(date), amount));\n }\n\n /**\n */\n subtractSeconds(date: string, amount: number): string {\n return this.toISO(subSeconds(this.toDate(date), amount));\n }\n\n /**\n */\n subtractMinutes(date: string, amount: number): string {\n return this.toISO(subMinutes(this.toDate(date), amount));\n }\n\n /**\n */\n subtractHours(date: string, amount: number): string {\n return this.toISO(subHours(this.toDate(date), amount));\n }\n\n /**\n */\n subtractDays(date: string, amount: number): string {\n return this.toISO(subDays(this.toDate(date), amount));\n }\n\n /**\n */\n subtractWeeks(date: string, amount: number): string {\n return this.toISO(subWeeks(this.toDate(date), amount));\n }\n\n /**\n */\n subtractMonths(date: string, amount: number): string {\n return this.toISO(subMonths(this.toDate(date), amount));\n }\n\n /**\n */\n subtractYears(date: string, amount: number): string {\n return this.toISO(subYears(this.toDate(date), amount));\n }\n\n /**\n * GETTERS\n */\n startOfMonth(date: string, inputFormat: string = this._isoFormat): string {\n return this.toISO(startOfMonth(this.toDate(date, inputFormat)));\n }\n\n /**\n */\n endOfMonth(date: string, inputFormat: string = this._isoFormat): string {\n return this.toISO(endOfMonth(this.toDate(date, inputFormat)));\n }\n\n /**\n */\n startOfWeek(date: string, inputFormat: string = this._isoFormat): string {\n const { weekStartsOn } = this.getOptions();\n\n return this.toISO(\n startOfWeek(this.toDate(date, inputFormat), {\n weekStartsOn,\n })\n );\n }\n\n /**\n */\n getHours(date: string | Date): number {\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n return getHours(parsedDate);\n }\n\n /**\n */\n getMinutes(date: string | Date): number {\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n return getMinutes(parsedDate);\n }\n\n /**\n */\n getWeek(date: string): number {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return getWeek(this.toDate(date), {\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n * SETTERS\n */\n setYear(date: string, year: number): string {\n return this.toISO(setYear(this.toDate(date), year));\n }\n\n /**\n */\n setMonth(date: string, month: number): string {\n return this.toISO(setMonth(this.toDate(date), month));\n }\n\n /**\n */\n setHour(date: string, hour: number): string {\n return this.toISO(setHours(this.toDate(date), hour));\n }\n\n /**\n */\n setMinute(date: string, minute: number): string {\n return this.toISO(setMinutes(this.toDate(date), minute));\n }\n\n /**\n */\n setSecond(date: string, second: number): string {\n return this.toISO(setSeconds(this.toDate(date), second));\n }\n\n /**\n */\n setMilliseconds(date: string, milliseconds: number): string {\n return this.toISO(setMilliseconds(this.toDate(date), milliseconds));\n }\n\n /**\n */\n setTime(\n date: string,\n hours: number,\n minutes: number,\n seconds: number,\n milliseconds: number\n ): string {\n return this.toISO(\n set(this.toDate(date), {\n hours,\n minutes,\n seconds,\n milliseconds,\n })\n );\n }\n}\n\n/**\n * DateUtil\n */\nconst DateUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_DATE_FORMAT);\n\n/**\n * DateTimeUtil\n */\nconst DateTimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_DATETIME_FORMAT\n);\n\n/**\n * TimeUtil\n */\nconst TimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_TIME_FORMAT);\n\n/**\n * TimestampUtil\n */\nconst TimestampUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_TIMESTAMP_FORMAT\n);\n\nexport { DateUtil, DateTimeUtil, TimeUtil, TimestampUtil };\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimeUtil.js","names":["parse","format","isValid","isAfter","isBefore","isSameDay","addSeconds","addMinutes","addHours","addDays","addWeeks","addMonths","addYears","subSeconds","subMinutes","subHours","subDays","subWeeks","subMonths","subYears","startOfMonth","endOfMonth","startOfWeek","getHours","getMinutes","getDay","getWeek","setMilliseconds","setSeconds","setMinutes","setHours","setMonth","setYear","set","nl","enGB","getCookie","getSetting","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","DEFAULT_WEEK_STARTS_ON","DEFAULT_FIRST_WEEK_CONTAINS_DATE","BaseDateTimeUtil","constructor","isoFormat","_defineProperty","_isoFormat","getLocale","locale","getOptions","weekStartsOn","firstWeekContainsDate","toDate","date","inputFormat","arguments","length","undefined","Date","toFormat","targetFormat","parsedDate","toISO","sourceFormat","now","convertFormat","hasFormat","realDate","formattedValue","isOutsideRange","replace","toUpperCase","inputDate","afterISODate","isSameOrAfter","isSame","beforeISODate","isSameOrBefore","compareDate","getTime","isOther","isWeekend","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","amount","subtractSeconds","subtractMinutes","subtractHours","subtractDays","subtractWeeks","subtractMonths","subtractYears","year","month","setHour","hour","setMinute","minute","setSecond","second","milliseconds","setTime","hours","minutes","seconds","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil"],"sources":["../../../src/utils/datetime/DateTimeUtil.js"],"sourcesContent":["// @flow\nimport {\n parse,\n format,\n isValid,\n isAfter,\n isBefore,\n isSameDay,\n addSeconds,\n addMinutes,\n addHours,\n addDays,\n addWeeks,\n addMonths,\n addYears,\n subSeconds,\n subMinutes,\n subHours,\n subDays,\n subWeeks,\n subMonths,\n subYears,\n startOfMonth,\n endOfMonth,\n startOfWeek,\n getHours,\n getMinutes,\n getDay,\n getWeek,\n setMilliseconds,\n setSeconds,\n setMinutes,\n setHours,\n setMonth,\n setYear,\n set,\n} from \"date-fns\";\nimport { nl, enGB } from \"date-fns/locale\";\n\nimport { getCookie } from \"../browser/Cookies\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport {\n ISO_DATE_FORMAT,\n ISO_DATETIME_FORMAT,\n ISO_TIME_FORMAT,\n ISO_TIMESTAMP_FORMAT,\n DEFAULT_WEEK_STARTS_ON,\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n} from \"../../constants\";\n\n/**\n * @hideconstructor\n */\nclass BaseDateTimeUtil {\n _isoFormat: string;\n\n constructor(isoFormat: string) {\n this._isoFormat = isoFormat;\n }\n\n /**\n */\n getLocale(): typeof nl | typeof enGB {\n const locale = getCookie(\"locale\") ?? \"en\";\n\n if (locale === \"nl\") {\n return nl;\n }\n\n return enGB;\n }\n\n // returns the options defined in settings\n getOptions(): {\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n firstWeekContainsDate: 1 | 2 | 3 | 4 | 5 | 6 | 7,\n } {\n // indicates on what day the week starts\n const weekStartsOn = getSetting(\n \"CALENDAR_WEEK_STARTS_ON\",\n DEFAULT_WEEK_STARTS_ON\n );\n\n // indicates which date indicates the first week of the year\n const firstWeekContainsDate = getSetting(\n \"CALENDAR_FIRST_WEEK_CONTAINS_DATE\",\n DEFAULT_FIRST_WEEK_CONTAINS_DATE\n );\n\n return { weekStartsOn, firstWeekContainsDate };\n }\n\n /**\n */\n toDate(date: string, inputFormat: string = this._isoFormat): Date {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return parse(date, inputFormat, new Date(), {\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n */\n toFormat(date: string | Date, targetFormat: string): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n\n if (isValid(parsedDate)) {\n return format(parsedDate, targetFormat, {\n weekStartsOn,\n locale: this.getLocale(),\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n toISO(date: string | Date, sourceFormat: string = this._isoFormat): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate =\n typeof date === \"string\" ? this.toDate(date, sourceFormat) : date;\n\n if (isValid(parsedDate)) {\n return format(parsedDate, this._isoFormat, {\n weekStartsOn,\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n now(): string {\n return this.toISO(new Date());\n }\n\n /**\n */\n convertFormat(sourceFormat: string): string {\n return sourceFormat ? sourceFormat : this._isoFormat;\n }\n\n /**\n * VALIDATION\n */\n hasFormat(date: string, sourceFormat: string): boolean {\n const { weekStartsOn } = this.getOptions();\n\n const realDate = this.toDate(date, sourceFormat);\n if (isValid(realDate)) {\n const formattedValue = format(realDate, sourceFormat, {\n weekStartsOn,\n });\n\n const isOutsideRange =\n isBefore(realDate, new Date(1000, 1, 1)) ||\n isAfter(realDate, new Date(9999, 11, 31));\n if (isOutsideRange) {\n return false;\n }\n\n return (\n formattedValue.replace(/0/gu, \"\").toUpperCase() ===\n date.replace(/0/gu, \"\").toUpperCase()\n );\n }\n\n return false;\n }\n\n /**\n */\n isValid(date: string, inputFormat: string = this._isoFormat): boolean {\n return isValid(this.toDate(date, inputFormat));\n }\n\n /**\n */\n isAfter(\n inputDate: string,\n afterISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n afterISODate != null &&\n isAfter(this.toDate(inputDate, inputFormat), this.toDate(afterISODate))\n );\n }\n\n /**\n */\n isSameOrAfter(\n inputDate: string,\n afterISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n afterISODate != null &&\n (this.isAfter(inputDate, afterISODate, inputFormat) ||\n this.isSame(inputDate, afterISODate, inputFormat))\n );\n }\n\n /**\n */\n isBefore(\n inputDate: string,\n beforeISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n beforeISODate != null &&\n isBefore(this.toDate(inputDate, inputFormat), this.toDate(beforeISODate))\n );\n }\n\n /**\n */\n isSameOrBefore(\n inputDate: string,\n beforeISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n beforeISODate != null &&\n (this.isBefore(inputDate, beforeISODate, inputFormat) ||\n this.isSame(inputDate, beforeISODate, inputFormat))\n );\n }\n\n /**\n */\n isSame(\n inputDate: string,\n compareDate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n compareDate != null &&\n this.toDate(inputDate, inputFormat).getTime() ===\n this.toDate(compareDate).getTime()\n );\n }\n\n /**\n */\n isSameDay(\n inputDate: string,\n compareDate: string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n compareDate != null &&\n isSameDay(\n this.toDate(inputDate, inputFormat),\n this.toDate(compareDate, inputFormat)\n )\n );\n }\n\n /**\n */\n isOther(\n inputDate: string,\n compareDate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return !this.isSame(inputDate, compareDate, inputFormat);\n }\n\n /**\n */\n isWeekend(inputDate: string): boolean {\n const SATURDAY_NUMBER = 6;\n const SUNDAY_NUMBER = 0;\n const weekDay = getDay(this.toDate(inputDate));\n\n return weekDay === SATURDAY_NUMBER || weekDay === SUNDAY_NUMBER;\n }\n\n /**\n * CALCULATIONS\n */\n addSeconds(date: string, amount: number): string {\n return this.toISO(addSeconds(this.toDate(date), amount));\n }\n\n /**\n */\n addMinutes(date: string, amount: number): string {\n return this.toISO(addMinutes(this.toDate(date), amount));\n }\n\n /**\n */\n addHours(date: string, amount: number): string {\n return this.toISO(addHours(this.toDate(date), amount));\n }\n\n /**\n */\n addDays(date: string, amount: number): string {\n return this.toISO(addDays(this.toDate(date), amount));\n }\n\n /**\n */\n addWeeks(date: string, amount: number): string {\n return this.toISO(addWeeks(this.toDate(date), amount));\n }\n\n /**\n */\n addMonths(date: string, amount: number): string {\n return this.toISO(addMonths(this.toDate(date), amount));\n }\n\n /**\n */\n addYears(date: string, amount: number): string {\n return this.toISO(addYears(this.toDate(date), amount));\n }\n\n /**\n */\n subtractSeconds(date: string, amount: number): string {\n return this.toISO(subSeconds(this.toDate(date), amount));\n }\n\n /**\n */\n subtractMinutes(date: string, amount: number): string {\n return this.toISO(subMinutes(this.toDate(date), amount));\n }\n\n /**\n */\n subtractHours(date: string, amount: number): string {\n return this.toISO(subHours(this.toDate(date), amount));\n }\n\n /**\n */\n subtractDays(date: string, amount: number): string {\n return this.toISO(subDays(this.toDate(date), amount));\n }\n\n /**\n */\n subtractWeeks(date: string, amount: number): string {\n return this.toISO(subWeeks(this.toDate(date), amount));\n }\n\n /**\n */\n subtractMonths(date: string, amount: number): string {\n return this.toISO(subMonths(this.toDate(date), amount));\n }\n\n /**\n */\n subtractYears(date: string, amount: number): string {\n return this.toISO(subYears(this.toDate(date), amount));\n }\n\n /**\n * GETTERS\n */\n startOfMonth(date: string, inputFormat: string = this._isoFormat): string {\n return this.toISO(startOfMonth(this.toDate(date, inputFormat)));\n }\n\n /**\n */\n endOfMonth(date: string, inputFormat: string = this._isoFormat): string {\n return this.toISO(endOfMonth(this.toDate(date, inputFormat)));\n }\n\n /**\n */\n startOfWeek(date: string, inputFormat: string = this._isoFormat): string {\n const { weekStartsOn } = this.getOptions();\n\n return this.toISO(\n startOfWeek(this.toDate(date, inputFormat), {\n weekStartsOn,\n })\n );\n }\n\n /**\n */\n getHours(date: string | Date): number {\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n return getHours(parsedDate);\n }\n\n /**\n */\n getMinutes(date: string | Date): number {\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n return getMinutes(parsedDate);\n }\n\n /**\n */\n getWeek(date: string): number {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return getWeek(this.toDate(date), {\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n * SETTERS\n */\n setYear(date: string, year: number): string {\n return this.toISO(setYear(this.toDate(date), year));\n }\n\n /**\n */\n setMonth(date: string, month: number): string {\n return this.toISO(setMonth(this.toDate(date), month));\n }\n\n /**\n */\n setHour(date: string, hour: number): string {\n return this.toISO(setHours(this.toDate(date), hour));\n }\n\n /**\n */\n setMinute(date: string, minute: number): string {\n return this.toISO(setMinutes(this.toDate(date), minute));\n }\n\n /**\n */\n setSecond(date: string, second: number): string {\n return this.toISO(setSeconds(this.toDate(date), second));\n }\n\n /**\n */\n setMilliseconds(date: string, milliseconds: number): string {\n return this.toISO(setMilliseconds(this.toDate(date), milliseconds));\n }\n\n /**\n */\n setTime(\n date: string,\n hours: number,\n minutes: number,\n seconds: number,\n milliseconds: number\n ): string {\n return this.toISO(\n set(this.toDate(date), {\n hours,\n minutes,\n seconds,\n milliseconds,\n })\n );\n }\n}\n\n/**\n * DateUtil\n */\nconst DateUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_DATE_FORMAT);\n\n/**\n * DateTimeUtil\n */\nconst DateTimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_DATETIME_FORMAT\n);\n\n/**\n * TimeUtil\n */\nconst TimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_TIME_FORMAT);\n\n/**\n * TimestampUtil\n */\nconst TimestampUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_TIMESTAMP_FORMAT\n);\n\nexport { DateUtil, DateTimeUtil, TimeUtil, TimestampUtil };\n"],"mappings":";AACA,SACEA,KAAK,EACLC,MAAM,EACNC,OAAO,EACPC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,UAAU,EACVC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,QAAQ,EACRC,UAAU,EACVC,UAAU,EACVC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,QAAQ,EACRC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,QAAQ,EACRC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,QAAQ,EACRC,QAAQ,EACRC,OAAO,EACPC,GAAG,QACE,UAAU;AACjB,SAASC,EAAE,EAAEC,IAAI,QAAQ,iBAAiB;AAE1C,SAASC,SAAS,QAAQ,oBAAoB;AAE9C,SAASC,UAAU,QAAQ,0BAA0B;AAErD,SACEC,eAAe,EACfC,mBAAmB,EACnBC,eAAe,EACfC,oBAAoB,EACpBC,sBAAsB,EACtBC,gCAAgC,QAC3B,iBAAiB;;AAExB;AACA;AACA;AACA,MAAMC,gBAAgB,CAAC;EAGrBC,WAAWA,CAACC,SAAiB,EAAE;IAAAC,eAAA;IAC7B,IAAI,CAACC,UAAU,GAAGF,SAAS;EAC7B;;EAEA;AACF;EACEG,SAASA,CAAA,EAA4B;IACnC,MAAMC,MAAM,GAAGd,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI;IAE1C,IAAIc,MAAM,KAAK,IAAI,EAAE;MACnB,OAAOhB,EAAE;IACX;IAEA,OAAOC,IAAI;EACb;;EAEA;EACAgB,UAAUA,CAAA,EAGR;IACA;IACA,MAAMC,YAAY,GAAGf,UAAU,CAC7B,yBAAyB,EACzBK,sBACF,CAAC;;IAED;IACA,MAAMW,qBAAqB,GAAGhB,UAAU,CACtC,mCAAmC,EACnCM,gCACF,CAAC;IAED,OAAO;MAAES,YAAY;MAAEC;IAAsB,CAAC;EAChD;;EAEA;AACF;EACEC,MAAMA,CAACC,IAAY,EAA+C;IAAA,IAA7CC,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IACxD,MAAM;MAAEI,YAAY;MAAEC;IAAsB,CAAC,GAAG,IAAI,CAACF,UAAU,CAAC,CAAC;IAEjE,OAAOnD,KAAK,CAACuD,IAAI,EAAEC,WAAW,EAAE,IAAII,IAAI,CAAC,CAAC,EAAE;MAC1CR,YAAY;MACZC;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;EACEQ,QAAQA,CAACN,IAAmB,EAAEO,YAAoB,EAAU;IAC1D,MAAM;MAAEV;IAAa,CAAC,GAAG,IAAI,CAACD,UAAU,CAAC,CAAC;IAE1C,MAAMY,UAAU,GAAG,OAAOR,IAAI,KAAK,QAAQ,GAAG,IAAI,CAACD,MAAM,CAACC,IAAI,CAAC,GAAGA,IAAI;IAEtE,IAAIrD,OAAO,CAAC6D,UAAU,CAAC,EAAE;MACvB,OAAO9D,MAAM,CAAC8D,UAAU,EAAED,YAAY,EAAE;QACtCV,YAAY;QACZF,MAAM,EAAE,IAAI,CAACD,SAAS,CAAC;MACzB,CAAC,CAAC;IACJ;IAEA,OAAO,cAAc;EACvB;;EAEA;AACF;EACEe,KAAKA,CAACT,IAAmB,EAAkD;IAAA,IAAhDU,YAAoB,GAAAR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IAC/D,MAAM;MAAEI;IAAa,CAAC,GAAG,IAAI,CAACD,UAAU,CAAC,CAAC;IAE1C,MAAMY,UAAU,GACd,OAAOR,IAAI,KAAK,QAAQ,GAAG,IAAI,CAACD,MAAM,CAACC,IAAI,EAAEU,YAAY,CAAC,GAAGV,IAAI;IAEnE,IAAIrD,OAAO,CAAC6D,UAAU,CAAC,EAAE;MACvB,OAAO9D,MAAM,CAAC8D,UAAU,EAAE,IAAI,CAACf,UAAU,EAAE;QACzCI;MACF,CAAC,CAAC;IACJ;IAEA,OAAO,cAAc;EACvB;;EAEA;AACF;EACEc,GAAGA,CAAA,EAAW;IACZ,OAAO,IAAI,CAACF,KAAK,CAAC,IAAIJ,IAAI,CAAC,CAAC,CAAC;EAC/B;;EAEA;AACF;EACEO,aAAaA,CAACF,YAAoB,EAAU;IAC1C,OAAOA,YAAY,GAAGA,YAAY,GAAG,IAAI,CAACjB,UAAU;EACtD;;EAEA;AACF;AACA;EACEoB,SAASA,CAACb,IAAY,EAAEU,YAAoB,EAAW;IACrD,MAAM;MAAEb;IAAa,CAAC,GAAG,IAAI,CAACD,UAAU,CAAC,CAAC;IAE1C,MAAMkB,QAAQ,GAAG,IAAI,CAACf,MAAM,CAACC,IAAI,EAAEU,YAAY,CAAC;IAChD,IAAI/D,OAAO,CAACmE,QAAQ,CAAC,EAAE;MACrB,MAAMC,cAAc,GAAGrE,MAAM,CAACoE,QAAQ,EAAEJ,YAAY,EAAE;QACpDb;MACF,CAAC,CAAC;MAEF,MAAMmB,cAAc,GAClBnE,QAAQ,CAACiE,QAAQ,EAAE,IAAIT,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IACxCzD,OAAO,CAACkE,QAAQ,EAAE,IAAIT,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;MAC3C,IAAIW,cAAc,EAAE;QAClB,OAAO,KAAK;MACd;MAEA,OACED,cAAc,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACC,WAAW,CAAC,CAAC,KAC/ClB,IAAI,CAACiB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACC,WAAW,CAAC,CAAC;IAEzC;IAEA,OAAO,KAAK;EACd;;EAEA;AACF;EACEvE,OAAOA,CAACqD,IAAY,EAAkD;IAAA,IAAhDC,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IACzD,OAAO9C,OAAO,CAAC,IAAI,CAACoD,MAAM,CAACC,IAAI,EAAEC,WAAW,CAAC,CAAC;EAChD;;EAEA;AACF;EACErD,OAAOA,CACLuE,SAAiB,EACjBC,YAAqB,EAEZ;IAAA,IADTnB,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IAErC,OACE2B,YAAY,IAAI,IAAI,IACpBxE,OAAO,CAAC,IAAI,CAACmD,MAAM,CAACoB,SAAS,EAAElB,WAAW,CAAC,EAAE,IAAI,CAACF,MAAM,CAACqB,YAAY,CAAC,CAAC;EAE3E;;EAEA;AACF;EACEC,aAAaA,CACXF,SAAiB,EACjBC,YAAqB,EAEZ;IAAA,IADTnB,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IAErC,OACE2B,YAAY,IAAI,IAAI,KACnB,IAAI,CAACxE,OAAO,CAACuE,SAAS,EAAEC,YAAY,EAAEnB,WAAW,CAAC,IACjD,IAAI,CAACqB,MAAM,CAACH,SAAS,EAAEC,YAAY,EAAEnB,WAAW,CAAC,CAAC;EAExD;;EAEA;AACF;EACEpD,QAAQA,CACNsE,SAAiB,EACjBI,aAAsB,EAEb;IAAA,IADTtB,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IAErC,OACE8B,aAAa,IAAI,IAAI,IACrB1E,QAAQ,CAAC,IAAI,CAACkD,MAAM,CAACoB,SAAS,EAAElB,WAAW,CAAC,EAAE,IAAI,CAACF,MAAM,CAACwB,aAAa,CAAC,CAAC;EAE7E;;EAEA;AACF;EACEC,cAAcA,CACZL,SAAiB,EACjBI,aAAsB,EAEb;IAAA,IADTtB,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IAErC,OACE8B,aAAa,IAAI,IAAI,KACpB,IAAI,CAAC1E,QAAQ,CAACsE,SAAS,EAAEI,aAAa,EAAEtB,WAAW,CAAC,IACnD,IAAI,CAACqB,MAAM,CAACH,SAAS,EAAEI,aAAa,EAAEtB,WAAW,CAAC,CAAC;EAEzD;;EAEA;AACF;EACEqB,MAAMA,CACJH,SAAiB,EACjBM,WAAoB,EAEX;IAAA,IADTxB,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IAErC,OACEgC,WAAW,IAAI,IAAI,IACnB,IAAI,CAAC1B,MAAM,CAACoB,SAAS,EAAElB,WAAW,CAAC,CAACyB,OAAO,CAAC,CAAC,KAC3C,IAAI,CAAC3B,MAAM,CAAC0B,WAAW,CAAC,CAACC,OAAO,CAAC,CAAC;EAExC;;EAEA;AACF;EACE5E,SAASA,CACPqE,SAAiB,EACjBM,WAAmB,EAEV;IAAA,IADTxB,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IAErC,OACEgC,WAAW,IAAI,IAAI,IACnB3E,SAAS,CACP,IAAI,CAACiD,MAAM,CAACoB,SAAS,EAAElB,WAAW,CAAC,EACnC,IAAI,CAACF,MAAM,CAAC0B,WAAW,EAAExB,WAAW,CACtC,CAAC;EAEL;;EAEA;AACF;EACE0B,OAAOA,CACLR,SAAiB,EACjBM,WAAoB,EAEX;IAAA,IADTxB,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IAErC,OAAO,CAAC,IAAI,CAAC6B,MAAM,CAACH,SAAS,EAAEM,WAAW,EAAExB,WAAW,CAAC;EAC1D;;EAEA;AACF;EACE2B,SAASA,CAACT,SAAiB,EAAW;IACpC,MAAMU,eAAe,GAAG,CAAC;IACzB,MAAMC,aAAa,GAAG,CAAC;IACvB,MAAMC,OAAO,GAAG7D,MAAM,CAAC,IAAI,CAAC6B,MAAM,CAACoB,SAAS,CAAC,CAAC;IAE9C,OAAOY,OAAO,KAAKF,eAAe,IAAIE,OAAO,KAAKD,aAAa;EACjE;;EAEA;AACF;AACA;EACE/E,UAAUA,CAACiD,IAAY,EAAEgC,MAAc,EAAU;IAC/C,OAAO,IAAI,CAACvB,KAAK,CAAC1D,UAAU,CAAC,IAAI,CAACgD,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EAC1D;;EAEA;AACF;EACEhF,UAAUA,CAACgD,IAAY,EAAEgC,MAAc,EAAU;IAC/C,OAAO,IAAI,CAACvB,KAAK,CAACzD,UAAU,CAAC,IAAI,CAAC+C,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EAC1D;;EAEA;AACF;EACE/E,QAAQA,CAAC+C,IAAY,EAAEgC,MAAc,EAAU;IAC7C,OAAO,IAAI,CAACvB,KAAK,CAACxD,QAAQ,CAAC,IAAI,CAAC8C,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EACxD;;EAEA;AACF;EACE9E,OAAOA,CAAC8C,IAAY,EAAEgC,MAAc,EAAU;IAC5C,OAAO,IAAI,CAACvB,KAAK,CAACvD,OAAO,CAAC,IAAI,CAAC6C,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EACvD;;EAEA;AACF;EACE7E,QAAQA,CAAC6C,IAAY,EAAEgC,MAAc,EAAU;IAC7C,OAAO,IAAI,CAACvB,KAAK,CAACtD,QAAQ,CAAC,IAAI,CAAC4C,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EACxD;;EAEA;AACF;EACE5E,SAASA,CAAC4C,IAAY,EAAEgC,MAAc,EAAU;IAC9C,OAAO,IAAI,CAACvB,KAAK,CAACrD,SAAS,CAAC,IAAI,CAAC2C,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EACzD;;EAEA;AACF;EACE3E,QAAQA,CAAC2C,IAAY,EAAEgC,MAAc,EAAU;IAC7C,OAAO,IAAI,CAACvB,KAAK,CAACpD,QAAQ,CAAC,IAAI,CAAC0C,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EACxD;;EAEA;AACF;EACEC,eAAeA,CAACjC,IAAY,EAAEgC,MAAc,EAAU;IACpD,OAAO,IAAI,CAACvB,KAAK,CAACnD,UAAU,CAAC,IAAI,CAACyC,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EAC1D;;EAEA;AACF;EACEE,eAAeA,CAAClC,IAAY,EAAEgC,MAAc,EAAU;IACpD,OAAO,IAAI,CAACvB,KAAK,CAAClD,UAAU,CAAC,IAAI,CAACwC,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EAC1D;;EAEA;AACF;EACEG,aAAaA,CAACnC,IAAY,EAAEgC,MAAc,EAAU;IAClD,OAAO,IAAI,CAACvB,KAAK,CAACjD,QAAQ,CAAC,IAAI,CAACuC,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EACxD;;EAEA;AACF;EACEI,YAAYA,CAACpC,IAAY,EAAEgC,MAAc,EAAU;IACjD,OAAO,IAAI,CAACvB,KAAK,CAAChD,OAAO,CAAC,IAAI,CAACsC,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EACvD;;EAEA;AACF;EACEK,aAAaA,CAACrC,IAAY,EAAEgC,MAAc,EAAU;IAClD,OAAO,IAAI,CAACvB,KAAK,CAAC/C,QAAQ,CAAC,IAAI,CAACqC,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EACxD;;EAEA;AACF;EACEM,cAAcA,CAACtC,IAAY,EAAEgC,MAAc,EAAU;IACnD,OAAO,IAAI,CAACvB,KAAK,CAAC9C,SAAS,CAAC,IAAI,CAACoC,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EACzD;;EAEA;AACF;EACEO,aAAaA,CAACvC,IAAY,EAAEgC,MAAc,EAAU;IAClD,OAAO,IAAI,CAACvB,KAAK,CAAC7C,QAAQ,CAAC,IAAI,CAACmC,MAAM,CAACC,IAAI,CAAC,EAAEgC,MAAM,CAAC,CAAC;EACxD;;EAEA;AACF;AACA;EACEnE,YAAYA,CAACmC,IAAY,EAAiD;IAAA,IAA/CC,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IAC9D,OAAO,IAAI,CAACgB,KAAK,CAAC5C,YAAY,CAAC,IAAI,CAACkC,MAAM,CAACC,IAAI,EAAEC,WAAW,CAAC,CAAC,CAAC;EACjE;;EAEA;AACF;EACEnC,UAAUA,CAACkC,IAAY,EAAiD;IAAA,IAA/CC,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IAC5D,OAAO,IAAI,CAACgB,KAAK,CAAC3C,UAAU,CAAC,IAAI,CAACiC,MAAM,CAACC,IAAI,EAAEC,WAAW,CAAC,CAAC,CAAC;EAC/D;;EAEA;AACF;EACElC,WAAWA,CAACiC,IAAY,EAAiD;IAAA,IAA/CC,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACT,UAAU;IAC7D,MAAM;MAAEI;IAAa,CAAC,GAAG,IAAI,CAACD,UAAU,CAAC,CAAC;IAE1C,OAAO,IAAI,CAACa,KAAK,CACf1C,WAAW,CAAC,IAAI,CAACgC,MAAM,CAACC,IAAI,EAAEC,WAAW,CAAC,EAAE;MAC1CJ;IACF,CAAC,CACH,CAAC;EACH;;EAEA;AACF;EACE7B,QAAQA,CAACgC,IAAmB,EAAU;IACpC,MAAMQ,UAAU,GAAG,OAAOR,IAAI,KAAK,QAAQ,GAAG,IAAI,CAACD,MAAM,CAACC,IAAI,CAAC,GAAGA,IAAI;IACtE,OAAOhC,QAAQ,CAACwC,UAAU,CAAC;EAC7B;;EAEA;AACF;EACEvC,UAAUA,CAAC+B,IAAmB,EAAU;IACtC,MAAMQ,UAAU,GAAG,OAAOR,IAAI,KAAK,QAAQ,GAAG,IAAI,CAACD,MAAM,CAACC,IAAI,CAAC,GAAGA,IAAI;IACtE,OAAO/B,UAAU,CAACuC,UAAU,CAAC;EAC/B;;EAEA;AACF;EACErC,OAAOA,CAAC6B,IAAY,EAAU;IAC5B,MAAM;MAAEH,YAAY;MAAEC;IAAsB,CAAC,GAAG,IAAI,CAACF,UAAU,CAAC,CAAC;IAEjE,OAAOzB,OAAO,CAAC,IAAI,CAAC4B,MAAM,CAACC,IAAI,CAAC,EAAE;MAChCH,YAAY;MACZC;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACErB,OAAOA,CAACuB,IAAY,EAAEwC,IAAY,EAAU;IAC1C,OAAO,IAAI,CAAC/B,KAAK,CAAChC,OAAO,CAAC,IAAI,CAACsB,MAAM,CAACC,IAAI,CAAC,EAAEwC,IAAI,CAAC,CAAC;EACrD;;EAEA;AACF;EACEhE,QAAQA,CAACwB,IAAY,EAAEyC,KAAa,EAAU;IAC5C,OAAO,IAAI,CAAChC,KAAK,CAACjC,QAAQ,CAAC,IAAI,CAACuB,MAAM,CAACC,IAAI,CAAC,EAAEyC,KAAK,CAAC,CAAC;EACvD;;EAEA;AACF;EACEC,OAAOA,CAAC1C,IAAY,EAAE2C,IAAY,EAAU;IAC1C,OAAO,IAAI,CAAClC,KAAK,CAAClC,QAAQ,CAAC,IAAI,CAACwB,MAAM,CAACC,IAAI,CAAC,EAAE2C,IAAI,CAAC,CAAC;EACtD;;EAEA;AACF;EACEC,SAASA,CAAC5C,IAAY,EAAE6C,MAAc,EAAU;IAC9C,OAAO,IAAI,CAACpC,KAAK,CAACnC,UAAU,CAAC,IAAI,CAACyB,MAAM,CAACC,IAAI,CAAC,EAAE6C,MAAM,CAAC,CAAC;EAC1D;;EAEA;AACF;EACEC,SAASA,CAAC9C,IAAY,EAAE+C,MAAc,EAAU;IAC9C,OAAO,IAAI,CAACtC,KAAK,CAACpC,UAAU,CAAC,IAAI,CAAC0B,MAAM,CAACC,IAAI,CAAC,EAAE+C,MAAM,CAAC,CAAC;EAC1D;;EAEA;AACF;EACE3E,eAAeA,CAAC4B,IAAY,EAAEgD,YAAoB,EAAU;IAC1D,OAAO,IAAI,CAACvC,KAAK,CAACrC,eAAe,CAAC,IAAI,CAAC2B,MAAM,CAACC,IAAI,CAAC,EAAEgD,YAAY,CAAC,CAAC;EACrE;;EAEA;AACF;EACEC,OAAOA,CACLjD,IAAY,EACZkD,KAAa,EACbC,OAAe,EACfC,OAAe,EACfJ,YAAoB,EACZ;IACR,OAAO,IAAI,CAACvC,KAAK,CACf/B,GAAG,CAAC,IAAI,CAACqB,MAAM,CAACC,IAAI,CAAC,EAAE;MACrBkD,KAAK;MACLC,OAAO;MACPC,OAAO;MACPJ;IACF,CAAC,CACH,CAAC;EACH;AACF;;AAEA;AACA;AACA;AACA,MAAMK,QAA0B,GAAG,IAAIhE,gBAAgB,CAACN,eAAe,CAAC;;AAExE;AACA;AACA;AACA,MAAMuE,YAA8B,GAAG,IAAIjE,gBAAgB,CACzDL,mBACF,CAAC;;AAED;AACA;AACA;AACA,MAAMuE,QAA0B,GAAG,IAAIlE,gBAAgB,CAACJ,eAAe,CAAC;;AAExE;AACA;AACA;AACA,MAAMuE,aAA+B,GAAG,IAAInE,gBAAgB,CAC1DH,oBACF,CAAC;AAED,SAASmE,QAAQ,EAAEC,YAAY,EAAEC,QAAQ,EAAEC,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"serverFetch.js","names":["getBasePath","FetchException","serverFetch","args","_context","urlNoBase","_includesInstanceProperty","url","call","replace","params","data","dataFetcher","fetch","jsonData","JSON","parse","error","_Promise","reject","resolve"],"sources":["../../../src/utils/fetch/serverFetch.js"],"sourcesContent":["// @flow\nimport { getBasePath } from \"../../constants/Settings\";\nimport { FetchException } from \"../../exceptions\";\n\nimport type { RequestOptions } from \"./types\";\n\n/**\n * Fetch data from server (uses nashorn and datafetcher).\n */\nexport default function serverFetch(args: RequestOptions): Promise<any> {\n // remove contextPath of url, when the request is internal the context path is not needed\n const urlNoBase = args.url.includes(\"http\")\n ? args.url\n : args.url.replace(getBasePath(), \"\");\n const params = args.params\n ? args.params.replace(\"includeContext=true\", \"\")\n : \"\";\n const url = params === \"\" ? urlNoBase : `${urlNoBase}?${params}`;\n\n const data = dataFetcher.fetch(url, args);\n\n try {\n const jsonData = JSON.parse(data);\n\n if (jsonData.error) {\n return Promise.reject(new FetchException(jsonData, null, args));\n }\n\n return Promise.resolve(jsonData);\n } catch (error) {\n return Promise.reject(error);\n }\n}\n"],"mappings":";;AACA,SAASA,WAAW,QAAQ,0BAA0B;AACtD,SAASC,cAAc,QAAQ,kBAAkB;AAIjD;AACA;AACA;AACA,eAAe,SAASC,WAAWA,CAACC,IAAoB,EAAgB;EAAA,IAAAC,QAAA;EACtE;EACA,MAAMC,SAAS,GAAGC,yBAAA,CAAAF,QAAA,GAAAD,IAAI,CAACI,GAAG,EAAAC,IAAA,CAAAJ,QAAA,EAAU,MAAM,CAAC,GACvCD,IAAI,CAACI,GAAG,GACRJ,IAAI,CAACI,GAAG,CAACE,OAAO,CAACT,WAAW,EAAE,EAAE,EAAE,CAAC;EACvC,MAAMU,MAAM,GAAGP,IAAI,CAACO,MAAM,GACtBP,IAAI,CAACO,MAAM,CAACD,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,GAC9C,EAAE;EACN,MAAMF,GAAG,GAAGG,MAAM,KAAK,EAAE,GAAGL,SAAS,GAAI,GAAEA,SAAU,IAAGK,MAAO,EAAC;EAEhE,MAAMC,IAAI,GAAGC,WAAW,CAACC,KAAK,CAACN,GAAG,EAAEJ,IAAI,CAAC;EAEzC,IAAI;IACF,MAAMW,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACL,IAAI,CAAC;IAEjC,IAAIG,QAAQ,CAACG,KAAK,EAAE;MAClB,OAAOC,QAAA,CAAQC,MAAM,CAAC,IAAIlB,cAAc,CAACa,QAAQ,EAAE,IAAI,EAAEX,IAAI,CAAC,CAAC;IACjE;IAEA,OAAOe,QAAA,CAAQE,OAAO,CAACN,QAAQ,CAAC;EAClC,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,OAAOC,QAAA,CAAQC,MAAM,CAACF,KAAK,CAAC;EAC9B;AACF"}
1
+ {"version":3,"file":"serverFetch.js","names":["getBasePath","FetchException","serverFetch","args","_context","urlNoBase","_includesInstanceProperty","url","call","replace","params","data","dataFetcher","fetch","jsonData","JSON","parse","error","_Promise","reject","resolve"],"sources":["../../../src/utils/fetch/serverFetch.js"],"sourcesContent":["// @flow\nimport { getBasePath } from \"../../constants/Settings\";\nimport { FetchException } from \"../../exceptions\";\n\nimport type { RequestOptions } from \"./types\";\n\n/**\n * Fetch data from server (uses nashorn and datafetcher).\n */\nexport default function serverFetch(args: RequestOptions): Promise<any> {\n // remove contextPath of url, when the request is internal the context path is not needed\n const urlNoBase = args.url.includes(\"http\")\n ? args.url\n : args.url.replace(getBasePath(), \"\");\n const params = args.params\n ? args.params.replace(\"includeContext=true\", \"\")\n : \"\";\n const url = params === \"\" ? urlNoBase : `${urlNoBase}?${params}`;\n\n const data = dataFetcher.fetch(url, args);\n\n try {\n const jsonData = JSON.parse(data);\n\n if (jsonData.error) {\n return Promise.reject(new FetchException(jsonData, null, args));\n }\n\n return Promise.resolve(jsonData);\n } catch (error) {\n return Promise.reject(error);\n }\n}\n"],"mappings":";;AACA,SAASA,WAAW,QAAQ,0BAA0B;AACtD,SAASC,cAAc,QAAQ,kBAAkB;AAIjD;AACA;AACA;AACA,eAAe,SAASC,WAAWA,CAACC,IAAoB,EAAgB;EAAA,IAAAC,QAAA;EACtE;EACA,MAAMC,SAAS,GAAGC,yBAAA,CAAAF,QAAA,GAAAD,IAAI,CAACI,GAAG,EAAAC,IAAA,CAAAJ,QAAA,EAAU,MAAM,CAAC,GACvCD,IAAI,CAACI,GAAG,GACRJ,IAAI,CAACI,GAAG,CAACE,OAAO,CAACT,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC;EACvC,MAAMU,MAAM,GAAGP,IAAI,CAACO,MAAM,GACtBP,IAAI,CAACO,MAAM,CAACD,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,GAC9C,EAAE;EACN,MAAMF,GAAG,GAAGG,MAAM,KAAK,EAAE,GAAGL,SAAS,GAAI,GAAEA,SAAU,IAAGK,MAAO,EAAC;EAEhE,MAAMC,IAAI,GAAGC,WAAW,CAACC,KAAK,CAACN,GAAG,EAAEJ,IAAI,CAAC;EAEzC,IAAI;IACF,MAAMW,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACL,IAAI,CAAC;IAEjC,IAAIG,QAAQ,CAACG,KAAK,EAAE;MAClB,OAAOC,QAAA,CAAQC,MAAM,CAAC,IAAIlB,cAAc,CAACa,QAAQ,EAAE,IAAI,EAAEX,IAAI,CAAC,CAAC;IACjE;IAEA,OAAOe,QAAA,CAAQE,OAAO,CAACN,QAAQ,CAAC;EAClC,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,OAAOC,QAAA,CAAQC,MAAM,CAACF,KAAK,CAAC;EAC9B;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"universalFetch.js","names":["isPlainObject","IS_SYNC","cacheContributions","serverFetch","xhr","Cache","IS_FETCHING","waitForCachedItem","cacheKey","TIMEOUT","CHECK_TIMEOUT","_Promise","resolve","reject","check","getItem","cachedItem","Error","setTimeout","browserFetch","args","cache","createResourceKey","hasItem","cacheItem","addItem","then","response","universalFetch","locale","headers","includeContext","url"],"sources":["../../../src/utils/fetch/universalFetch.js"],"sourcesContent":["// @flow\nimport { isPlainObject } from \"../helpers/objects\";\n\nimport { IS_SYNC } from \"../../constants/Constants\";\nimport { cacheContributions } from \"../../constants\";\n\nimport serverFetch from \"./serverFetch\";\nimport xhr from \"./xhr\";\nimport Cache from \"../browser/Cache\";\n\nimport type { RequestOptions } from \"./types\";\n\ntype CachedResponse = any;\n\nconst IS_FETCHING = \"is-fetching\";\n\n/**\n * Checks each x ms if a cache item is set after fetching the item.\n * @private\n */\nconst waitForCachedItem = (cacheKey: string) => {\n let TIMEOUT = 3000;\n const CHECK_TIMEOUT = 100;\n\n return new Promise<CachedResponse>((resolve, reject) => {\n const check = () => {\n if (Cache.getItem(cacheKey) !== IS_FETCHING) {\n const cachedItem = Cache.getItem(cacheKey);\n if (cachedItem != null) {\n resolve(cachedItem);\n } else {\n reject(new Error(\"Empty cached item\"));\n }\n } else if (TIMEOUT <= 0) {\n reject(new Error(\"Empty cached item\"));\n } else {\n TIMEOUT = TIMEOUT - CHECK_TIMEOUT;\n setTimeout(check, CHECK_TIMEOUT);\n }\n };\n\n setTimeout(check, CHECK_TIMEOUT);\n });\n};\n\n/**\n * @private\n */\nconst browserFetch = (args: RequestOptions) => {\n if (cacheContributions() && args.cache) {\n const cacheKey = Cache.createResourceKey(args);\n\n if (Cache.hasItem(cacheKey)) {\n const cacheItem = Cache.getItem(cacheKey);\n\n if (cacheItem != null) {\n if (cacheItem === IS_FETCHING) {\n return waitForCachedItem(cacheKey);\n } else if (isPlainObject(cacheItem)) {\n return Promise.resolve(cacheItem);\n }\n }\n }\n\n Cache.addItem(cacheKey, IS_FETCHING);\n }\n\n return xhr(args).then((response) => {\n if (cacheContributions() && args.cache) {\n const cacheKey = Cache.createResourceKey(args);\n\n Cache.addItem(cacheKey, response);\n }\n\n return response;\n });\n};\n\n/**\n * Request data from server, uses server datafetcher or xhr in browser.\n */\nconst universalFetch = (\n args: RequestOptions\n): Promise<CachedResponse> | Promise<any> => {\n // Set locale as Accept-Language header\n if (args.locale) {\n args.headers = {\n \"Accept-Language\": args.locale,\n };\n }\n\n if (args.includeContext) {\n args.url = `${args.url}?includeContext=true`;\n }\n\n // server side no access to the browser cache apis, no cache available\n if (IS_SYNC) {\n return serverFetch(args);\n }\n\n return browserFetch(args);\n};\n\nexport default universalFetch;\n"],"mappings":"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"}
1
+ {"version":3,"file":"universalFetch.js","names":["isPlainObject","IS_SYNC","cacheContributions","serverFetch","xhr","Cache","IS_FETCHING","waitForCachedItem","cacheKey","TIMEOUT","CHECK_TIMEOUT","_Promise","resolve","reject","check","getItem","cachedItem","Error","setTimeout","browserFetch","args","cache","createResourceKey","hasItem","cacheItem","addItem","then","response","universalFetch","locale","headers","includeContext","url"],"sources":["../../../src/utils/fetch/universalFetch.js"],"sourcesContent":["// @flow\nimport { isPlainObject } from \"../helpers/objects\";\n\nimport { IS_SYNC } from \"../../constants/Constants\";\nimport { cacheContributions } from \"../../constants\";\n\nimport serverFetch from \"./serverFetch\";\nimport xhr from \"./xhr\";\nimport Cache from \"../browser/Cache\";\n\nimport type { RequestOptions } from \"./types\";\n\ntype CachedResponse = any;\n\nconst IS_FETCHING = \"is-fetching\";\n\n/**\n * Checks each x ms if a cache item is set after fetching the item.\n * @private\n */\nconst waitForCachedItem = (cacheKey: string) => {\n let TIMEOUT = 3000;\n const CHECK_TIMEOUT = 100;\n\n return new Promise<CachedResponse>((resolve, reject) => {\n const check = () => {\n if (Cache.getItem(cacheKey) !== IS_FETCHING) {\n const cachedItem = Cache.getItem(cacheKey);\n if (cachedItem != null) {\n resolve(cachedItem);\n } else {\n reject(new Error(\"Empty cached item\"));\n }\n } else if (TIMEOUT <= 0) {\n reject(new Error(\"Empty cached item\"));\n } else {\n TIMEOUT = TIMEOUT - CHECK_TIMEOUT;\n setTimeout(check, CHECK_TIMEOUT);\n }\n };\n\n setTimeout(check, CHECK_TIMEOUT);\n });\n};\n\n/**\n * @private\n */\nconst browserFetch = (args: RequestOptions) => {\n if (cacheContributions() && args.cache) {\n const cacheKey = Cache.createResourceKey(args);\n\n if (Cache.hasItem(cacheKey)) {\n const cacheItem = Cache.getItem(cacheKey);\n\n if (cacheItem != null) {\n if (cacheItem === IS_FETCHING) {\n return waitForCachedItem(cacheKey);\n } else if (isPlainObject(cacheItem)) {\n return Promise.resolve(cacheItem);\n }\n }\n }\n\n Cache.addItem(cacheKey, IS_FETCHING);\n }\n\n return xhr(args).then((response) => {\n if (cacheContributions() && args.cache) {\n const cacheKey = Cache.createResourceKey(args);\n\n Cache.addItem(cacheKey, response);\n }\n\n return response;\n });\n};\n\n/**\n * Request data from server, uses server datafetcher or xhr in browser.\n */\nconst universalFetch = (\n args: RequestOptions\n): Promise<CachedResponse> | Promise<any> => {\n // Set locale as Accept-Language header\n if (args.locale) {\n args.headers = {\n \"Accept-Language\": args.locale,\n };\n }\n\n if (args.includeContext) {\n args.url = `${args.url}?includeContext=true`;\n }\n\n // server side no access to the browser cache apis, no cache available\n if (IS_SYNC) {\n return serverFetch(args);\n }\n\n return browserFetch(args);\n};\n\nexport default universalFetch;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"xhr.js","names":["has","isPlainObject","IllegalArgumentException","UnauthorizedException","FetchException","TimeoutException","NotFoundException","JsonParseException","NetworkException","Cache","HTTP_METHODS","getSetting","NETWORK_ERROR_CODE","SUCCESS_CODE","CLIENT_ERROR_CODE","UNAUTHORIZED_CODE","REDIRECTION_CODE","NOT_FOUND_CODE","JSON_TYPE","XHR","constructor","options","_defineProperty","_options","_attempts","xmlhttp","_xmlhttp","attempts","url","params","_includesInstanceProperty","call","aUrl","split","data","method","GET","timeout","responseType","onProgress","events","headers","baseHeaders","Accept","timeoutHandler","reject","errorHandler","responseJSON","arguments","length","undefined","status","isReload","getResponse","response","getResponseHeader","JSON","parse","error","responseHandler","resolve","setEventListeners","forEach","eventType","addEventListener","_Object$keys","eventName","openConnection","open","setBasicAuthentication","hasItem","withCredentials","basicToken","getItem","setRequestHeader","headerName","setCustomHeaders","setOtherOptions","sendData","send","stringData","_JSON$stringify","setXMLHttpRequest","_Promise","XMLHttpRequest","fetch","err","validateInputArguments","args","toString","xhr"],"sources":["../../../src/utils/fetch/xhr.js"],"sourcesContent":["// @flow\nimport { has, isPlainObject } from \"../helpers/objects\";\n\nimport {\n IllegalArgumentException,\n UnauthorizedException,\n FetchException,\n TimeoutException,\n NotFoundException,\n JsonParseException,\n NetworkException,\n} from \"../../exceptions\";\n\nimport Cache from \"../browser/Cache\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { RequestOptions } from \"./types\";\n\nconst NETWORK_ERROR_CODE = 0;\nconst SUCCESS_CODE = 200;\nconst CLIENT_ERROR_CODE = 400;\nconst UNAUTHORIZED_CODE = 401;\nconst REDIRECTION_CODE = 300;\nconst NOT_FOUND_CODE = 404;\n\nconst JSON_TYPE = \"application/json\";\n\n/**\n * @private\n */\nclass XHR {\n _options: RequestOptions;\n _xmlhttp: XMLHttpRequest;\n _attempts: number;\n\n /**\n */\n constructor(options: RequestOptions) {\n this._options = options;\n this._attempts = 0;\n }\n\n /**\n */\n get xmlhttp(): XMLHttpRequest {\n return this._xmlhttp;\n }\n\n /**\n */\n set xmlhttp(xmlhttp: XMLHttpRequest) {\n this._xmlhttp = xmlhttp;\n }\n\n /**\n */\n get options(): RequestOptions {\n return this._options;\n }\n\n /**\n */\n set options(options: RequestOptions) {\n this._options = options;\n }\n\n /**\n */\n get attempts(): number {\n return this._attempts;\n }\n\n /**\n */\n set attempts(attempts: number) {\n this._attempts = attempts;\n }\n\n /**\n * Create and fix url when params or both querystring and params exist.\n */\n get url(): string {\n const { url } = this.options;\n if (this.params !== \"\") {\n if (url.includes(\"?\")) {\n const aUrl = url.split(\"?\");\n\n return `${aUrl[0]}?${aUrl[1]}&${this.params}`;\n }\n\n return `${url}?${this.params}`;\n }\n\n return url;\n }\n\n /**\n */\n get params(): string {\n return this.options.params || \"\";\n }\n\n /**\n */\n get data(): any | null {\n return this.options.data || null;\n }\n\n /**\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this.options.method || HTTP_METHODS.GET;\n }\n\n /**\n */\n get timeout(): number {\n return this.options.timeout || getSetting(\"XHR_TIMEOUT_MS\", 300000);\n }\n\n /**\n */\n get responseType(): string {\n return this.options.responseType || \"json\";\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n if (this.options.onProgress) {\n return this.options.onProgress;\n }\n\n return () => {\n // do nothing\n };\n }\n\n /**\n */\n get events(): { [eventName: string]: () => void } {\n return this.options.events || {};\n }\n\n /**\n */\n get headers(): { [string]: string } {\n const baseHeaders = {\n Accept: JSON_TYPE,\n \"Content-Type\": JSON_TYPE,\n\n // needed for csrf, see: https://plaza.beinformed.com/amdoc/csrf-protection-in-modular-ui-services-40054554.html\n \"X-Requested-With\": \"XMLHttpRequest\",\n\n \"Accept-Language\": \"en\",\n };\n\n if (this.options.headers) {\n // $FlowFixMe[cannot-spread-indexer]\n return {\n ...baseHeaders,\n ...this.options.headers,\n };\n }\n\n return baseHeaders;\n }\n\n /**\n */\n timeoutHandler(reject: Function): any {\n return reject(new TimeoutException(this.url, this.method));\n }\n\n /**\n */\n errorHandler(reject: Function, responseJSON: any = null): any {\n const { status } = this.xmlhttp;\n const { isReload } = this.options;\n\n if (status === NETWORK_ERROR_CODE) {\n return reject(new NetworkException(this.url, this.method));\n }\n\n if (status === NOT_FOUND_CODE) {\n return reject(new NotFoundException(this.url, this.method, isReload));\n }\n\n if (status === UNAUTHORIZED_CODE) {\n return reject(\n new UnauthorizedException(this.url, this.method, responseJSON)\n );\n }\n\n return reject(new FetchException(responseJSON, this.xmlhttp, this.options));\n }\n\n /**\n */\n getResponse(): any {\n const { responseType, response } = this.xmlhttp;\n\n if (\n (responseType === \"\" || responseType === \"text\") &&\n this.getResponseHeader(\"Content-Type\") === JSON_TYPE\n ) {\n if (isPlainObject(response)) {\n return response;\n }\n\n try {\n return JSON.parse(response);\n } catch (error) {\n throw new JsonParseException(error);\n }\n }\n\n return response;\n }\n\n /**\n */\n responseHandler(resolve: Function, reject: Function): any {\n const { status } = this.xmlhttp;\n\n let response = null;\n try {\n response = this.getResponse();\n } catch (error) {\n return reject(error);\n }\n\n if (\n (status >= SUCCESS_CODE && status < REDIRECTION_CODE) ||\n (status === CLIENT_ERROR_CODE && has(response, \"formresponse\"))\n ) {\n return resolve(response);\n }\n\n return this.errorHandler(reject, response);\n }\n\n /**\n */\n setEventListeners(resolve: Function, reject: Function) {\n if (this.options.onProgress) {\n [\"load\", \"loadend\", \"loadstart\", \"progress\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, this.onProgress);\n });\n }\n\n [\"abort\", \"error\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, () => this.errorHandler(reject));\n });\n\n this.xmlhttp.addEventListener(\"timeout\", () => this.timeoutHandler(reject));\n\n this.xmlhttp.addEventListener(\"load\", () =>\n this.responseHandler(resolve, reject)\n );\n\n // Set custom events\n Object.keys(this.events).forEach((eventName) => {\n this.xmlhttp.addEventListener(eventName, this.events[eventName]);\n });\n }\n\n /**\n */\n openConnection() {\n this.xmlhttp.open(this.method, this.url, true);\n }\n\n /**\n */\n setBasicAuthentication() {\n if (Cache.hasItem(\"basic\")) {\n this.xmlhttp.withCredentials = true;\n const basicToken = Cache.getItem(\"basic\");\n\n if (typeof basicToken === \"string\") {\n this.xmlhttp.setRequestHeader(\"Authorization\", `Basic ${basicToken}`);\n }\n }\n }\n\n /**\n */\n getResponseHeader(headerName: string): string | null {\n return this.xmlhttp.getResponseHeader(headerName);\n }\n\n /**\n */\n setCustomHeaders() {\n Object.keys(this.headers).forEach((headerName) => {\n this.xmlhttp.setRequestHeader(headerName, this.headers[headerName]);\n });\n }\n\n /**\n */\n setOtherOptions() {\n this.xmlhttp.responseType = this.responseType;\n this.xmlhttp.timeout = this.timeout;\n }\n\n /**\n */\n sendData() {\n if (this.data == null) {\n this.xmlhttp.send();\n } else {\n const stringData = isPlainObject(this.data)\n ? JSON.stringify(this.data)\n : this.data;\n this.xmlhttp.send(stringData);\n }\n }\n\n /**\n */\n setXMLHttpRequest(): Promise<any> {\n return new Promise((resolve, reject) => {\n this.xmlhttp = new XMLHttpRequest();\n\n this.setEventListeners(resolve, reject);\n\n this.openConnection();\n\n this.setBasicAuthentication();\n\n this.setCustomHeaders();\n\n this.setOtherOptions();\n\n this.sendData();\n });\n }\n\n /**\n */\n async fetch(): Promise<any> {\n try {\n return await this.setXMLHttpRequest();\n } catch (err) {\n if (err instanceof NetworkException && this.attempts < 2) {\n this.attempts += 1;\n return this.fetch();\n }\n\n throw err;\n }\n }\n}\n\n/**\n */\nconst validateInputArguments = (args: RequestOptions) => {\n if (args == null) {\n throw new IllegalArgumentException(\n \"Missing request options, expecting an object as argument for xhr\"\n );\n }\n\n if (!isPlainObject(args)) {\n throw new IllegalArgumentException(\n `Expecting an object as argument for xhr, but received: ${args.toString()}`\n );\n }\n\n if (!has(args, \"url\")) {\n throw new IllegalArgumentException(\n `No url property found in arguments of xhr, received: ${JSON.stringify(\n args\n )}`\n );\n }\n\n return true;\n};\n\n/**\n */\nconst xhr = (args: RequestOptions): Promise<any> => {\n validateInputArguments(args);\n\n return new XHR(args).fetch();\n};\n\nexport default xhr;\n"],"mappings":"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"}
1
+ {"version":3,"file":"xhr.js","names":["has","isPlainObject","IllegalArgumentException","UnauthorizedException","FetchException","TimeoutException","NotFoundException","JsonParseException","NetworkException","Cache","HTTP_METHODS","getSetting","NETWORK_ERROR_CODE","SUCCESS_CODE","CLIENT_ERROR_CODE","UNAUTHORIZED_CODE","REDIRECTION_CODE","NOT_FOUND_CODE","JSON_TYPE","XHR","constructor","options","_defineProperty","_options","_attempts","xmlhttp","_xmlhttp","attempts","url","params","_includesInstanceProperty","call","aUrl","split","data","method","GET","timeout","responseType","onProgress","events","headers","baseHeaders","Accept","timeoutHandler","reject","errorHandler","responseJSON","arguments","length","undefined","status","isReload","getResponse","response","getResponseHeader","JSON","parse","error","responseHandler","resolve","setEventListeners","forEach","eventType","addEventListener","_Object$keys","eventName","openConnection","open","setBasicAuthentication","hasItem","withCredentials","basicToken","getItem","setRequestHeader","headerName","setCustomHeaders","setOtherOptions","sendData","send","stringData","_JSON$stringify","setXMLHttpRequest","_Promise","XMLHttpRequest","fetch","err","validateInputArguments","args","toString","xhr"],"sources":["../../../src/utils/fetch/xhr.js"],"sourcesContent":["// @flow\nimport { has, isPlainObject } from \"../helpers/objects\";\n\nimport {\n IllegalArgumentException,\n UnauthorizedException,\n FetchException,\n TimeoutException,\n NotFoundException,\n JsonParseException,\n NetworkException,\n} from \"../../exceptions\";\n\nimport Cache from \"../browser/Cache\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { RequestOptions } from \"./types\";\n\nconst NETWORK_ERROR_CODE = 0;\nconst SUCCESS_CODE = 200;\nconst CLIENT_ERROR_CODE = 400;\nconst UNAUTHORIZED_CODE = 401;\nconst REDIRECTION_CODE = 300;\nconst NOT_FOUND_CODE = 404;\n\nconst JSON_TYPE = \"application/json\";\n\n/**\n * @private\n */\nclass XHR {\n _options: RequestOptions;\n _xmlhttp: XMLHttpRequest;\n _attempts: number;\n\n /**\n */\n constructor(options: RequestOptions) {\n this._options = options;\n this._attempts = 0;\n }\n\n /**\n */\n get xmlhttp(): XMLHttpRequest {\n return this._xmlhttp;\n }\n\n /**\n */\n set xmlhttp(xmlhttp: XMLHttpRequest) {\n this._xmlhttp = xmlhttp;\n }\n\n /**\n */\n get options(): RequestOptions {\n return this._options;\n }\n\n /**\n */\n set options(options: RequestOptions) {\n this._options = options;\n }\n\n /**\n */\n get attempts(): number {\n return this._attempts;\n }\n\n /**\n */\n set attempts(attempts: number) {\n this._attempts = attempts;\n }\n\n /**\n * Create and fix url when params or both querystring and params exist.\n */\n get url(): string {\n const { url } = this.options;\n if (this.params !== \"\") {\n if (url.includes(\"?\")) {\n const aUrl = url.split(\"?\");\n\n return `${aUrl[0]}?${aUrl[1]}&${this.params}`;\n }\n\n return `${url}?${this.params}`;\n }\n\n return url;\n }\n\n /**\n */\n get params(): string {\n return this.options.params || \"\";\n }\n\n /**\n */\n get data(): any | null {\n return this.options.data || null;\n }\n\n /**\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this.options.method || HTTP_METHODS.GET;\n }\n\n /**\n */\n get timeout(): number {\n return this.options.timeout || getSetting(\"XHR_TIMEOUT_MS\", 300000);\n }\n\n /**\n */\n get responseType(): string {\n return this.options.responseType || \"json\";\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n if (this.options.onProgress) {\n return this.options.onProgress;\n }\n\n return () => {\n // do nothing\n };\n }\n\n /**\n */\n get events(): { [eventName: string]: () => void } {\n return this.options.events || {};\n }\n\n /**\n */\n get headers(): { [string]: string } {\n const baseHeaders = {\n Accept: JSON_TYPE,\n \"Content-Type\": JSON_TYPE,\n\n // needed for csrf, see: https://plaza.beinformed.com/amdoc/csrf-protection-in-modular-ui-services-40054554.html\n \"X-Requested-With\": \"XMLHttpRequest\",\n\n \"Accept-Language\": \"en\",\n };\n\n if (this.options.headers) {\n // $FlowFixMe[cannot-spread-indexer]\n return {\n ...baseHeaders,\n ...this.options.headers,\n };\n }\n\n return baseHeaders;\n }\n\n /**\n */\n timeoutHandler(reject: Function): any {\n return reject(new TimeoutException(this.url, this.method));\n }\n\n /**\n */\n errorHandler(reject: Function, responseJSON: any = null): any {\n const { status } = this.xmlhttp;\n const { isReload } = this.options;\n\n if (status === NETWORK_ERROR_CODE) {\n return reject(new NetworkException(this.url, this.method));\n }\n\n if (status === NOT_FOUND_CODE) {\n return reject(new NotFoundException(this.url, this.method, isReload));\n }\n\n if (status === UNAUTHORIZED_CODE) {\n return reject(\n new UnauthorizedException(this.url, this.method, responseJSON)\n );\n }\n\n return reject(new FetchException(responseJSON, this.xmlhttp, this.options));\n }\n\n /**\n */\n getResponse(): any {\n const { responseType, response } = this.xmlhttp;\n\n if (\n (responseType === \"\" || responseType === \"text\") &&\n this.getResponseHeader(\"Content-Type\") === JSON_TYPE\n ) {\n if (isPlainObject(response)) {\n return response;\n }\n\n try {\n return JSON.parse(response);\n } catch (error) {\n throw new JsonParseException(error);\n }\n }\n\n return response;\n }\n\n /**\n */\n responseHandler(resolve: Function, reject: Function): any {\n const { status } = this.xmlhttp;\n\n let response = null;\n try {\n response = this.getResponse();\n } catch (error) {\n return reject(error);\n }\n\n if (\n (status >= SUCCESS_CODE && status < REDIRECTION_CODE) ||\n (status === CLIENT_ERROR_CODE && has(response, \"formresponse\"))\n ) {\n return resolve(response);\n }\n\n return this.errorHandler(reject, response);\n }\n\n /**\n */\n setEventListeners(resolve: Function, reject: Function) {\n if (this.options.onProgress) {\n [\"load\", \"loadend\", \"loadstart\", \"progress\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, this.onProgress);\n });\n }\n\n [\"abort\", \"error\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, () => this.errorHandler(reject));\n });\n\n this.xmlhttp.addEventListener(\"timeout\", () => this.timeoutHandler(reject));\n\n this.xmlhttp.addEventListener(\"load\", () =>\n this.responseHandler(resolve, reject)\n );\n\n // Set custom events\n Object.keys(this.events).forEach((eventName) => {\n this.xmlhttp.addEventListener(eventName, this.events[eventName]);\n });\n }\n\n /**\n */\n openConnection() {\n this.xmlhttp.open(this.method, this.url, true);\n }\n\n /**\n */\n setBasicAuthentication() {\n if (Cache.hasItem(\"basic\")) {\n this.xmlhttp.withCredentials = true;\n const basicToken = Cache.getItem(\"basic\");\n\n if (typeof basicToken === \"string\") {\n this.xmlhttp.setRequestHeader(\"Authorization\", `Basic ${basicToken}`);\n }\n }\n }\n\n /**\n */\n getResponseHeader(headerName: string): string | null {\n return this.xmlhttp.getResponseHeader(headerName);\n }\n\n /**\n */\n setCustomHeaders() {\n Object.keys(this.headers).forEach((headerName) => {\n this.xmlhttp.setRequestHeader(headerName, this.headers[headerName]);\n });\n }\n\n /**\n */\n setOtherOptions() {\n this.xmlhttp.responseType = this.responseType;\n this.xmlhttp.timeout = this.timeout;\n }\n\n /**\n */\n sendData() {\n if (this.data == null) {\n this.xmlhttp.send();\n } else {\n const stringData = isPlainObject(this.data)\n ? JSON.stringify(this.data)\n : this.data;\n this.xmlhttp.send(stringData);\n }\n }\n\n /**\n */\n setXMLHttpRequest(): Promise<any> {\n return new Promise((resolve, reject) => {\n this.xmlhttp = new XMLHttpRequest();\n\n this.setEventListeners(resolve, reject);\n\n this.openConnection();\n\n this.setBasicAuthentication();\n\n this.setCustomHeaders();\n\n this.setOtherOptions();\n\n this.sendData();\n });\n }\n\n /**\n */\n async fetch(): Promise<any> {\n try {\n return await this.setXMLHttpRequest();\n } catch (err) {\n if (err instanceof NetworkException && this.attempts < 2) {\n this.attempts += 1;\n return this.fetch();\n }\n\n throw err;\n }\n }\n}\n\n/**\n */\nconst validateInputArguments = (args: RequestOptions) => {\n if (args == null) {\n throw new IllegalArgumentException(\n \"Missing request options, expecting an object as argument for xhr\"\n );\n }\n\n if (!isPlainObject(args)) {\n throw new IllegalArgumentException(\n `Expecting an object as argument for xhr, but received: ${args.toString()}`\n );\n }\n\n if (!has(args, \"url\")) {\n throw new IllegalArgumentException(\n `No url property found in arguments of xhr, received: ${JSON.stringify(\n args\n )}`\n );\n }\n\n return true;\n};\n\n/**\n */\nconst xhr = (args: RequestOptions): Promise<any> => {\n validateInputArguments(args);\n\n return new XHR(args).fetch();\n};\n\nexport default xhr;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkResource.js","names":["Href","resourceExists","url","fullUrl","absolutehref","xhr","XMLHttpRequest","open","setRequestHeader","send","status","resourceRedirectsToSecureLogin","responseURL","_endsWithInstanceProperty","call"],"sources":["../../../src/utils/helpers/checkResource.js"],"sourcesContent":["// @flow\nimport Href from \"../../models/href/Href\";\n\n/**\n * Checks if a given url to a modular ui resource exists using a HEAD request to the resource (synchronous)\n * When the resource returns a 404, the resource does not exists and the method returns false\n *\n * @param url\n * @returns {boolean}\n */\nexport const resourceExists = (url: string | Href): boolean => {\n const fullUrl = new Href(url).absolutehref;\n\n const xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", fullUrl, false);\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n\n xhr.send();\n\n return xhr.status !== 404;\n};\n\n/**\n * Indicates if a request to the given url resuls in a redirect to /secureRedirect\n * @param url\n * @returns {boolean}\n */\nexport const resourceRedirectsToSecureLogin = (url: string | Href): boolean => {\n const fullUrl = new Href(url).absolutehref;\n\n const xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", fullUrl, false);\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n xhr.send();\n\n const responseURL = xhr.responseURL ?? \"\";\n\n return xhr.status === 400 && responseURL.endsWith(\"/secureLogin\");\n};\n"],"mappings":";AACA,OAAOA,IAAI,MAAM,wBAAwB;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAIC,GAAkB,IAAc;EAC7D,MAAMC,OAAO,GAAG,IAAIH,IAAI,CAACE,GAAG,CAAC,CAACE,YAAY;EAE1C,MAAMC,GAAG,GAAG,IAAIC,cAAc,EAAE;EAChCD,GAAG,CAACE,IAAI,CAAC,MAAM,EAAEJ,OAAO,EAAE,KAAK,CAAC;EAChCE,GAAG,CAACG,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC;EAClDH,GAAG,CAACG,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC;EACxDH,GAAG,CAACG,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;EAE1DH,GAAG,CAACI,IAAI,EAAE;EAEV,OAAOJ,GAAG,CAACK,MAAM,KAAK,GAAG;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,8BAA8B,GAAIT,GAAkB,IAAc;EAC7E,MAAMC,OAAO,GAAG,IAAIH,IAAI,CAACE,GAAG,CAAC,CAACE,YAAY;EAE1C,MAAMC,GAAG,GAAG,IAAIC,cAAc,EAAE;EAChCD,GAAG,CAACE,IAAI,CAAC,MAAM,EAAEJ,OAAO,EAAE,KAAK,CAAC;EAChCE,GAAG,CAACG,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC;EAClDH,GAAG,CAACG,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC;EACxDH,GAAG,CAACG,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;EAC1DH,GAAG,CAACI,IAAI,EAAE;EAEV,MAAMG,WAAW,GAAGP,GAAG,CAACO,WAAW,IAAI,EAAE;EAEzC,OAAOP,GAAG,CAACK,MAAM,KAAK,GAAG,IAAIG,yBAAA,CAAAD,WAAW,EAAAE,IAAA,CAAXF,WAAW,EAAU,cAAc,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"checkResource.js","names":["Href","resourceExists","url","fullUrl","absolutehref","xhr","XMLHttpRequest","open","setRequestHeader","send","status","resourceRedirectsToSecureLogin","responseURL","_endsWithInstanceProperty","call"],"sources":["../../../src/utils/helpers/checkResource.js"],"sourcesContent":["// @flow\nimport Href from \"../../models/href/Href\";\n\n/**\n * Checks if a given url to a modular ui resource exists using a HEAD request to the resource (synchronous)\n * When the resource returns a 404, the resource does not exists and the method returns false\n *\n * @param url\n * @returns {boolean}\n */\nexport const resourceExists = (url: string | Href): boolean => {\n const fullUrl = new Href(url).absolutehref;\n\n const xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", fullUrl, false);\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n\n xhr.send();\n\n return xhr.status !== 404;\n};\n\n/**\n * Indicates if a request to the given url resuls in a redirect to /secureRedirect\n * @param url\n * @returns {boolean}\n */\nexport const resourceRedirectsToSecureLogin = (url: string | Href): boolean => {\n const fullUrl = new Href(url).absolutehref;\n\n const xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", fullUrl, false);\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n xhr.send();\n\n const responseURL = xhr.responseURL ?? \"\";\n\n return xhr.status === 400 && responseURL.endsWith(\"/secureLogin\");\n};\n"],"mappings":";AACA,OAAOA,IAAI,MAAM,wBAAwB;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAIC,GAAkB,IAAc;EAC7D,MAAMC,OAAO,GAAG,IAAIH,IAAI,CAACE,GAAG,CAAC,CAACE,YAAY;EAE1C,MAAMC,GAAG,GAAG,IAAIC,cAAc,CAAC,CAAC;EAChCD,GAAG,CAACE,IAAI,CAAC,MAAM,EAAEJ,OAAO,EAAE,KAAK,CAAC;EAChCE,GAAG,CAACG,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC;EAClDH,GAAG,CAACG,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC;EACxDH,GAAG,CAACG,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;EAE1DH,GAAG,CAACI,IAAI,CAAC,CAAC;EAEV,OAAOJ,GAAG,CAACK,MAAM,KAAK,GAAG;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,8BAA8B,GAAIT,GAAkB,IAAc;EAC7E,MAAMC,OAAO,GAAG,IAAIH,IAAI,CAACE,GAAG,CAAC,CAACE,YAAY;EAE1C,MAAMC,GAAG,GAAG,IAAIC,cAAc,CAAC,CAAC;EAChCD,GAAG,CAACE,IAAI,CAAC,MAAM,EAAEJ,OAAO,EAAE,KAAK,CAAC;EAChCE,GAAG,CAACG,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC;EAClDH,GAAG,CAACG,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC;EACxDH,GAAG,CAACG,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;EAC1DH,GAAG,CAACI,IAAI,CAAC,CAAC;EAEV,MAAMG,WAAW,GAAGP,GAAG,CAACO,WAAW,IAAI,EAAE;EAEzC,OAAOP,GAAG,CAACK,MAAM,KAAK,GAAG,IAAIG,yBAAA,CAAAD,WAAW,EAAAE,IAAA,CAAXF,WAAW,EAAU,cAAc,CAAC;AACnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createHash.js","names":["createHash","str","hash","i","length","charCodeAt","createHashFromHref","href","hrefString","toString","join"],"sources":["../../../src/utils/helpers/createHash.js"],"sourcesContent":["// @flow\nimport type Href from \"../../models/href/Href\";\n\n/**\n * https://werxltd.com/wp/2010/05/13/javascript-implementation-of-javas-string-hashcode-method/\n */\nconst createHash = (str: string): number => {\n if (!str) return 0;\n\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i);\n hash = hash & hash;\n }\n return hash;\n};\n\n/**\n */\nconst createHashFromHref = (href: Href): number => {\n const hrefString = href.hash\n ? [href.toString(), href.hash].join(\"#\")\n : href.toString();\n\n return createHash(hrefString);\n};\n\nexport { createHash, createHashFromHref };\n"],"mappings":"AAGA;AACA;AACA;AACA,MAAMA,UAAU,GAAIC,GAAW,IAAa;EAC1C,IAAI,CAACA,GAAG,EAAE,OAAO,CAAC;EAElB,IAAIC,IAAI,GAAG,CAAC;EACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,GAAG,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;IACnCD,IAAI,GAAG,CAACA,IAAI,IAAI,CAAC,IAAIA,IAAI,GAAGD,GAAG,CAACI,UAAU,CAACF,CAAC,CAAC;IAC7CD,IAAI,GAAGA,IAAI,GAAGA,IAAI;EACpB;EACA,OAAOA,IAAI;AACb,CAAC;;AAED;AACA;AACA,MAAMI,kBAAkB,GAAIC,IAAU,IAAa;EACjD,MAAMC,UAAU,GAAGD,IAAI,CAACL,IAAI,GACxB,CAACK,IAAI,CAACE,QAAQ,EAAE,EAAEF,IAAI,CAACL,IAAI,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC,GACtCH,IAAI,CAACE,QAAQ,EAAE;EAEnB,OAAOT,UAAU,CAACQ,UAAU,CAAC;AAC/B,CAAC;AAED,SAASR,UAAU,EAAEM,kBAAkB"}
1
+ {"version":3,"file":"createHash.js","names":["createHash","str","hash","i","length","charCodeAt","createHashFromHref","href","hrefString","toString","join"],"sources":["../../../src/utils/helpers/createHash.js"],"sourcesContent":["// @flow\nimport type Href from \"../../models/href/Href\";\n\n/**\n * https://werxltd.com/wp/2010/05/13/javascript-implementation-of-javas-string-hashcode-method/\n */\nconst createHash = (str: string): number => {\n if (!str) return 0;\n\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i);\n hash = hash & hash;\n }\n return hash;\n};\n\n/**\n */\nconst createHashFromHref = (href: Href): number => {\n const hrefString = href.hash\n ? [href.toString(), href.hash].join(\"#\")\n : href.toString();\n\n return createHash(hrefString);\n};\n\nexport { createHash, createHashFromHref };\n"],"mappings":"AAGA;AACA;AACA;AACA,MAAMA,UAAU,GAAIC,GAAW,IAAa;EAC1C,IAAI,CAACA,GAAG,EAAE,OAAO,CAAC;EAElB,IAAIC,IAAI,GAAG,CAAC;EACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,GAAG,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;IACnCD,IAAI,GAAG,CAACA,IAAI,IAAI,CAAC,IAAIA,IAAI,GAAGD,GAAG,CAACI,UAAU,CAACF,CAAC,CAAC;IAC7CD,IAAI,GAAGA,IAAI,GAAGA,IAAI;EACpB;EACA,OAAOA,IAAI;AACb,CAAC;;AAED;AACA;AACA,MAAMI,kBAAkB,GAAIC,IAAU,IAAa;EACjD,MAAMC,UAAU,GAAGD,IAAI,CAACL,IAAI,GACxB,CAACK,IAAI,CAACE,QAAQ,CAAC,CAAC,EAAEF,IAAI,CAACL,IAAI,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC,GACtCH,IAAI,CAACE,QAAQ,CAAC,CAAC;EAEnB,OAAOT,UAAU,CAACQ,UAAU,CAAC;AAC/B,CAAC;AAED,SAASR,UAAU,EAAEM,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"createUUID.js","names":["createUUID","d","Date","getTime","replace","c","r","Math","random","floor","toString"],"sources":["../../../src/utils/helpers/createUUID.js"],"sourcesContent":["// @flow\n/**\n */\nconst createUUID = (): string => {\n let d = new Date().getTime();\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n const r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === \"x\" ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nexport default createUUID;\n"],"mappings":"AACA;AACA;AACA,MAAMA,UAAU,GAAGA,CAAA,KAAc;EAC/B,IAAIC,CAAC,GAAG,IAAIC,IAAI,EAAE,CAACC,OAAO,EAAE;EAC5B,OAAO,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAK;IACpE,MAAMC,CAAC,GAAG,CAACL,CAAC,GAAGM,IAAI,CAACC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC;IAC3CP,CAAC,GAAGM,IAAI,CAACE,KAAK,CAACR,CAAC,GAAG,EAAE,CAAC;IACtB,OAAO,CAACI,CAAC,KAAK,GAAG,GAAGC,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAI,GAAG,EAAEI,QAAQ,CAAC,EAAE,CAAC;EACvD,CAAC,CAAC;AACJ,CAAC;AAED,eAAeV,UAAU"}
1
+ {"version":3,"file":"createUUID.js","names":["createUUID","d","Date","getTime","replace","c","r","Math","random","floor","toString"],"sources":["../../../src/utils/helpers/createUUID.js"],"sourcesContent":["// @flow\n/**\n */\nconst createUUID = (): string => {\n let d = new Date().getTime();\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n const r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === \"x\" ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nexport default createUUID;\n"],"mappings":"AACA;AACA;AACA,MAAMA,UAAU,GAAGA,CAAA,KAAc;EAC/B,IAAIC,CAAC,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;EAC5B,OAAO,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAK;IACpE,MAAMC,CAAC,GAAG,CAACL,CAAC,GAAGM,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC;IAC3CP,CAAC,GAAGM,IAAI,CAACE,KAAK,CAACR,CAAC,GAAG,EAAE,CAAC;IACtB,OAAO,CAACI,CAAC,KAAK,GAAG,GAAGC,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAI,GAAG,EAAEI,QAAQ,CAAC,EAAE,CAAC;EACvD,CAAC,CAAC;AACJ,CAAC;AAED,eAAeV,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"repositoryResource.js","names":["getBasePath","RESOURCE_PATH","getRepositoryResourceUrl","resourceUrl","basePath","_startsWithInstanceProperty","call"],"sources":["../../../src/utils/helpers/repositoryResource.js"],"sourcesContent":["// @flow\nimport { getBasePath, RESOURCE_PATH } from \"../../constants\";\n\n/**\n * Creates an url to a resource in the Be Informed repository\n * Only possible when serving using the UI Servlet of Be Informed\n */\nexport const getRepositoryResourceUrl = (resourceUrl: string): string => {\n const basePath = getBasePath();\n\n if (resourceUrl.startsWith(basePath)) {\n return resourceUrl;\n }\n\n if (resourceUrl.startsWith(RESOURCE_PATH)) {\n return `${basePath}${resourceUrl}`;\n }\n\n return `${basePath}${RESOURCE_PATH}${resourceUrl}`;\n};\n"],"mappings":";AACA,SAASA,WAAW,EAAEC,aAAa,QAAQ,iBAAiB;;AAE5D;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAIC,WAAmB,IAAa;EACvE,MAAMC,QAAQ,GAAGJ,WAAW,EAAE;EAE9B,IAAIK,2BAAA,CAAAF,WAAW,EAAAG,IAAA,CAAXH,WAAW,EAAYC,QAAQ,CAAC,EAAE;IACpC,OAAOD,WAAW;EACpB;EAEA,IAAIE,2BAAA,CAAAF,WAAW,EAAAG,IAAA,CAAXH,WAAW,EAAYF,aAAa,CAAC,EAAE;IACzC,OAAQ,GAAEG,QAAS,GAAED,WAAY,EAAC;EACpC;EAEA,OAAQ,GAAEC,QAAS,GAAEH,aAAc,GAAEE,WAAY,EAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"repositoryResource.js","names":["getBasePath","RESOURCE_PATH","getRepositoryResourceUrl","resourceUrl","basePath","_startsWithInstanceProperty","call"],"sources":["../../../src/utils/helpers/repositoryResource.js"],"sourcesContent":["// @flow\nimport { getBasePath, RESOURCE_PATH } from \"../../constants\";\n\n/**\n * Creates an url to a resource in the Be Informed repository\n * Only possible when serving using the UI Servlet of Be Informed\n */\nexport const getRepositoryResourceUrl = (resourceUrl: string): string => {\n const basePath = getBasePath();\n\n if (resourceUrl.startsWith(basePath)) {\n return resourceUrl;\n }\n\n if (resourceUrl.startsWith(RESOURCE_PATH)) {\n return `${basePath}${resourceUrl}`;\n }\n\n return `${basePath}${RESOURCE_PATH}${resourceUrl}`;\n};\n"],"mappings":";AACA,SAASA,WAAW,EAAEC,aAAa,QAAQ,iBAAiB;;AAE5D;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAIC,WAAmB,IAAa;EACvE,MAAMC,QAAQ,GAAGJ,WAAW,CAAC,CAAC;EAE9B,IAAIK,2BAAA,CAAAF,WAAW,EAAAG,IAAA,CAAXH,WAAW,EAAYC,QAAQ,CAAC,EAAE;IACpC,OAAOD,WAAW;EACpB;EAEA,IAAIE,2BAAA,CAAAF,WAAW,EAAAG,IAAA,CAAXH,WAAW,EAAYF,aAAa,CAAC,EAAE;IACzC,OAAQ,GAAEG,QAAS,GAAED,WAAY,EAAC;EACpC;EAEA,OAAQ,GAAEC,QAAS,GAAEH,aAAc,GAAEE,WAAY,EAAC;AACpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizeHtml.js","names":["he","IllegalArgumentException","properEntityEncoding","html","escapedGt","replace","escapedLt","properEntities","encode","decode","decimal","unescapedGt","removeUnwantedHtml","options","arguments","length","undefined","allowedTags","correctEntityHtml","htmlWithoutAttributes","htmlWithCorrectBR","Array","isArray","join","pattern","regex","RegExp"],"sources":["../../../src/utils/helpers/sanitizeHtml.js"],"sourcesContent":["// @flow\nimport he from \"he\";\n\nimport { IllegalArgumentException } from \"../../exceptions\";\n\ntype removeUnwantedHtmlOptions = {\n allowedTags?: Array<string>,\n};\n\n/**\n * Translates html entities to their correct decimal equivalent\n * When path is only one deep better use optional chaining\n */\nconst properEntityEncoding = (html: string) => {\n const escapedGt = html.replace(/</g, \"[\");\n const escapedLt = escapedGt.replace(/>/g, \"]\");\n\n const properEntities = he.encode(he.decode(escapedLt), {\n decimal: true,\n });\n\n const unescapedGt = properEntities.replace(/\\[/g, \"<\");\n\n return unescapedGt.replace(/]/g, \">\");\n};\n\n/**\n * removes unwanted html, this might result in incorrect html, as it removes all html that we don't except,\n * like <b style=\"font-weight: 400\">bold</b> will result in bold</b>\n */\nconst removeUnwantedHtml = (\n html: string,\n options: removeUnwantedHtmlOptions = {\n allowedTags: [\"p\", \"br\", \"b\", \"i\", \"u\", \"strike\"],\n }\n): string => {\n if (typeof html !== \"string\") {\n throw new IllegalArgumentException(\"sanitizeHTML method expects a string\");\n }\n\n const correctEntityHtml = properEntityEncoding(html);\n\n // remove attributes from html elements\n const htmlWithoutAttributes = correctEntityHtml.replace(\n /<(\\w+)(.|[\\r\\n])*?>/gi,\n \"<$1>\"\n );\n\n const htmlWithCorrectBR = htmlWithoutAttributes.replace(\n /<br\\s*>/gi,\n \"<br />\"\n );\n\n // remove not allowed tags\n const allowedTags = Array.isArray(options.allowedTags)\n ? options.allowedTags.join(\"|\")\n : \"\";\n const pattern = `<(?!\\\\/?(${allowedTags})(>|\\\\s\\\\/))[^<]+?>`;\n const regex = new RegExp(pattern, \"gi\");\n\n return htmlWithCorrectBR.replace(regex, \"\");\n};\n\nexport { removeUnwantedHtml };\n"],"mappings":"AACA,OAAOA,EAAE,MAAM,IAAI;AAEnB,SAASC,wBAAwB,QAAQ,kBAAkB;AAM3D;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAIC,IAAY,IAAK;EAC7C,MAAMC,SAAS,GAAGD,IAAI,CAACE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EACzC,MAAMC,SAAS,GAAGF,SAAS,CAACC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EAE9C,MAAME,cAAc,GAAGP,EAAE,CAACQ,MAAM,CAACR,EAAE,CAACS,MAAM,CAACH,SAAS,CAAC,EAAE;IACrDI,OAAO,EAAE;EACX,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGJ,cAAc,CAACF,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;EAEtD,OAAOM,WAAW,CAACN,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;AACvC,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMO,kBAAkB,GAAG,SAAAA,CACzBT,IAAY,EAID;EAAA,IAHXU,OAAkC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG;IACnCG,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ;EAClD,CAAC;EAED,IAAI,OAAOd,IAAI,KAAK,QAAQ,EAAE;IAC5B,MAAM,IAAIF,wBAAwB,CAAC,sCAAsC,CAAC;EAC5E;EAEA,MAAMiB,iBAAiB,GAAGhB,oBAAoB,CAACC,IAAI,CAAC;;EAEpD;EACA,MAAMgB,qBAAqB,GAAGD,iBAAiB,CAACb,OAAO,CACrD,uBAAuB,EACvB,MAAM,CACP;EAED,MAAMe,iBAAiB,GAAGD,qBAAqB,CAACd,OAAO,CACrD,WAAW,EACX,QAAQ,CACT;;EAED;EACA,MAAMY,WAAW,GAAGI,KAAK,CAACC,OAAO,CAACT,OAAO,CAACI,WAAW,CAAC,GAClDJ,OAAO,CAACI,WAAW,CAACM,IAAI,CAAC,GAAG,CAAC,GAC7B,EAAE;EACN,MAAMC,OAAO,GAAI,YAAWP,WAAY,qBAAoB;EAC5D,MAAMQ,KAAK,GAAG,IAAIC,MAAM,CAACF,OAAO,EAAE,IAAI,CAAC;EAEvC,OAAOJ,iBAAiB,CAACf,OAAO,CAACoB,KAAK,EAAE,EAAE,CAAC;AAC7C,CAAC;AAED,SAASb,kBAAkB"}
1
+ {"version":3,"file":"sanitizeHtml.js","names":["he","IllegalArgumentException","properEntityEncoding","html","escapedGt","replace","escapedLt","properEntities","encode","decode","decimal","unescapedGt","removeUnwantedHtml","options","arguments","length","undefined","allowedTags","correctEntityHtml","htmlWithoutAttributes","htmlWithCorrectBR","Array","isArray","join","pattern","regex","RegExp"],"sources":["../../../src/utils/helpers/sanitizeHtml.js"],"sourcesContent":["// @flow\nimport he from \"he\";\n\nimport { IllegalArgumentException } from \"../../exceptions\";\n\ntype removeUnwantedHtmlOptions = {\n allowedTags?: Array<string>,\n};\n\n/**\n * Translates html entities to their correct decimal equivalent\n * When path is only one deep better use optional chaining\n */\nconst properEntityEncoding = (html: string) => {\n const escapedGt = html.replace(/</g, \"[\");\n const escapedLt = escapedGt.replace(/>/g, \"]\");\n\n const properEntities = he.encode(he.decode(escapedLt), {\n decimal: true,\n });\n\n const unescapedGt = properEntities.replace(/\\[/g, \"<\");\n\n return unescapedGt.replace(/]/g, \">\");\n};\n\n/**\n * removes unwanted html, this might result in incorrect html, as it removes all html that we don't except,\n * like <b style=\"font-weight: 400\">bold</b> will result in bold</b>\n */\nconst removeUnwantedHtml = (\n html: string,\n options: removeUnwantedHtmlOptions = {\n allowedTags: [\"p\", \"br\", \"b\", \"i\", \"u\", \"strike\"],\n }\n): string => {\n if (typeof html !== \"string\") {\n throw new IllegalArgumentException(\"sanitizeHTML method expects a string\");\n }\n\n const correctEntityHtml = properEntityEncoding(html);\n\n // remove attributes from html elements\n const htmlWithoutAttributes = correctEntityHtml.replace(\n /<(\\w+)(.|[\\r\\n])*?>/gi,\n \"<$1>\"\n );\n\n const htmlWithCorrectBR = htmlWithoutAttributes.replace(\n /<br\\s*>/gi,\n \"<br />\"\n );\n\n // remove not allowed tags\n const allowedTags = Array.isArray(options.allowedTags)\n ? options.allowedTags.join(\"|\")\n : \"\";\n const pattern = `<(?!\\\\/?(${allowedTags})(>|\\\\s\\\\/))[^<]+?>`;\n const regex = new RegExp(pattern, \"gi\");\n\n return htmlWithCorrectBR.replace(regex, \"\");\n};\n\nexport { removeUnwantedHtml };\n"],"mappings":"AACA,OAAOA,EAAE,MAAM,IAAI;AAEnB,SAASC,wBAAwB,QAAQ,kBAAkB;AAM3D;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAIC,IAAY,IAAK;EAC7C,MAAMC,SAAS,GAAGD,IAAI,CAACE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EACzC,MAAMC,SAAS,GAAGF,SAAS,CAACC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EAE9C,MAAME,cAAc,GAAGP,EAAE,CAACQ,MAAM,CAACR,EAAE,CAACS,MAAM,CAACH,SAAS,CAAC,EAAE;IACrDI,OAAO,EAAE;EACX,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGJ,cAAc,CAACF,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;EAEtD,OAAOM,WAAW,CAACN,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;AACvC,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMO,kBAAkB,GAAG,SAAAA,CACzBT,IAAY,EAID;EAAA,IAHXU,OAAkC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG;IACnCG,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ;EAClD,CAAC;EAED,IAAI,OAAOd,IAAI,KAAK,QAAQ,EAAE;IAC5B,MAAM,IAAIF,wBAAwB,CAAC,sCAAsC,CAAC;EAC5E;EAEA,MAAMiB,iBAAiB,GAAGhB,oBAAoB,CAACC,IAAI,CAAC;;EAEpD;EACA,MAAMgB,qBAAqB,GAAGD,iBAAiB,CAACb,OAAO,CACrD,uBAAuB,EACvB,MACF,CAAC;EAED,MAAMe,iBAAiB,GAAGD,qBAAqB,CAACd,OAAO,CACrD,WAAW,EACX,QACF,CAAC;;EAED;EACA,MAAMY,WAAW,GAAGI,KAAK,CAACC,OAAO,CAACT,OAAO,CAACI,WAAW,CAAC,GAClDJ,OAAO,CAACI,WAAW,CAACM,IAAI,CAAC,GAAG,CAAC,GAC7B,EAAE;EACN,MAAMC,OAAO,GAAI,YAAWP,WAAY,qBAAoB;EAC5D,MAAMQ,KAAK,GAAG,IAAIC,MAAM,CAACF,OAAO,EAAE,IAAI,CAAC;EAEvC,OAAOJ,iBAAiB,CAACf,OAAO,CAACoB,KAAK,EAAE,EAAE,CAAC;AAC7C,CAAC;AAED,SAASb,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DecimalFormat.js","names":["DecimalFormat","constructor","format","_defineProperty","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","prefix","_prefix","suffix","_suffix","comma","_comma","minInt","_minInt","minFrac","_minFrac","maxFrac","_maxFrac","isPercentage","_isPercentage","beforeDigit","_includesInstanceProperty","call","substring","indexOf","length","replace","numberStr","fracStr","intStr","lastIndexOf","intFormatStr","charAt","getNumericString","stringNumber","number","Number","string","String","precision","formatBack","formattedNumber","isNaN","tempNumber","negative","substr","hasPrefix","_startsWithInstanceProperty","suffixIndex","scientificNumber","Infinity","getFracAsNumber","DECIMAL_RADIX","Math","round","toString","toFixed","getRoundedFrac","num","getFraction","getFracCorrectLength","frac","i","getInteger","doCarry","x","j","addGrouping","groupedIntStr","getFormattedValue","isNegative","formattedValue","arguments","undefined","toLowerCase","addZeroToFrac","lastTwoFrac"],"sources":["../../../src/utils/number/DecimalFormat.js"],"sourcesContent":["// @flow\n// @see: https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html\n/**\n */\nclass DecimalFormat {\n _prefix: string;\n _suffix: string;\n\n // Grouping size\n _comma: number;\n // Minimum integer digits to be displayed\n _minInt: number;\n\n // Minimum fractional digits to be displayed\n _minFrac: number;\n // Maximum fractional digits to be displayed\n _maxFrac: number;\n\n _isPercentage: boolean;\n\n /**\n */\n constructor(format: string) {\n this.setAffix(format);\n this.setFractionLengths(format);\n this.setGroupLength(format);\n this.setMinLength(format);\n\n this.setPercentage();\n }\n\n /**\n */\n get prefix(): string {\n return this._prefix;\n }\n\n /**\n */\n get suffix(): string {\n return this._suffix;\n }\n\n /**\n */\n get comma(): number {\n return this._comma;\n }\n\n /**\n */\n get minInt(): number {\n return this._minInt;\n }\n\n /**\n */\n get minFrac(): number {\n return this._minFrac;\n }\n\n /**\n */\n get maxFrac(): number {\n return this._maxFrac;\n }\n\n /**\n */\n get isPercentage(): boolean {\n return this._isPercentage;\n }\n\n /**\n */\n setAffix(format: string) {\n const beforeDigit = format.includes(\"#\")\n ? format.substring(0, format.indexOf(\"#\"))\n : format;\n\n this._prefix = beforeDigit.includes(\"0\")\n ? beforeDigit.substring(0, beforeDigit.indexOf(\"0\"))\n : beforeDigit;\n this._suffix = format\n .substring(this._prefix.length)\n .replace(/[#,.0]/gu, \"\");\n }\n\n /**\n */\n setFractionLengths(format: string) {\n this._minFrac = 0;\n this._maxFrac = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n if (numberStr.includes(\".\")) {\n const fracStr = numberStr.substring(numberStr.indexOf(\".\") + 1);\n\n const maxFrac = fracStr.replace(/,|\\.+/g, \"\");\n this._maxFrac = maxFrac.length;\n\n // replace all but zeros\n const minFrac = maxFrac.replace(/[^0]/gu, \"\");\n this._minFrac = minFrac.length;\n }\n }\n\n /**\n */\n setGroupLength(format: string) {\n this._comma = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n const intStr = numberStr.includes(\".\")\n ? numberStr.substring(0, numberStr.indexOf(\".\"))\n : numberStr;\n\n if (intStr.includes(\",\")) {\n this._comma = intStr.length - 1 - intStr.lastIndexOf(\",\");\n }\n }\n\n /**\n */\n setMinLength(format: string) {\n const intFormatStr = format.includes(\".\")\n ? format.substring(0, format.indexOf(\".\"))\n : format;\n const intStr = intFormatStr.replace(/[^0]/gu, \"\");\n\n this._minInt = intStr.length > 1 ? intStr.length : 1;\n }\n\n /**\n */\n setPercentage() {\n this._isPercentage = this.suffix.charAt(0) === \"%\";\n }\n\n /**\n * Solves problem where big numbers loose the precision:\n * e.g. Number(23423423423342234.34) => 23423423423342236\n */\n static getNumericString(stringNumber: string): string {\n const number = Number(stringNumber);\n const string = String(number);\n\n if (!string.includes(\".\") && stringNumber.includes(\".\")) {\n // check if original string has all zeros after dot or not\n const precision = stringNumber.substring(stringNumber.indexOf(\".\") + 1);\n if (precision.replace(/0/gu, \"\").length > 0) {\n return stringNumber;\n }\n\n return string;\n }\n\n return stringNumber;\n }\n\n /**\n * Converts formatted value back to non-formatted value\n * e.g. $1,223.06 --> 1223.06\n */\n formatBack(formattedNumber: string): string {\n const stringNumber = String(formattedNumber);\n\n if (!stringNumber) {\n return \"\";\n }\n\n if (!isNaN(stringNumber)) {\n return DecimalFormat.getNumericString(stringNumber);\n }\n\n let tempNumber = formattedNumber;\n\n let negative = false;\n if (formattedNumber.charAt(0) === \"-\") {\n tempNumber = formattedNumber.substr(1);\n negative = true;\n }\n\n const hasPrefix = formattedNumber.startsWith(this.prefix);\n\n const suffixIndex =\n this.suffix === \"\"\n ? formattedNumber.length\n : formattedNumber.indexOf(this.suffix, this.prefix.length + 1);\n\n if (hasPrefix && suffixIndex > 0) {\n tempNumber = tempNumber.substr(0, suffixIndex);\n tempNumber = tempNumber.substr(this.prefix.length);\n tempNumber = tempNumber.replace(/,/gu, \"\");\n\n if (negative) {\n tempNumber = `-${tempNumber}`;\n }\n\n if (!isNaN(tempNumber)) {\n return DecimalFormat.getNumericString(tempNumber);\n }\n }\n\n return tempNumber;\n }\n\n /**\n */\n static scientificNumber(stringNumber: string): string {\n if (stringNumber.includes(\"e\")) {\n const number = Number(stringNumber);\n if (number === Infinity || number === -Infinity) {\n return stringNumber;\n }\n\n return String(number);\n }\n\n return stringNumber;\n }\n\n /**\n */\n getFracAsNumber(fracStr: string): string {\n const number = Number(`0.${fracStr}`);\n const DECIMAL_RADIX = 10;\n\n return this.maxFrac === 0\n ? Math.round(number).toString(DECIMAL_RADIX)\n : number.toFixed(this.maxFrac);\n }\n\n /**\n */\n getRoundedFrac(fracStr: string): string {\n const num = this.getFracAsNumber(fracStr);\n\n // toFixed method has bugs on IE (0.7 --> 0)\n return num.substr(2);\n }\n\n /**\n */\n static getFraction(number: string): string {\n let fracStr = number.includes(\".\")\n ? number.substring(number.indexOf(\".\") + 1)\n : \"\";\n\n fracStr = fracStr.replace(/\\./, \"\");\n\n return fracStr;\n }\n\n /**\n */\n getFracCorrectLength(frac: string): string {\n let fracStr = frac;\n\n if (fracStr.length > this.maxFrac) {\n fracStr = this.getRoundedFrac(fracStr);\n }\n\n for (let i = fracStr.length; i < this.minFrac; i++) {\n // if minFrac=4 then 1.12 --> 1.1200\n fracStr = `${fracStr}0`;\n }\n\n while (\n fracStr.length > this.minFrac &&\n fracStr.charAt(fracStr.length - 1) === \"0\"\n ) {\n // if minInt=4 then 00034 --> 0034)\n fracStr = fracStr.substring(0, fracStr.length - 1);\n }\n\n return fracStr;\n }\n\n /**\n */\n getInteger(number: string): string {\n let intStr = number.includes(\".\")\n ? number.substring(0, number.indexOf(\".\"))\n : number;\n\n let doCarry = Number(this.getFracAsNumber(number)) > 1;\n let i = intStr.length - 1;\n\n while (doCarry) {\n if (i === -1) {\n intStr = `1${intStr}`;\n break;\n }\n\n let x = intStr.charAt(i);\n if (x === \"9\") {\n x = \"0\";\n } else {\n x = `${x + 1}`;\n doCarry = false;\n }\n\n intStr =\n intStr.substring(0, i) + x + intStr.substring(i + 1, intStr.length);\n\n i -= 1;\n }\n\n for (let j = intStr.length; j < this.minInt; j++) {\n // if minInt=4 then 034 --> 0034\n intStr = `0${intStr}`;\n }\n\n while (intStr.length > this.minInt && intStr.charAt(0) === \"0\") {\n // if minInt=4 then 00034 --> 0034)\n intStr = intStr.substring(1);\n }\n\n return intStr;\n }\n\n /**\n */\n addGrouping(intStr: string): string {\n let groupedIntStr = intStr;\n\n let j = 0;\n for (let i = groupedIntStr.length; i > 0; i--) {\n // add commas\n if (j !== 0 && j % this.comma === 0) {\n groupedIntStr = `${groupedIntStr.substring(\n 0,\n i\n )},${groupedIntStr.substring(i)}`;\n j = 0;\n }\n\n j += 1;\n }\n\n return groupedIntStr;\n }\n\n /**\n */\n getFormattedValue(\n intStr: string,\n fracStr: string,\n isNegative: boolean\n ): string {\n let formattedValue;\n if (fracStr.length > 0)\n formattedValue = `${this.prefix + intStr}.${fracStr}${this.suffix}`;\n else formattedValue = this.prefix + intStr + this.suffix;\n\n if (isNegative) {\n formattedValue = `-${formattedValue}`;\n }\n\n return formattedValue;\n }\n\n /**\n * Formats given value, using the pattern\n * e.g. $#,###.00: 1223.06 --> $1,223.06\n */\n format(stringNumber: string = \"\"): string {\n if (stringNumber === null) {\n return \"\";\n }\n\n let formattedNumber = this.formatBack(stringNumber).toLowerCase();\n\n if (isNaN(formattedNumber) || formattedNumber.length === 0) {\n return stringNumber;\n }\n\n formattedNumber = DecimalFormat.scientificNumber(formattedNumber);\n if (formattedNumber.includes(\"e\")) {\n return formattedNumber;\n }\n\n const isNegative = formattedNumber.charAt(0) === \"-\";\n if (isNegative || formattedNumber.charAt(0) === \"+\") {\n formattedNumber = formattedNumber.substring(1);\n }\n\n let fracStr = DecimalFormat.getFraction(formattedNumber);\n let intStr = this.getInteger(formattedNumber);\n if (this.isPercentage) {\n // Add zeros behind fraction to make sure we have at least two characters and take first two character:\n // 1 --> 100 --> 10\n const addZeroToFrac = `${fracStr}00`.substr(0, 2);\n // Add zeros in front of frac and get last two characters\n const lastTwoFrac = `00${addZeroToFrac}`.substr(-2);\n\n intStr = `${intStr}${lastTwoFrac}`;\n fracStr = fracStr.substr(2);\n }\n\n fracStr = this.getFracCorrectLength(fracStr);\n\n intStr = this.addGrouping(intStr);\n\n return this.getFormattedValue(intStr, fracStr, isNegative);\n }\n}\n\nexport default DecimalFormat;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DecimalFormat.js","names":["DecimalFormat","constructor","format","_defineProperty","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","prefix","_prefix","suffix","_suffix","comma","_comma","minInt","_minInt","minFrac","_minFrac","maxFrac","_maxFrac","isPercentage","_isPercentage","beforeDigit","_includesInstanceProperty","call","substring","indexOf","length","replace","numberStr","fracStr","intStr","lastIndexOf","intFormatStr","charAt","getNumericString","stringNumber","number","Number","string","String","precision","formatBack","formattedNumber","isNaN","tempNumber","negative","substr","hasPrefix","_startsWithInstanceProperty","suffixIndex","scientificNumber","Infinity","getFracAsNumber","DECIMAL_RADIX","Math","round","toString","toFixed","getRoundedFrac","num","getFraction","getFracCorrectLength","frac","i","getInteger","doCarry","x","j","addGrouping","groupedIntStr","getFormattedValue","isNegative","formattedValue","arguments","undefined","toLowerCase","addZeroToFrac","lastTwoFrac"],"sources":["../../../src/utils/number/DecimalFormat.js"],"sourcesContent":["// @flow\n// @see: https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html\n/**\n */\nclass DecimalFormat {\n _prefix: string;\n _suffix: string;\n\n // Grouping size\n _comma: number;\n // Minimum integer digits to be displayed\n _minInt: number;\n\n // Minimum fractional digits to be displayed\n _minFrac: number;\n // Maximum fractional digits to be displayed\n _maxFrac: number;\n\n _isPercentage: boolean;\n\n /**\n */\n constructor(format: string) {\n this.setAffix(format);\n this.setFractionLengths(format);\n this.setGroupLength(format);\n this.setMinLength(format);\n\n this.setPercentage();\n }\n\n /**\n */\n get prefix(): string {\n return this._prefix;\n }\n\n /**\n */\n get suffix(): string {\n return this._suffix;\n }\n\n /**\n */\n get comma(): number {\n return this._comma;\n }\n\n /**\n */\n get minInt(): number {\n return this._minInt;\n }\n\n /**\n */\n get minFrac(): number {\n return this._minFrac;\n }\n\n /**\n */\n get maxFrac(): number {\n return this._maxFrac;\n }\n\n /**\n */\n get isPercentage(): boolean {\n return this._isPercentage;\n }\n\n /**\n */\n setAffix(format: string) {\n const beforeDigit = format.includes(\"#\")\n ? format.substring(0, format.indexOf(\"#\"))\n : format;\n\n this._prefix = beforeDigit.includes(\"0\")\n ? beforeDigit.substring(0, beforeDigit.indexOf(\"0\"))\n : beforeDigit;\n this._suffix = format\n .substring(this._prefix.length)\n .replace(/[#,.0]/gu, \"\");\n }\n\n /**\n */\n setFractionLengths(format: string) {\n this._minFrac = 0;\n this._maxFrac = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n if (numberStr.includes(\".\")) {\n const fracStr = numberStr.substring(numberStr.indexOf(\".\") + 1);\n\n const maxFrac = fracStr.replace(/,|\\.+/g, \"\");\n this._maxFrac = maxFrac.length;\n\n // replace all but zeros\n const minFrac = maxFrac.replace(/[^0]/gu, \"\");\n this._minFrac = minFrac.length;\n }\n }\n\n /**\n */\n setGroupLength(format: string) {\n this._comma = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n const intStr = numberStr.includes(\".\")\n ? numberStr.substring(0, numberStr.indexOf(\".\"))\n : numberStr;\n\n if (intStr.includes(\",\")) {\n this._comma = intStr.length - 1 - intStr.lastIndexOf(\",\");\n }\n }\n\n /**\n */\n setMinLength(format: string) {\n const intFormatStr = format.includes(\".\")\n ? format.substring(0, format.indexOf(\".\"))\n : format;\n const intStr = intFormatStr.replace(/[^0]/gu, \"\");\n\n this._minInt = intStr.length > 1 ? intStr.length : 1;\n }\n\n /**\n */\n setPercentage() {\n this._isPercentage = this.suffix.charAt(0) === \"%\";\n }\n\n /**\n * Solves problem where big numbers loose the precision:\n * e.g. Number(23423423423342234.34) => 23423423423342236\n */\n static getNumericString(stringNumber: string): string {\n const number = Number(stringNumber);\n const string = String(number);\n\n if (!string.includes(\".\") && stringNumber.includes(\".\")) {\n // check if original string has all zeros after dot or not\n const precision = stringNumber.substring(stringNumber.indexOf(\".\") + 1);\n if (precision.replace(/0/gu, \"\").length > 0) {\n return stringNumber;\n }\n\n return string;\n }\n\n return stringNumber;\n }\n\n /**\n * Converts formatted value back to non-formatted value\n * e.g. $1,223.06 --> 1223.06\n */\n formatBack(formattedNumber: string): string {\n const stringNumber = String(formattedNumber);\n\n if (!stringNumber) {\n return \"\";\n }\n\n if (!isNaN(stringNumber)) {\n return DecimalFormat.getNumericString(stringNumber);\n }\n\n let tempNumber = formattedNumber;\n\n let negative = false;\n if (formattedNumber.charAt(0) === \"-\") {\n tempNumber = formattedNumber.substr(1);\n negative = true;\n }\n\n const hasPrefix = formattedNumber.startsWith(this.prefix);\n\n const suffixIndex =\n this.suffix === \"\"\n ? formattedNumber.length\n : formattedNumber.indexOf(this.suffix, this.prefix.length + 1);\n\n if (hasPrefix && suffixIndex > 0) {\n tempNumber = tempNumber.substr(0, suffixIndex);\n tempNumber = tempNumber.substr(this.prefix.length);\n tempNumber = tempNumber.replace(/,/gu, \"\");\n\n if (negative) {\n tempNumber = `-${tempNumber}`;\n }\n\n if (!isNaN(tempNumber)) {\n return DecimalFormat.getNumericString(tempNumber);\n }\n }\n\n return tempNumber;\n }\n\n /**\n */\n static scientificNumber(stringNumber: string): string {\n if (stringNumber.includes(\"e\")) {\n const number = Number(stringNumber);\n if (number === Infinity || number === -Infinity) {\n return stringNumber;\n }\n\n return String(number);\n }\n\n return stringNumber;\n }\n\n /**\n */\n getFracAsNumber(fracStr: string): string {\n const number = Number(`0.${fracStr}`);\n const DECIMAL_RADIX = 10;\n\n return this.maxFrac === 0\n ? Math.round(number).toString(DECIMAL_RADIX)\n : number.toFixed(this.maxFrac);\n }\n\n /**\n */\n getRoundedFrac(fracStr: string): string {\n const num = this.getFracAsNumber(fracStr);\n\n // toFixed method has bugs on IE (0.7 --> 0)\n return num.substr(2);\n }\n\n /**\n */\n static getFraction(number: string): string {\n let fracStr = number.includes(\".\")\n ? number.substring(number.indexOf(\".\") + 1)\n : \"\";\n\n fracStr = fracStr.replace(/\\./, \"\");\n\n return fracStr;\n }\n\n /**\n */\n getFracCorrectLength(frac: string): string {\n let fracStr = frac;\n\n if (fracStr.length > this.maxFrac) {\n fracStr = this.getRoundedFrac(fracStr);\n }\n\n for (let i = fracStr.length; i < this.minFrac; i++) {\n // if minFrac=4 then 1.12 --> 1.1200\n fracStr = `${fracStr}0`;\n }\n\n while (\n fracStr.length > this.minFrac &&\n fracStr.charAt(fracStr.length - 1) === \"0\"\n ) {\n // if minInt=4 then 00034 --> 0034)\n fracStr = fracStr.substring(0, fracStr.length - 1);\n }\n\n return fracStr;\n }\n\n /**\n */\n getInteger(number: string): string {\n let intStr = number.includes(\".\")\n ? number.substring(0, number.indexOf(\".\"))\n : number;\n\n let doCarry = Number(this.getFracAsNumber(number)) > 1;\n let i = intStr.length - 1;\n\n while (doCarry) {\n if (i === -1) {\n intStr = `1${intStr}`;\n break;\n }\n\n let x = intStr.charAt(i);\n if (x === \"9\") {\n x = \"0\";\n } else {\n x = `${x + 1}`;\n doCarry = false;\n }\n\n intStr =\n intStr.substring(0, i) + x + intStr.substring(i + 1, intStr.length);\n\n i -= 1;\n }\n\n for (let j = intStr.length; j < this.minInt; j++) {\n // if minInt=4 then 034 --> 0034\n intStr = `0${intStr}`;\n }\n\n while (intStr.length > this.minInt && intStr.charAt(0) === \"0\") {\n // if minInt=4 then 00034 --> 0034)\n intStr = intStr.substring(1);\n }\n\n return intStr;\n }\n\n /**\n */\n addGrouping(intStr: string): string {\n let groupedIntStr = intStr;\n\n let j = 0;\n for (let i = groupedIntStr.length; i > 0; i--) {\n // add commas\n if (j !== 0 && j % this.comma === 0) {\n groupedIntStr = `${groupedIntStr.substring(\n 0,\n i\n )},${groupedIntStr.substring(i)}`;\n j = 0;\n }\n\n j += 1;\n }\n\n return groupedIntStr;\n }\n\n /**\n */\n getFormattedValue(\n intStr: string,\n fracStr: string,\n isNegative: boolean\n ): string {\n let formattedValue;\n if (fracStr.length > 0)\n formattedValue = `${this.prefix + intStr}.${fracStr}${this.suffix}`;\n else formattedValue = this.prefix + intStr + this.suffix;\n\n if (isNegative) {\n formattedValue = `-${formattedValue}`;\n }\n\n return formattedValue;\n }\n\n /**\n * Formats given value, using the pattern\n * e.g. $#,###.00: 1223.06 --> $1,223.06\n */\n format(stringNumber: string = \"\"): string {\n if (stringNumber === null) {\n return \"\";\n }\n\n let formattedNumber = this.formatBack(stringNumber).toLowerCase();\n\n if (isNaN(formattedNumber) || formattedNumber.length === 0) {\n return stringNumber;\n }\n\n formattedNumber = DecimalFormat.scientificNumber(formattedNumber);\n if (formattedNumber.includes(\"e\")) {\n return formattedNumber;\n }\n\n const isNegative = formattedNumber.charAt(0) === \"-\";\n if (isNegative || formattedNumber.charAt(0) === \"+\") {\n formattedNumber = formattedNumber.substring(1);\n }\n\n let fracStr = DecimalFormat.getFraction(formattedNumber);\n let intStr = this.getInteger(formattedNumber);\n if (this.isPercentage) {\n // Add zeros behind fraction to make sure we have at least two characters and take first two character:\n // 1 --> 100 --> 10\n const addZeroToFrac = `${fracStr}00`.substr(0, 2);\n // Add zeros in front of frac and get last two characters\n const lastTwoFrac = `00${addZeroToFrac}`.substr(-2);\n\n intStr = `${intStr}${lastTwoFrac}`;\n fracStr = fracStr.substr(2);\n }\n\n fracStr = this.getFracCorrectLength(fracStr);\n\n intStr = this.addGrouping(intStr);\n\n return this.getFormattedValue(intStr, fracStr, isNegative);\n }\n}\n\nexport default DecimalFormat;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatValue.js","names":["IllegalArgumentException","DecimalFormat","parseNumberToString","parseToNumber","updateGroupingSeparator","input","groupingSeparator","replace","formatValue","value","format","arguments","length","undefined","decimalSeparator","numberValue","stringValue","formattedValue","integer","decimal","split","integerPart"],"sources":["../../../src/utils/number/formatValue.js"],"sourcesContent":["// @flow\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport DecimalFormat from \"./DecimalFormat\";\nimport { parseNumberToString, parseToNumber } from \"./parseNumbers\";\n\n/**\n * @private\n */\nconst updateGroupingSeparator = (input: string, groupingSeparator: string) => {\n if (groupingSeparator == null) {\n return input;\n }\n\n return input.replace(/,/g, groupingSeparator);\n};\n\n/**\n */\nconst formatValue = (\n value: ?number | ?string,\n format: ?string = \"0\",\n groupingSeparator: string = \",\",\n decimalSeparator: string = \".\"\n): string => {\n if (value == null) {\n return \"\";\n }\n\n const numberValue =\n typeof value === \"number\"\n ? value\n : parseToNumber(value, groupingSeparator, decimalSeparator);\n\n if (typeof numberValue !== \"number\") {\n throw new IllegalArgumentException(\n `Not a valid number: ${value} for formatValue`\n );\n }\n\n const stringValue = parseNumberToString(numberValue);\n\n if (format != null) {\n const formattedValue = new DecimalFormat(format).format(stringValue);\n\n const [integer, decimal] = formattedValue.split(\".\");\n\n const integerPart = updateGroupingSeparator(integer, groupingSeparator);\n\n if (decimal) {\n return `${integerPart}${decimalSeparator}${decimal}`;\n }\n\n return integerPart;\n }\n\n return stringValue;\n};\n\nexport default formatValue;\n"],"mappings":"AACA,SAASA,wBAAwB,QAAQ,kBAAkB;AAE3D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,mBAAmB,EAAEC,aAAa,QAAQ,gBAAgB;;AAEnE;AACA;AACA;AACA,MAAMC,uBAAuB,GAAGA,CAACC,KAAa,EAAEC,iBAAyB,KAAK;EAC5E,IAAIA,iBAAiB,IAAI,IAAI,EAAE;IAC7B,OAAOD,KAAK;EACd;EAEA,OAAOA,KAAK,CAACE,OAAO,CAAC,IAAI,EAAED,iBAAiB,CAAC;AAC/C,CAAC;;AAED;AACA;AACA,MAAME,WAAW,GAAG,SAAAA,CAClBC,KAAwB,EAIb;EAAA,IAHXC,MAAe,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IACrBL,iBAAyB,GAAAK,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IAC/BG,gBAAwB,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAE9B,IAAIF,KAAK,IAAI,IAAI,EAAE;IACjB,OAAO,EAAE;EACX;EAEA,MAAMM,WAAW,GACf,OAAON,KAAK,KAAK,QAAQ,GACrBA,KAAK,GACLN,aAAa,CAACM,KAAK,EAAEH,iBAAiB,EAAEQ,gBAAgB,CAAC;EAE/D,IAAI,OAAOC,WAAW,KAAK,QAAQ,EAAE;IACnC,MAAM,IAAIf,wBAAwB,CAC/B,uBAAsBS,KAAM,kBAAiB,CAC/C;EACH;EAEA,MAAMO,WAAW,GAAGd,mBAAmB,CAACa,WAAW,CAAC;EAEpD,IAAIL,MAAM,IAAI,IAAI,EAAE;IAClB,MAAMO,cAAc,GAAG,IAAIhB,aAAa,CAACS,MAAM,CAAC,CAACA,MAAM,CAACM,WAAW,CAAC;IAEpE,MAAM,CAACE,OAAO,EAAEC,OAAO,CAAC,GAAGF,cAAc,CAACG,KAAK,CAAC,GAAG,CAAC;IAEpD,MAAMC,WAAW,GAAGjB,uBAAuB,CAACc,OAAO,EAAEZ,iBAAiB,CAAC;IAEvE,IAAIa,OAAO,EAAE;MACX,OAAQ,GAAEE,WAAY,GAAEP,gBAAiB,GAAEK,OAAQ,EAAC;IACtD;IAEA,OAAOE,WAAW;EACpB;EAEA,OAAOL,WAAW;AACpB,CAAC;AAED,eAAeR,WAAW"}
1
+ {"version":3,"file":"formatValue.js","names":["IllegalArgumentException","DecimalFormat","parseNumberToString","parseToNumber","updateGroupingSeparator","input","groupingSeparator","replace","formatValue","value","format","arguments","length","undefined","decimalSeparator","numberValue","stringValue","formattedValue","integer","decimal","split","integerPart"],"sources":["../../../src/utils/number/formatValue.js"],"sourcesContent":["// @flow\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport DecimalFormat from \"./DecimalFormat\";\nimport { parseNumberToString, parseToNumber } from \"./parseNumbers\";\n\n/**\n * @private\n */\nconst updateGroupingSeparator = (input: string, groupingSeparator: string) => {\n if (groupingSeparator == null) {\n return input;\n }\n\n return input.replace(/,/g, groupingSeparator);\n};\n\n/**\n */\nconst formatValue = (\n value: ?number | ?string,\n format: ?string = \"0\",\n groupingSeparator: string = \",\",\n decimalSeparator: string = \".\"\n): string => {\n if (value == null) {\n return \"\";\n }\n\n const numberValue =\n typeof value === \"number\"\n ? value\n : parseToNumber(value, groupingSeparator, decimalSeparator);\n\n if (typeof numberValue !== \"number\") {\n throw new IllegalArgumentException(\n `Not a valid number: ${value} for formatValue`\n );\n }\n\n const stringValue = parseNumberToString(numberValue);\n\n if (format != null) {\n const formattedValue = new DecimalFormat(format).format(stringValue);\n\n const [integer, decimal] = formattedValue.split(\".\");\n\n const integerPart = updateGroupingSeparator(integer, groupingSeparator);\n\n if (decimal) {\n return `${integerPart}${decimalSeparator}${decimal}`;\n }\n\n return integerPart;\n }\n\n return stringValue;\n};\n\nexport default formatValue;\n"],"mappings":"AACA,SAASA,wBAAwB,QAAQ,kBAAkB;AAE3D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,mBAAmB,EAAEC,aAAa,QAAQ,gBAAgB;;AAEnE;AACA;AACA;AACA,MAAMC,uBAAuB,GAAGA,CAACC,KAAa,EAAEC,iBAAyB,KAAK;EAC5E,IAAIA,iBAAiB,IAAI,IAAI,EAAE;IAC7B,OAAOD,KAAK;EACd;EAEA,OAAOA,KAAK,CAACE,OAAO,CAAC,IAAI,EAAED,iBAAiB,CAAC;AAC/C,CAAC;;AAED;AACA;AACA,MAAME,WAAW,GAAG,SAAAA,CAClBC,KAAwB,EAIb;EAAA,IAHXC,MAAe,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IACrBL,iBAAyB,GAAAK,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IAC/BG,gBAAwB,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAE9B,IAAIF,KAAK,IAAI,IAAI,EAAE;IACjB,OAAO,EAAE;EACX;EAEA,MAAMM,WAAW,GACf,OAAON,KAAK,KAAK,QAAQ,GACrBA,KAAK,GACLN,aAAa,CAACM,KAAK,EAAEH,iBAAiB,EAAEQ,gBAAgB,CAAC;EAE/D,IAAI,OAAOC,WAAW,KAAK,QAAQ,EAAE;IACnC,MAAM,IAAIf,wBAAwB,CAC/B,uBAAsBS,KAAM,kBAC/B,CAAC;EACH;EAEA,MAAMO,WAAW,GAAGd,mBAAmB,CAACa,WAAW,CAAC;EAEpD,IAAIL,MAAM,IAAI,IAAI,EAAE;IAClB,MAAMO,cAAc,GAAG,IAAIhB,aAAa,CAACS,MAAM,CAAC,CAACA,MAAM,CAACM,WAAW,CAAC;IAEpE,MAAM,CAACE,OAAO,EAAEC,OAAO,CAAC,GAAGF,cAAc,CAACG,KAAK,CAAC,GAAG,CAAC;IAEpD,MAAMC,WAAW,GAAGjB,uBAAuB,CAACc,OAAO,EAAEZ,iBAAiB,CAAC;IAEvE,IAAIa,OAAO,EAAE;MACX,OAAQ,GAAEE,WAAY,GAAEP,gBAAiB,GAAEK,OAAQ,EAAC;IACtD;IAEA,OAAOE,WAAW;EACpB;EAEA,OAAOL,WAAW;AACpB,CAAC;AAED,eAAeR,WAAW"}