@beinformed/ui 1.18.1 → 1.18.4
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.
- package/CHANGELOG.md +18 -0
- package/esm/builder/index.js.map +1 -1
- package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/esm/constants/Constants.js +1 -0
- package/esm/constants/Constants.js.map +1 -1
- package/esm/constants/LayoutHintConfig.js.map +1 -1
- package/esm/constants/LayoutHints.js.map +1 -1
- package/esm/constants/Settings.js +10 -3
- package/esm/constants/Settings.js.map +1 -1
- package/esm/constants/index.js.map +1 -1
- package/esm/exceptions/ConfigurationException.js.map +1 -1
- package/esm/exceptions/FetchException.js.map +1 -1
- package/esm/exceptions/IllegalArgumentException.js.map +1 -1
- package/esm/exceptions/IllegalReturnException.js.map +1 -1
- package/esm/exceptions/IllegalStateException.js.map +1 -1
- package/esm/exceptions/JsonParseException.js.map +1 -1
- package/esm/exceptions/MissingPropertyException.js.map +1 -1
- package/esm/exceptions/NetworkException.js.map +1 -1
- package/esm/exceptions/NotAllowedUriException.js.map +1 -1
- package/esm/exceptions/NotFoundException.js.map +1 -1
- package/esm/exceptions/ServerRequestException.js.map +1 -1
- package/esm/exceptions/ThemePropertyException.js.map +1 -1
- package/esm/exceptions/TimeoutException.js.map +1 -1
- package/esm/exceptions/UnauthorizedException.js.map +1 -1
- package/esm/exceptions/UnsupportedOperationException.js.map +1 -1
- package/esm/exceptions/index.js.map +1 -1
- package/esm/hooks/index.js.map +1 -1
- package/esm/hooks/useAllFormsOnModel.js.map +1 -1
- package/esm/hooks/useAuthentication.js.map +1 -1
- package/esm/hooks/useContent.js.map +1 -1
- package/esm/hooks/useDeepCompareEffect.js.map +1 -1
- package/esm/hooks/useForm.js.map +1 -1
- package/esm/hooks/useI18n.js.map +1 -1
- package/esm/hooks/useModal.js.map +1 -1
- package/esm/hooks/useModelCatalog.js.map +1 -1
- package/esm/hooks/useModels.js.map +1 -1
- package/esm/hooks/useModularUI.js.map +1 -1
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/hooks/useModularUIModel.js.map +1 -1
- package/esm/hooks/useModularUIRequest.js.map +1 -1
- package/esm/hooks/useNotification.js.map +1 -1
- package/esm/hooks/usePreference.js.map +1 -1
- package/esm/hooks/useProgressIndicator.js.map +1 -1
- package/esm/hooks/useRouter.js.map +1 -1
- package/esm/i18n/Locale.js.map +1 -1
- package/esm/i18n/Locales.js.map +1 -1
- package/esm/i18n/Message.js.map +1 -1
- package/esm/i18n/index.js.map +1 -1
- package/esm/i18n/languages.js.map +1 -1
- package/esm/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
- package/esm/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
- package/esm/i18n/types.js.map +1 -1
- package/esm/i18n/withMessage.js.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/models/actions/ActionCollection.js.map +1 -1
- package/esm/models/actions/ActionModel.js.map +1 -1
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/AttributeCollection.js.map +1 -1
- package/esm/models/attributes/AttributeContent.js.map +1 -1
- package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
- package/esm/models/attributes/AttributeModel.js.map +1 -1
- package/esm/models/attributes/AttributeSetModel.js.map +1 -1
- package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/esm/models/attributes/HelptextAttributeModel.js.map +1 -1
- package/esm/models/attributes/LabelAttributeModel.js.map +1 -1
- package/esm/models/attributes/MemoAttributeModel.js.map +1 -1
- package/esm/models/attributes/MoneyAttributeModel.js.map +1 -1
- package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
- package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/esm/models/attributes/StringAttributeModel.js.map +1 -1
- package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
- package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
- package/esm/models/attributes/_createAttribute.js.map +1 -1
- package/esm/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/esm/models/base/BaseCollection.js.map +1 -1
- package/esm/models/base/BaseModel.js.map +1 -1
- package/esm/models/base/ResourceCollection.js.map +1 -1
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/caseview/CaseViewModel.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
- package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
- package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
- package/esm/models/concepts/ConceptTypeDetailModel.js.map +1 -1
- package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
- package/esm/models/content/ContentIndexModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/content/ContentModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/content/ContentTypeModel.js.map +1 -1
- package/esm/models/content/SectionModel.js.map +1 -1
- package/esm/models/content/SubSectionModel.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
- package/esm/models/detail/DetailModel.js.map +1 -1
- package/esm/models/error/ErrorCollection.js.map +1 -1
- package/esm/models/error/ErrorModel.js.map +1 -1
- package/esm/models/error/ErrorResponse.js.map +1 -1
- package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
- package/esm/models/filters/BaseFilterModel.js.map +1 -1
- package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/esm/models/filters/FilterCollection.js.map +1 -1
- package/esm/models/filters/FilterModel.js.map +1 -1
- package/esm/models/filters/RangeFilterModel.js.map +1 -1
- package/esm/models/form/FormModel.js +3 -1
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js.map +1 -1
- package/esm/models/grouping/GroupingModel.js.map +1 -1
- package/esm/models/href/Href.js.map +1 -1
- package/esm/models/href/ListHref.js.map +1 -1
- package/esm/models/index.js.map +1 -1
- package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/esm/models/links/LinkCollection.js.map +1 -1
- package/esm/models/links/LinkModel.js.map +1 -1
- package/esm/models/links/normalizeLinkJSON.js.map +1 -1
- package/esm/models/list/ListDetailModel.js.map +1 -1
- package/esm/models/list/ListHeaderModel.js.map +1 -1
- package/esm/models/list/ListItemCollection.js.map +1 -1
- package/esm/models/list/ListItemModel.js.map +1 -1
- package/esm/models/list/ListModel.js +2 -2
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
- package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
- package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/esm/models/paging/PagesizeModel.js.map +1 -1
- package/esm/models/paging/PagingModel.js.map +1 -1
- package/esm/models/panels/GroupingPanelModel.js.map +1 -1
- package/esm/models/parameter/Parameter.js.map +1 -1
- package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/esm/models/resolveModel.js.map +1 -1
- package/esm/models/search/CaseSearchModel.js.map +1 -1
- package/esm/models/sorting/SortOptionModel.js.map +1 -1
- package/esm/models/sorting/SortingModel.js.map +1 -1
- package/esm/models/tab/TabModel.js.map +1 -1
- package/esm/models/taskgroup/TaskGroupCollection.js.map +1 -1
- package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/esm/models/types.js.map +1 -1
- package/esm/models/user/UserModel.js.map +1 -1
- package/esm/models/user/UserProfileModel.js.map +1 -1
- package/esm/models/user/UserServicesModel.js.map +1 -1
- package/esm/modularui/Authenticate.js +98 -20
- package/esm/modularui/Authenticate.js.map +1 -1
- package/esm/modularui/ModularUIError.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/modularui/ModularUIResponse.js.map +1 -1
- package/esm/modularui/index.js.map +1 -1
- package/esm/react/ErrorBoundary.js.map +1 -1
- package/esm/react/ErrorBoundaryFallback.js.map +1 -1
- package/esm/react/index.js.map +1 -1
- package/esm/react/utils.js.map +1 -1
- package/esm/react-client/Init.js.map +1 -1
- package/esm/react-client/client.js.map +1 -1
- package/esm/react-client/contextPath.js.map +1 -1
- package/esm/react-client/index.js.map +1 -1
- package/esm/react-client/rehydrate.js.map +1 -1
- package/esm/react-server/contextPath.js.map +1 -1
- package/esm/react-server/createSSRComplete.js.map +1 -1
- package/esm/react-server/htmlpage.js.map +1 -1
- package/esm/react-server/index.js.map +1 -1
- package/esm/react-server/renderSSRComplete.js.map +1 -1
- package/esm/react-server/renderSSRMinimal.js.map +1 -1
- package/esm/react-server/requestInformation.js.map +1 -1
- package/esm/react-server/serverNoSSR.js.map +1 -1
- package/esm/react-server/serverSSR.js.map +1 -1
- package/esm/react-server/serverUtil.js.map +1 -1
- package/esm/react-theme/ThemeProvider.js.map +1 -1
- package/esm/react-theme/createTheme.js.map +1 -1
- package/esm/react-theme/index.js.map +1 -1
- package/esm/react-theme/types.js.map +1 -1
- package/esm/react-theme/useTheme.js.map +1 -1
- package/esm/react-theme/utils/background.js.map +1 -1
- package/esm/react-theme/utils/colors.js.map +1 -1
- package/esm/react-theme/utils/contrast.js.map +1 -1
- package/esm/react-theme/utils/corners.js.map +1 -1
- package/esm/react-theme/utils/spacers.js.map +1 -1
- package/esm/react-theme/utils/themeProps.js.map +1 -1
- package/esm/redux/_i18n/actions.js.map +1 -1
- package/esm/redux/_i18n/index.js.map +1 -1
- package/esm/redux/_i18n/reducer.js.map +1 -1
- package/esm/redux/_i18n/types.js.map +1 -1
- package/esm/redux/_modularui/actions.js.map +1 -1
- package/esm/redux/_modularui/connector.js.map +1 -1
- package/esm/redux/_modularui/index.js.map +1 -1
- package/esm/redux/_modularui/middleware.js.map +1 -1
- package/esm/redux/_modularui/modularuiUtils.js.map +1 -1
- package/esm/redux/_modularui/reducer.js.map +1 -1
- package/esm/redux/_modularui/selectors.js.map +1 -1
- package/esm/redux/_modularui/types.js.map +1 -1
- package/esm/redux/_modularui/withModularUI.js.map +1 -1
- package/esm/redux/_router/actions.js.map +1 -1
- package/esm/redux/_router/connectors.js.map +1 -1
- package/esm/redux/_router/index.js.map +1 -1
- package/esm/redux/_router/middleware.js.map +1 -1
- package/esm/redux/_router/reducer.js.map +1 -1
- package/esm/redux/_router/types.js.map +1 -1
- package/esm/redux/actions/Application.js.map +1 -1
- package/esm/redux/actions/Authorization.js.map +1 -1
- package/esm/redux/actions/Error.js.map +1 -1
- package/esm/redux/actions/Form.js.map +1 -1
- package/esm/redux/actions/FormAttributeSet.js.map +1 -1
- package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/esm/redux/actions/FormAutosave.js.map +1 -1
- package/esm/redux/actions/FormAutosubmit.js.map +1 -1
- package/esm/redux/actions/FormValidations.js.map +1 -1
- package/esm/redux/actions/Modals.js.map +1 -1
- package/esm/redux/actions/Notification.js.map +1 -1
- package/esm/redux/actions/Preferences.js +2 -2
- package/esm/redux/actions/Preferences.js.map +1 -1
- package/esm/redux/actions/ProgressIndicator.js.map +1 -1
- package/esm/redux/actions/SignIn.js.map +1 -1
- package/esm/redux/actions/SignOut.js.map +1 -1
- package/esm/redux/actions/index.js.map +1 -1
- package/esm/redux/connectors/Application.js.map +1 -1
- package/esm/redux/connectors/Breadcrumb.js.map +1 -1
- package/esm/redux/connectors/CaseView.js.map +1 -1
- package/esm/redux/connectors/ConceptDetail.js.map +1 -1
- package/esm/redux/connectors/ContentBrowser.js.map +1 -1
- package/esm/redux/connectors/ContentDetail.js.map +1 -1
- package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
- package/esm/redux/connectors/Form.js.map +1 -1
- package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
- package/esm/redux/connectors/ListDetail.js.map +1 -1
- package/esm/redux/connectors/Modal.js.map +1 -1
- package/esm/redux/connectors/ModelCatalog.js.map +1 -1
- package/esm/redux/connectors/Notification.js.map +1 -1
- package/esm/redux/connectors/PanelRenderer.js.map +1 -1
- package/esm/redux/connectors/Preferences.js.map +1 -1
- package/esm/redux/connectors/Progress.js.map +1 -1
- package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
- package/esm/redux/connectors/QuickSearch.js.map +1 -1
- package/esm/redux/connectors/SignIn.js.map +1 -1
- package/esm/redux/connectors/SignOut.js.map +1 -1
- package/esm/redux/connectors/Tab.js.map +1 -1
- package/esm/redux/connectors/index.js.map +1 -1
- package/esm/redux/index.js.map +1 -1
- package/esm/redux/reducers/AuthReducer.js.map +1 -1
- package/esm/redux/reducers/ErrorReducer.js.map +1 -1
- package/esm/redux/reducers/ModalsReducer.js.map +1 -1
- package/esm/redux/reducers/NotificationReducer.js.map +1 -1
- package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
- package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/esm/redux/reducers/createReducer.js.map +1 -1
- package/esm/redux/reducers/index.js.map +1 -1
- package/esm/redux/store/beforeRenderHooks.js.map +1 -1
- package/esm/redux/store/configureStore.js.map +1 -1
- package/esm/redux/types.js.map +1 -1
- package/esm/utils/browser/Cache.js.map +1 -1
- package/esm/utils/browser/Cookies.js.map +1 -1
- package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
- package/esm/utils/fetch/serverFetch.js.map +1 -1
- package/esm/utils/fetch/types.js.map +1 -1
- package/esm/utils/fetch/universalFetch.js.map +1 -1
- package/esm/utils/fetch/xhr.js.map +1 -1
- package/esm/utils/helpers/checkResource.js.map +1 -1
- package/esm/utils/helpers/createHash.js.map +1 -1
- package/esm/utils/helpers/createUUID.js.map +1 -1
- package/esm/utils/helpers/objects.js.map +1 -1
- package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
- package/esm/utils/helpers/text.js.map +1 -1
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/number/DecimalFormat.js.map +1 -1
- package/esm/utils/number/formatValue.js.map +1 -1
- package/esm/utils/number/parseNumbers.js.map +1 -1
- package/lib/builder/index.js.map +1 -1
- package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/lib/constants/Constants.js +3 -1
- package/lib/constants/Constants.js.flow +1 -0
- package/lib/constants/Constants.js.map +1 -1
- package/lib/constants/LayoutHintConfig.js.map +1 -1
- package/lib/constants/LayoutHints.js.map +1 -1
- package/lib/constants/Settings.js +13 -3
- package/lib/constants/Settings.js.flow +8 -3
- package/lib/constants/Settings.js.map +1 -1
- package/lib/constants/index.js.map +1 -1
- package/lib/exceptions/ConfigurationException.js.map +1 -1
- package/lib/exceptions/FetchException.js.map +1 -1
- package/lib/exceptions/IllegalArgumentException.js.map +1 -1
- package/lib/exceptions/IllegalReturnException.js.map +1 -1
- package/lib/exceptions/IllegalStateException.js.map +1 -1
- package/lib/exceptions/JsonParseException.js.map +1 -1
- package/lib/exceptions/MissingPropertyException.js.map +1 -1
- package/lib/exceptions/NetworkException.js.map +1 -1
- package/lib/exceptions/NotAllowedUriException.js.map +1 -1
- package/lib/exceptions/NotFoundException.js.map +1 -1
- package/lib/exceptions/ServerRequestException.js.map +1 -1
- package/lib/exceptions/ThemePropertyException.js.map +1 -1
- package/lib/exceptions/TimeoutException.js.map +1 -1
- package/lib/exceptions/UnauthorizedException.js.map +1 -1
- package/lib/exceptions/UnsupportedOperationException.js.map +1 -1
- package/lib/exceptions/index.js.map +1 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useAllFormsOnModel.js.map +1 -1
- package/lib/hooks/useAuthentication.js.map +1 -1
- package/lib/hooks/useContent.js.map +1 -1
- package/lib/hooks/useDeepCompareEffect.js.map +1 -1
- package/lib/hooks/useForm.js.map +1 -1
- package/lib/hooks/useI18n.js.map +1 -1
- package/lib/hooks/useModal.js.map +1 -1
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/lib/hooks/useModels.js.map +1 -1
- package/lib/hooks/useModularUI.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/hooks/useModularUIModel.js.map +1 -1
- package/lib/hooks/useModularUIRequest.js.map +1 -1
- package/lib/hooks/useNotification.js.map +1 -1
- package/lib/hooks/usePreference.js.map +1 -1
- package/lib/hooks/useProgressIndicator.js.map +1 -1
- package/lib/hooks/useRouter.js.map +1 -1
- package/lib/i18n/Locale.js.map +1 -1
- package/lib/i18n/Locales.js.map +1 -1
- package/lib/i18n/Message.js.map +1 -1
- package/lib/i18n/index.js.map +1 -1
- package/lib/i18n/languages.js.map +1 -1
- package/lib/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
- package/lib/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
- package/lib/i18n/types.js.map +1 -1
- package/lib/i18n/withMessage.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/AttributeCollection.js.map +1 -1
- package/lib/models/attributes/AttributeContent.js.map +1 -1
- package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/models/attributes/AttributeModel.js.map +1 -1
- package/lib/models/attributes/AttributeSetModel.js.map +1 -1
- package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
- package/lib/models/attributes/LabelAttributeModel.js.map +1 -1
- package/lib/models/attributes/MemoAttributeModel.js.map +1 -1
- package/lib/models/attributes/MoneyAttributeModel.js.map +1 -1
- package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
- package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/lib/models/attributes/StringAttributeModel.js.map +1 -1
- package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
- package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
- package/lib/models/attributes/_createAttribute.js.map +1 -1
- package/lib/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/lib/models/base/BaseCollection.js.map +1 -1
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceCollection.js.map +1 -1
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
- package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/content/ContentIndexModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/ContentModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/content/ContentTypeModel.js.map +1 -1
- package/lib/models/content/SectionModel.js.map +1 -1
- package/lib/models/content/SubSectionModel.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
- package/lib/models/detail/DetailModel.js.map +1 -1
- package/lib/models/error/ErrorCollection.js.map +1 -1
- package/lib/models/error/ErrorModel.js.map +1 -1
- package/lib/models/error/ErrorResponse.js.map +1 -1
- package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/lib/models/filters/FilterCollection.js.map +1 -1
- package/lib/models/filters/FilterModel.js.map +1 -1
- package/lib/models/filters/RangeFilterModel.js.map +1 -1
- package/lib/models/form/FormModel.js +3 -1
- package/lib/models/form/FormModel.js.flow +1 -1
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/grouping/GroupingModel.js.map +1 -1
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/href/ListHref.js.map +1 -1
- package/lib/models/index.js.map +1 -1
- package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/lib/models/links/LinkCollection.js.map +1 -1
- package/lib/models/links/LinkModel.js.map +1 -1
- package/lib/models/links/normalizeLinkJSON.js.map +1 -1
- package/lib/models/list/ListDetailModel.js.map +1 -1
- package/lib/models/list/ListHeaderModel.js.map +1 -1
- package/lib/models/list/ListItemCollection.js.map +1 -1
- package/lib/models/list/ListItemModel.js.map +1 -1
- package/lib/models/list/ListModel.js +2 -2
- package/lib/models/list/ListModel.js.flow +1 -2
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/list/__tests__/ListModel.spec.js.flow +13 -0
- package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
- package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
- package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/lib/models/paging/PagesizeModel.js.map +1 -1
- package/lib/models/paging/PagingModel.js.map +1 -1
- package/lib/models/panels/GroupingPanelModel.js.map +1 -1
- package/lib/models/parameter/Parameter.js.map +1 -1
- package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/lib/models/resolveModel.js.map +1 -1
- package/lib/models/search/CaseSearchModel.js.map +1 -1
- package/lib/models/sorting/SortOptionModel.js.map +1 -1
- package/lib/models/sorting/SortingModel.js.map +1 -1
- package/lib/models/tab/TabModel.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupCollection.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/lib/models/types.js.map +1 -1
- package/lib/models/user/UserModel.js.map +1 -1
- package/lib/models/user/UserProfileModel.js.map +1 -1
- package/lib/models/user/UserServicesModel.js.map +1 -1
- package/lib/modularui/Authenticate.js +99 -20
- package/lib/modularui/Authenticate.js.flow +72 -18
- package/lib/modularui/Authenticate.js.map +1 -1
- package/lib/modularui/ModularUIError.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/ModularUIResponse.js.map +1 -1
- package/lib/modularui/index.js.map +1 -1
- package/lib/react/ErrorBoundary.js.map +1 -1
- package/lib/react/ErrorBoundaryFallback.js.map +1 -1
- package/lib/react/index.js.map +1 -1
- package/lib/react/utils.js.map +1 -1
- package/lib/react-client/Init.js.map +1 -1
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-client/contextPath.js.map +1 -1
- package/lib/react-client/index.js.map +1 -1
- package/lib/react-client/rehydrate.js.map +1 -1
- package/lib/react-server/__tests__/serverUtil.spec.js.flow +6 -4
- package/lib/react-server/contextPath.js.map +1 -1
- package/lib/react-server/createSSRComplete.js.map +1 -1
- package/lib/react-server/htmlpage.js.map +1 -1
- package/lib/react-server/index.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRMinimal.js.map +1 -1
- package/lib/react-server/requestInformation.js.map +1 -1
- package/lib/react-server/serverNoSSR.js.map +1 -1
- package/lib/react-server/serverSSR.js.map +1 -1
- package/lib/react-server/serverUtil.js.map +1 -1
- package/lib/react-theme/ThemeProvider.js.map +1 -1
- package/lib/react-theme/createTheme.js.map +1 -1
- package/lib/react-theme/index.js.map +1 -1
- package/lib/react-theme/types.js.map +1 -1
- package/lib/react-theme/useTheme.js.map +1 -1
- package/lib/react-theme/utils/background.js.map +1 -1
- package/lib/react-theme/utils/colors.js.map +1 -1
- package/lib/react-theme/utils/contrast.js.map +1 -1
- package/lib/react-theme/utils/corners.js.map +1 -1
- package/lib/react-theme/utils/spacers.js.map +1 -1
- package/lib/react-theme/utils/themeProps.js.map +1 -1
- package/lib/redux/_i18n/actions.js.map +1 -1
- package/lib/redux/_i18n/index.js.map +1 -1
- package/lib/redux/_i18n/reducer.js.map +1 -1
- package/lib/redux/_i18n/types.js.map +1 -1
- package/lib/redux/_modularui/actions.js.map +1 -1
- package/lib/redux/_modularui/connector.js.map +1 -1
- package/lib/redux/_modularui/index.js.map +1 -1
- package/lib/redux/_modularui/middleware.js.map +1 -1
- package/lib/redux/_modularui/modularuiUtils.js.map +1 -1
- package/lib/redux/_modularui/reducer.js.map +1 -1
- package/lib/redux/_modularui/selectors.js.map +1 -1
- package/lib/redux/_modularui/types.js.map +1 -1
- package/lib/redux/_modularui/withModularUI.js.map +1 -1
- package/lib/redux/_router/actions.js.map +1 -1
- package/lib/redux/_router/connectors.js.map +1 -1
- package/lib/redux/_router/index.js.map +1 -1
- package/lib/redux/_router/middleware.js.map +1 -1
- package/lib/redux/_router/reducer.js.map +1 -1
- package/lib/redux/_router/types.js.map +1 -1
- package/lib/redux/actions/Application.js.map +1 -1
- package/lib/redux/actions/Authorization.js.map +1 -1
- package/lib/redux/actions/Error.js.map +1 -1
- package/lib/redux/actions/Form.js.map +1 -1
- package/lib/redux/actions/FormAttributeSet.js.map +1 -1
- package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/lib/redux/actions/FormAutosave.js.map +1 -1
- package/lib/redux/actions/FormAutosubmit.js.map +1 -1
- package/lib/redux/actions/FormValidations.js.map +1 -1
- package/lib/redux/actions/Modals.js.map +1 -1
- package/lib/redux/actions/Notification.js.map +1 -1
- package/lib/redux/actions/Preferences.js +1 -1
- package/lib/redux/actions/Preferences.js.flow +7 -3
- package/lib/redux/actions/Preferences.js.map +1 -1
- package/lib/redux/actions/ProgressIndicator.js.map +1 -1
- package/lib/redux/actions/SignIn.js.map +1 -1
- package/lib/redux/actions/SignOut.js.map +1 -1
- package/lib/redux/actions/index.js.map +1 -1
- package/lib/redux/connectors/Application.js.map +1 -1
- package/lib/redux/connectors/Breadcrumb.js.map +1 -1
- package/lib/redux/connectors/CaseView.js.map +1 -1
- package/lib/redux/connectors/ConceptDetail.js.map +1 -1
- package/lib/redux/connectors/ContentBrowser.js.map +1 -1
- package/lib/redux/connectors/ContentDetail.js.map +1 -1
- package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
- package/lib/redux/connectors/Form.js.map +1 -1
- package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
- package/lib/redux/connectors/ListDetail.js.map +1 -1
- package/lib/redux/connectors/Modal.js.map +1 -1
- package/lib/redux/connectors/ModelCatalog.js.map +1 -1
- package/lib/redux/connectors/Notification.js.map +1 -1
- package/lib/redux/connectors/PanelRenderer.js.map +1 -1
- package/lib/redux/connectors/Preferences.js.map +1 -1
- package/lib/redux/connectors/Progress.js.map +1 -1
- package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
- package/lib/redux/connectors/QuickSearch.js.map +1 -1
- package/lib/redux/connectors/SignIn.js.map +1 -1
- package/lib/redux/connectors/SignOut.js.map +1 -1
- package/lib/redux/connectors/Tab.js.map +1 -1
- package/lib/redux/connectors/index.js.map +1 -1
- package/lib/redux/index.js.map +1 -1
- package/lib/redux/reducers/AuthReducer.js.map +1 -1
- package/lib/redux/reducers/ErrorReducer.js.map +1 -1
- package/lib/redux/reducers/ModalsReducer.js.map +1 -1
- package/lib/redux/reducers/NotificationReducer.js.map +1 -1
- package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
- package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/lib/redux/reducers/createReducer.js.map +1 -1
- package/lib/redux/reducers/index.js.map +1 -1
- package/lib/redux/store/beforeRenderHooks.js.map +1 -1
- package/lib/redux/store/configureStore.js.map +1 -1
- package/lib/redux/types.js.map +1 -1
- package/lib/utils/browser/Cache.js.map +1 -1
- package/lib/utils/browser/Cookies.js.map +1 -1
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/utils/fetch/serverFetch.js.map +1 -1
- package/lib/utils/fetch/types.js.map +1 -1
- package/lib/utils/fetch/universalFetch.js.map +1 -1
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/checkResource.js.map +1 -1
- package/lib/utils/helpers/createHash.js.map +1 -1
- package/lib/utils/helpers/createUUID.js.map +1 -1
- package/lib/utils/helpers/objects.js.map +1 -1
- package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
- package/lib/utils/helpers/text.js.map +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/number/DecimalFormat.js.map +1 -1
- package/lib/utils/number/formatValue.js.map +1 -1
- package/lib/utils/number/parseNumbers.js.map +1 -1
- package/package.json +10 -10
- package/src/constants/Constants.js +1 -0
- package/src/constants/Settings.js +8 -3
- package/src/models/form/FormModel.js +1 -1
- package/src/models/list/ListModel.js +1 -2
- package/src/models/list/__tests__/ListModel.spec.js +13 -0
- package/src/models/list/__tests__/related-contributions.json +42 -0
- package/src/models/list/__tests__/related-data.json +32 -0
- package/src/modularui/Authenticate.js +72 -18
- package/src/react-server/__tests__/serverUtil.spec.js +6 -4
- package/src/redux/actions/Preferences.js +7 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Cache.js","names":["RESOURCE_CACHE_PREFIX","Cache","sessionStorage","_cache","requestArgs","resourceKey","url","params","locale","key","cache","cacheItem","getItem","JSON","parse","error","value","stringValue","setItem","addItem","removeItem","pattern","k","RegExp","test","forEach","clear","callback","window","addEventListener","e","sendSessionStorage","receiveSessionStorage","length","localStorage","Date","now","toString","newData","newValue","hasItem"],"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,"
|
|
1
|
+
{"version":3,"file":"Cookies.js","names":["Cookies","BASE","getCookie","name","get","setCookie","value","days","sameSite","secure","attributes","path","expires","set","clearCookie","remove"],"sources":["../../../src/utils/browser/Cookies.js"],"sourcesContent":["// @flow\nimport Cookies from \"js-cookie\";\n\nimport { BASE } from \"../../constants/Constants\";\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 */\nconst getCookie = (name: string): null | string => {\n return Cookies.get(name);\n};\n\n/**\n */\nconst setCookie = (\n name: string,\n value: any,\n { days, sameSite = \"Strict\", secure }: CookieOptions = {}\n) => {\n const attributes: CookieAttributes = { path: BASE };\n if (days) {\n attributes.expires = days;\n }\n if (sameSite) {\n attributes.sameSite = sameSite;\n }\n if (secure) {\n attributes.secure = secure;\n }\n\n Cookies.set(name, value, attributes);\n};\n\n/**\n */\nconst clearCookie = (name: string) => {\n Cookies.remove(name, { path: BASE });\n};\n\nexport { getCookie, setCookie, clearCookie };\n"],"mappings":"AACA,OAAOA,OAAP,MAAoB,WAApB;AAEA,SAASC,IAAT,QAAqB,2BAArB;;AAeA;AACA;AACA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD,EAAiC;EACjD,OAAOH,OAAO,CAACI,GAAR,CAAYD,IAAZ,CAAP;AACD,CAFD;AAIA;AACA;;;AACA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAChBF,IADgB,EAEhBG,KAFgB,EAIb;EAAA,+EADoD,EACpD;EAAA,IADDC,IACC,QADDA,IACC;EAAA,yBADKC,QACL;EAAA,IADKA,QACL,8BADgB,QAChB;EAAA,IAD0BC,MAC1B,QAD0BA,MAC1B;;EACH,IAAMC,UAA4B,GAAG;IAAEC,IAAI,EAAEV;EAAR,CAArC;;EACA,IAAIM,IAAJ,EAAU;IACRG,UAAU,CAACE,OAAX,GAAqBL,IAArB;EACD;;EACD,IAAIC,QAAJ,EAAc;IACZE,UAAU,CAACF,QAAX,GAAsBA,QAAtB;EACD;;EACD,IAAIC,MAAJ,EAAY;IACVC,UAAU,CAACD,MAAX,GAAoBA,MAApB;EACD;;EAEDT,OAAO,CAACa,GAAR,CAAYV,IAAZ,EAAkBG,KAAlB,EAAyBI,UAAzB;AACD,CAjBD;AAmBA;AACA;;;AACA,IAAMI,WAAW,GAAG,SAAdA,WAAc,CAACX,IAAD,EAAkB;EACpCH,OAAO,CAACe,MAAR,CAAeZ,IAAf,EAAqB;IAAEQ,IAAI,EAAEV;EAAR,CAArB;AACD,CAFD;;AAIA,SAASC,SAAT,EAAoBG,SAApB,EAA+BS,WAA/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/datetime/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","isoFormat","_isoFormat","locale","weekStartsOn","firstWeekContainsDate","date","inputFormat","getOptions","Date","targetFormat","parsedDate","toDate","getLocale","sourceFormat","toISO","realDate","formattedValue","isOutsideRange","replace","toUpperCase","inputDate","afterISODate","isSame","beforeISODate","compareDate","getTime","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","amount","year","month","hour","minute","second","milliseconds","hours","minutes","seconds","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil"],"mappings":"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","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"],"file":"DateTimeUtil.js"}
|
|
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","isoFormat","_isoFormat","locale","weekStartsOn","firstWeekContainsDate","date","inputFormat","getOptions","Date","targetFormat","parsedDate","toDate","getLocale","sourceFormat","toISO","realDate","formattedValue","isOutsideRange","replace","toUpperCase","inputDate","afterISODate","isSame","beforeISODate","compareDate","getTime","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","amount","year","month","hour","minute","second","milliseconds","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 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"serverFetch.js","names":["BASE","FetchException","serverFetch","args","urlNoBase","url","replace","params","data","dataFetcher","fetch","jsonData","JSON","parse","error","reject","resolve"],"sources":["../../../src/utils/fetch/serverFetch.js"],"sourcesContent":["// @flow\nimport { BASE } from \"../../constants/Constants\";\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(BASE, \"\");\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,IAAT,QAAqB,2BAArB;AACA,SAASC,cAAT,QAA+B,kBAA/B;;AAIA;AACA;AACA;AACA,eAAe,SAASC,WAAT,CAAqBC,IAArB,EAAyD;EAAA;;EACtE;EACA,IAAMC,SAAS,GAAG,qCAAAD,IAAI,CAACE,GAAL,iBAAkB,MAAlB,IACdF,IAAI,CAACE,GADS,GAEdF,IAAI,CAACE,GAAL,CAASC,OAAT,CAAiBN,IAAjB,EAAuB,EAAvB,CAFJ;EAGA,IAAMO,MAAM,GAAGJ,IAAI,CAACI,MAAL,GACXJ,IAAI,CAACI,MAAL,CAAYD,OAAZ,CAAoB,qBAApB,EAA2C,EAA3C,CADW,GAEX,EAFJ;EAGA,IAAMD,GAAG,GAAGE,MAAM,KAAK,EAAX,GAAgBH,SAAhB,iDAA+BA,SAA/B,wBAA4CG,MAA5C,CAAZ;EAEA,IAAMC,IAAI,GAAGC,WAAW,CAACC,KAAZ,CAAkBL,GAAlB,EAAuBF,IAAvB,CAAb;;EAEA,IAAI;IACF,IAAMQ,QAAQ,GAAGC,IAAI,CAACC,KAAL,CAAWL,IAAX,CAAjB;;IAEA,IAAIG,QAAQ,CAACG,KAAb,EAAoB;MAClB,OAAO,SAAQC,MAAR,CAAe,IAAId,cAAJ,CAAmBU,QAAnB,EAA6B,IAA7B,EAAmCR,IAAnC,CAAf,CAAP;IACD;;IAED,OAAO,SAAQa,OAAR,CAAgBL,QAAhB,CAAP;EACD,CARD,CAQE,OAAOG,KAAP,EAAc;IACd,OAAO,SAAQC,MAAR,CAAeD,KAAf,CAAP;EACD;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/utils/fetch/types.js"],"sourcesContent":["// @flow\nimport typeof { HTTP_METHODS } from \"../../constants/Constants\";\nimport type { ModularUIModel } from \"../../models/types\";\n\nexport type RequestURLOptions = {\n url: string,\n};\nexport type RequestBaseOptions = {\n method?: $Keys<HTTP_METHODS>,\n params?: string,\n data?: string | { [key: string]: string },\n timeout?: number,\n responseType?: string,\n headers?: {\n [headerName: string]: string,\n Accept?: string,\n \"Accept-Language\"?: string,\n \"Content-Type\"?: string,\n \"x-filename\"?: string,\n \"x-filesize\"?: string,\n },\n events?: { [eventName: string]: () => void },\n onProgress?: ProgressEventHandler,\n includeContext?: boolean,\n locale?: string,\n cache?: boolean,\n childmodels?: boolean,\n isValidationRequest?: boolean,\n targetModel?: Class<ModularUIModel>,\n updateModel?: ModularUIModel,\n isReload?: boolean,\n removeOnUnmount?: boolean,\n};\nexport type RequestOptions = { ...RequestURLOptions, ...RequestBaseOptions };\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"universalFetch.js","names":["isPlainObject","IS_SYNC","USE_CACHE","serverFetch","xhr","Cache","IS_FETCHING","waitForCachedItem","cacheKey","TIMEOUT","CHECK_TIMEOUT","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, USE_CACHE } from \"../../constants/Constants\";\nimport serverFetch from \"./serverFetch\";\nimport xhr from \"./xhr\";\nimport Cache from \"../browser/Cache\";\n\nimport type { RequestOptions } from \"./types\";\n\ntype CachedResponse = string | { ... };\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) => {\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) => {\n if (USE_CACHE && 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 (USE_CACHE && 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 */\nexport default function universalFetch(\n args: RequestOptions\n): Promise<CachedResponse> | Promise<?(string | { ... })> {\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"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/fetch/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","options","_options","_attempts","_xmlhttp","xmlhttp","attempts","url","params","aUrl","split","data","method","GET","timeout","responseType","onProgress","events","baseHeaders","Accept","headers","reject","responseJSON","status","isReload","response","getResponseHeader","JSON","parse","error","resolve","getResponse","errorHandler","forEach","eventType","addEventListener","timeoutHandler","responseHandler","eventName","open","hasItem","withCredentials","basicToken","getItem","setRequestHeader","headerName","send","stringData","XMLHttpRequest","setEventListeners","openConnection","setBasicAuthentication","setCustomHeaders","setOtherOptions","sendData","setXMLHttpRequest","fetch","validateInputArguments","args","toString","xhr"],"mappings":"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","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() {\n return this._xmlhttp;\n }\n\n /**\n */\n set xmlhttp(xmlhttp) {\n this._xmlhttp = xmlhttp;\n }\n\n /**\n */\n get options() {\n return this._options;\n }\n\n /**\n */\n set options(options: RequestOptions) {\n this._options = options;\n }\n\n /**\n */\n get attempts() {\n return this._attempts;\n }\n\n /**\n */\n set attempts(attempts) {\n this._attempts = attempts;\n }\n\n /**\n * Create and fix url when params or both querystring and params exist.\n */\n get url() {\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() {\n return this.options.params || \"\";\n }\n\n /**\n */\n get data() {\n return this.options.data || null;\n }\n\n /**\n */\n get method() {\n return this.options.method || HTTP_METHODS.GET;\n }\n\n /**\n */\n get timeout() {\n return this.options.timeout || getSetting(\"XHR_TIMEOUT_MS\", 300000);\n }\n\n /**\n */\n get responseType() {\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() {\n return this.options.events || {};\n }\n\n /**\n */\n get headers() {\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) {\n return reject(new TimeoutException(this.url, this.method));\n }\n\n /**\n */\n errorHandler(reject, responseJSON = null) {\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() {\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, reject) {\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, reject) {\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) {\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() {\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() {\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"],"file":"xhr.js"}
|
|
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","options","_options","_attempts","_xmlhttp","xmlhttp","attempts","url","params","aUrl","split","data","method","GET","timeout","responseType","onProgress","events","baseHeaders","Accept","headers","reject","responseJSON","status","isReload","response","getResponseHeader","JSON","parse","error","resolve","getResponse","errorHandler","forEach","eventType","addEventListener","timeoutHandler","responseHandler","eventName","open","hasItem","withCredentials","basicToken","getItem","setRequestHeader","headerName","send","stringData","XMLHttpRequest","setEventListeners","openConnection","setBasicAuthentication","setCustomHeaders","setOtherOptions","sendData","setXMLHttpRequest","fetch","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() {\n return this._xmlhttp;\n }\n\n /**\n */\n set xmlhttp(xmlhttp) {\n this._xmlhttp = xmlhttp;\n }\n\n /**\n */\n get options() {\n return this._options;\n }\n\n /**\n */\n set options(options: RequestOptions) {\n this._options = options;\n }\n\n /**\n */\n get attempts() {\n return this._attempts;\n }\n\n /**\n */\n set attempts(attempts) {\n this._attempts = attempts;\n }\n\n /**\n * Create and fix url when params or both querystring and params exist.\n */\n get url() {\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() {\n return this.options.params || \"\";\n }\n\n /**\n */\n get data() {\n return this.options.data || null;\n }\n\n /**\n */\n get method() {\n return this.options.method || HTTP_METHODS.GET;\n }\n\n /**\n */\n get timeout() {\n return this.options.timeout || getSetting(\"XHR_TIMEOUT_MS\", 300000);\n }\n\n /**\n */\n get responseType() {\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() {\n return this.options.events || {};\n }\n\n /**\n */\n get headers() {\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) {\n return reject(new TimeoutException(this.url, this.method));\n }\n\n /**\n */\n errorHandler(reject, responseJSON = null) {\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() {\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, reject) {\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, reject) {\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) {\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() {\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() {\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,"
|
|
1
|
+
{"version":3,"file":"checkResource.js","names":["Href","resourceExists","url","fullUrl","absolutehref","xhr","XMLHttpRequest","open","setRequestHeader","send","status","resourceRedirectsToSecureLogin","responseURL"],"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 fullUrl = `${BASE}/${url}`.replace(/\\/\\//g, \"/\");\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.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.send();\n\n const responseURL = xhr.responseURL ?? \"\";\n\n return xhr.status === 400 && responseURL.endsWith(\"/secureLogin\");\n};\n"],"mappings":";AACA,OAAOA,IAAP,MAAiB,wBAAjB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,GAAD,EAAiC;EAC7D,IAAMC,OAAO,GAAG,IAAIH,IAAJ,CAASE,GAAT,EAAcE,YAA9B,CAD6D,CAG7D;;EAEA,IAAMC,GAAG,GAAG,IAAIC,cAAJ,EAAZ;EACAD,GAAG,CAACE,IAAJ,CAAS,MAAT,EAAiBJ,OAAjB,EAA0B,KAA1B;EACAE,GAAG,CAACG,gBAAJ,CAAqB,QAArB,EAA+B,kBAA/B;EACAH,GAAG,CAACG,gBAAJ,CAAqB,cAArB,EAAqC,kBAArC;EACAH,GAAG,CAACI,IAAJ;EAEA,OAAOJ,GAAG,CAACK,MAAJ,KAAe,GAAtB;AACD,CAZM;AAcP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,CAACT,GAAD,EAAiC;EAAA;;EAC7E,IAAMC,OAAO,GAAG,IAAIH,IAAJ,CAASE,GAAT,EAAcE,YAA9B;EAEA,IAAMC,GAAG,GAAG,IAAIC,cAAJ,EAAZ;EACAD,GAAG,CAACE,IAAJ,CAAS,MAAT,EAAiBJ,OAAjB,EAA0B,KAA1B;EACAE,GAAG,CAACG,gBAAJ,CAAqB,QAArB,EAA+B,kBAA/B;EACAH,GAAG,CAACG,gBAAJ,CAAqB,cAArB,EAAqC,kBAArC;EACAH,GAAG,CAACI,IAAJ;EAEA,IAAMG,WAAW,uBAAGP,GAAG,CAACO,WAAP,+DAAsB,EAAvC;EAEA,OAAOP,GAAG,CAACK,MAAJ,KAAe,GAAf,IAAsB,0BAAAE,WAAW,MAAX,CAAAA,WAAW,EAAU,cAAV,CAAxC;AACD,CAZM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD,EAAyB;EAC1C,IAAI,CAACA,GAAL,EAAU,OAAO,CAAP;EAEV,IAAIC,IAAI,GAAG,CAAX;;EACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,GAAG,CAACG,MAAxB,EAAgCD,CAAC,EAAjC,EAAqC;IACnCD,IAAI,GAAG,CAACA,IAAI,IAAI,CAAT,IAAcA,IAAd,GAAqBD,GAAG,CAACI,UAAJ,CAAeF,CAAf,CAA5B;IACAD,IAAI,GAAGA,IAAI,GAAGA,IAAd;EACD;;EACD,OAAOA,IAAP;AACD,CATD;AAWA;AACA;;;AACA,IAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,IAAD,EAAwB;EACjD,IAAMC,UAAU,GAAGD,IAAI,CAACL,IAAL,GACf,CAACK,IAAI,CAACE,QAAL,EAAD,EAAkBF,IAAI,CAACL,IAAvB,EAA6BQ,IAA7B,CAAkC,GAAlC,CADe,GAEfH,IAAI,CAACE,QAAL,EAFJ;EAIA,OAAOT,UAAU,CAACQ,UAAD,CAAjB;AACD,CAND;;AAQA,SAASR,UAAT,EAAqBM,kBAArB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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,IAAMA,UAAU,GAAG,SAAbA,UAAa,GAAc;EAC/B,IAAIC,CAAC,GAAG,IAAIC,IAAJ,GAAWC,OAAX,EAAR;EACA,OAAO,uCAAuCC,OAAvC,CAA+C,OAA/C,EAAwD,UAACC,CAAD,EAAO;IACpE,IAAMC,CAAC,GAAG,CAACL,CAAC,GAAGM,IAAI,CAACC,MAAL,KAAgB,EAArB,IAA2B,EAA3B,GAAgC,CAA1C;IACAP,CAAC,GAAGM,IAAI,CAACE,KAAL,CAAWR,CAAC,GAAG,EAAf,CAAJ;IACA,OAAO,CAACI,CAAC,KAAK,GAAN,GAAYC,CAAZ,GAAiBA,CAAC,GAAG,GAAL,GAAY,GAA7B,EAAkCI,QAAlC,CAA2C,EAA3C,CAAP;EACD,CAJM,CAAP;AAKD,CAPD;;AASA,eAAeV,UAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"objects.js","names":["_has","_isPlainObject","isPlainObject","value","has","obj","propName","get","path","defaultValue","String","split","reduce","acc","v"],"sources":["../../../src/utils/helpers/objects.js"],"sourcesContent":["// @flow\nimport _has from \"lodash/has\";\nimport _isPlainObject from \"lodash/isPlainObject\";\n\n/**\n */\nexport const isPlainObject = (value: any): boolean => _isPlainObject(value);\n\n/**\n */\nexport const has = (obj: any, propName: string): boolean => {\n if (!isPlainObject(obj)) {\n return false;\n }\n\n return _has(obj, propName);\n};\n\n/**\n * Retrieve property of an object\n * When path is only one deep better use optional chaining\n */\nexport const get = (obj: { ... }, path: string, defaultValue?: any): any =>\n String(path)\n .split(\".\")\n .reduce((acc, v) => {\n if (typeof acc === \"object\") {\n return acc[v] ?? defaultValue;\n }\n return defaultValue;\n }, obj);\n"],"mappings":";AACA,OAAOA,IAAP,MAAiB,YAAjB;AACA,OAAOC,cAAP,MAA2B,sBAA3B;AAEA;AACA;;AACA,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD;EAAA,OAAyBF,cAAc,CAACE,KAAD,CAAvC;AAAA,CAAtB;AAEP;AACA;;AACA,OAAO,IAAMC,GAAG,GAAG,SAANA,GAAM,CAACC,GAAD,EAAWC,QAAX,EAAyC;EAC1D,IAAI,CAACJ,aAAa,CAACG,GAAD,CAAlB,EAAyB;IACvB,OAAO,KAAP;EACD;;EAED,OAAOL,IAAI,CAACK,GAAD,EAAMC,QAAN,CAAX;AACD,CANM;AAQP;AACA;AACA;AACA;;AACA,OAAO,IAAMC,GAAG,GAAG,SAANA,GAAM,CAACF,GAAD,EAAeG,IAAf,EAA6BC,YAA7B;EAAA,OACjBC,MAAM,CAACF,IAAD,CAAN,CACGG,KADH,CACS,GADT,EAEGC,MAFH,CAEU,UAACC,GAAD,EAAMC,CAAN,EAAY;IAClB,IAAI,QAAOD,GAAP,MAAe,QAAnB,EAA6B;MAAA;;MAC3B,iBAAOA,GAAG,CAACC,CAAD,CAAV,2CAAiBL,YAAjB;IACD;;IACD,OAAOA,YAAP;EACD,CAPH,EAOKJ,GAPL,CADiB;AAAA,CAAZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sanitizeHtml.js","names":["he","IllegalArgumentException","properEntityEncoding","html","escapedGt","replace","escapedLt","properEntities","encode","decode","decimal","unescapedGt","removeUnwantedHtml","options","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) => {\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,EAAP,MAAe,IAAf;AAEA,SAASC,wBAAT,QAAyC,kBAAzC;;AAMA;AACA;AACA;AACA;AACA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,IAAD,EAAU;EACrC,IAAMC,SAAS,GAAGD,IAAI,CAACE,OAAL,CAAa,IAAb,EAAmB,GAAnB,CAAlB;EACA,IAAMC,SAAS,GAAGF,SAAS,CAACC,OAAV,CAAkB,IAAlB,EAAwB,GAAxB,CAAlB;EAEA,IAAME,cAAc,GAAGP,EAAE,CAACQ,MAAH,CAAUR,EAAE,CAACS,MAAH,CAAUH,SAAV,CAAV,EAAgC;IACrDI,OAAO,EAAE;EAD4C,CAAhC,CAAvB;EAIA,IAAMC,WAAW,GAAGJ,cAAc,CAACF,OAAf,CAAuB,KAAvB,EAA8B,GAA9B,CAApB;EAEA,OAAOM,WAAW,CAACN,OAAZ,CAAoB,IAApB,EAA0B,GAA1B,CAAP;AACD,CAXD;AAaA;AACA;AACA;AACA;;;AACA,IAAMO,kBAAkB,GAAG,SAArBA,kBAAqB,CACzBT,IADyB,EAKd;EAAA,IAHXU,OAGW,uEAH0B;IACnCC,WAAW,EAAE,CAAC,GAAD,EAAM,IAAN,EAAY,GAAZ,EAAiB,GAAjB,EAAsB,GAAtB,EAA2B,QAA3B;EADsB,CAG1B;;EACX,IAAI,OAAOX,IAAP,KAAgB,QAApB,EAA8B;IAC5B,MAAM,IAAIF,wBAAJ,CAA6B,sCAA7B,CAAN;EACD;;EAED,IAAMc,iBAAiB,GAAGb,oBAAoB,CAACC,IAAD,CAA9C,CALW,CAOX;;EACA,IAAMa,qBAAqB,GAAGD,iBAAiB,CAACV,OAAlB,CAC5B,uBAD4B,EAE5B,MAF4B,CAA9B;EAKA,IAAMY,iBAAiB,GAAGD,qBAAqB,CAACX,OAAtB,CACxB,WADwB,EAExB,QAFwB,CAA1B,CAbW,CAkBX;;EACA,IAAMS,WAAW,GAAGI,KAAK,CAACC,OAAN,CAAcN,OAAO,CAACC,WAAtB,IAChBD,OAAO,CAACC,WAAR,CAAoBM,IAApB,CAAyB,GAAzB,CADgB,GAEhB,EAFJ;EAGA,IAAMC,OAAO,sBAAeP,WAAf,wBAAb;EACA,IAAMQ,KAAK,GAAG,IAAIC,MAAJ,CAAWF,OAAX,EAAoB,IAApB,CAAd;EAEA,OAAOJ,iBAAiB,CAACZ,OAAlB,CAA0BiB,KAA1B,EAAiC,EAAjC,CAAP;AACD,CA/BD;;AAiCA,SAASV,kBAAT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"text.js","names":["isPlainObject","retrieveText","text","message"],"sources":["../../../src/utils/helpers/text.js"],"sourcesContent":["// @flow\nimport { isPlainObject } from \"./objects\";\n\n/**\n * Handles text that is in the ApplicationMessage form ({ id: string, message: string, properties: object })\n * @param text\n * @returns {string}\n */\nexport const retrieveText = (\n text:\n | string\n | { id?: string, message: string, properties?: { [key: string]: any } }\n): string => {\n if (typeof text === \"string\") {\n return text;\n }\n\n if (isPlainObject(text) && \"message\" in text) {\n return text.message;\n }\n\n return \"\";\n};\n"],"mappings":"AACA,SAASA,aAAT,QAA8B,WAA9B;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAC1BC,IAD0B,EAIf;EACX,IAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;IAC5B,OAAOA,IAAP;EACD;;EAED,IAAIF,aAAa,CAACE,IAAD,CAAb,IAAuB,aAAaA,IAAxC,EAA8C;IAC5C,OAAOA,IAAI,CAACC,OAAZ;EACD;;EAED,OAAO,EAAP;AACD,CAdM"}
|
package/esm/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","Cache","serverFetch","universalFetch","xhr","createUUID","DecimalFormat","formatValue"],"sources":["../../src/utils/index.js"],"sourcesContent":["// @flow\n\n// browser\nexport { default as Cache } from \"./browser/Cache\";\nexport * from \"./browser/Cookies\";\n\n// datetime\nexport * from \"./datetime/DateTimeUtil\";\n\n// fetch\nexport { default as serverFetch } from \"./fetch/serverFetch\";\nexport { default as universalFetch } from \"./fetch/universalFetch\";\nexport { default as xhr } from \"./fetch/xhr\";\nexport type * from \"./fetch/types\";\n\n// helpers\nexport * from \"./helpers/createHash\";\nexport { default as createUUID } from \"./helpers/createUUID\";\nexport * from \"./helpers/sanitizeHtml\";\nexport * from \"./helpers/objects\";\nexport * from \"./helpers/text\";\nexport * from \"./helpers/checkResource\";\n\n// number\nexport { default as DecimalFormat } from \"./number/DecimalFormat\";\nexport { default as formatValue } from \"./number/formatValue\";\nexport * from \"./number/parseNumbers\";\n"],"mappings":"AAEA;AACA,SAASA,OAAO,IAAIC,KAApB,QAAiC,iBAAjC;AACA,cAAc,mBAAd,C,CAEA;;AACA,cAAc,yBAAd,C,CAEA;;AACA,SAASD,OAAO,IAAIE,WAApB,QAAuC,qBAAvC;AACA,SAASF,OAAO,IAAIG,cAApB,QAA0C,wBAA1C;AACA,SAASH,OAAO,IAAII,GAApB,QAA+B,aAA/B;AAGA;AACA,cAAc,sBAAd;AACA,SAASJ,OAAO,IAAIK,UAApB,QAAsC,sBAAtC;AACA,cAAc,wBAAd;AACA,cAAc,mBAAd;AACA,cAAc,gBAAd;AACA,cAAc,yBAAd,C,CAEA;;AACA,SAASL,OAAO,IAAIM,aAApB,QAAyC,wBAAzC;AACA,SAASN,OAAO,IAAIO,WAApB,QAAuC,sBAAvC;AACA,cAAc,uBAAd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/number/DecimalFormat.js"],"names":["DecimalFormat","format","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","_prefix","_suffix","_comma","_minInt","_minFrac","_maxFrac","_isPercentage","beforeDigit","substring","indexOf","length","replace","numberStr","fracStr","maxFrac","minFrac","intStr","lastIndexOf","intFormatStr","suffix","charAt","formattedNumber","stringNumber","String","isNaN","getNumericString","tempNumber","negative","substr","hasPrefix","prefix","suffixIndex","number","Number","DECIMAL_RADIX","Math","round","toString","toFixed","num","getFracAsNumber","frac","getRoundedFrac","i","doCarry","x","j","minInt","groupedIntStr","comma","isNegative","formattedValue","formatBack","toLowerCase","scientificNumber","getFraction","getInteger","isPercentage","addZeroToFrac","lastTwoFrac","getFracCorrectLength","addGrouping","getFormattedValue","string","precision","Infinity"],"mappings":"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","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"],"file":"DecimalFormat.js"}
|
|
1
|
+
{"version":3,"file":"DecimalFormat.js","names":["DecimalFormat","format","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","_prefix","_suffix","_comma","_minInt","_minFrac","_maxFrac","_isPercentage","beforeDigit","substring","indexOf","length","replace","numberStr","fracStr","maxFrac","minFrac","intStr","lastIndexOf","intFormatStr","suffix","charAt","formattedNumber","stringNumber","String","isNaN","getNumericString","tempNumber","negative","substr","hasPrefix","prefix","suffixIndex","number","Number","DECIMAL_RADIX","Math","round","toString","toFixed","num","getFracAsNumber","frac","getRoundedFrac","i","doCarry","x","j","minInt","groupedIntStr","comma","isNegative","formattedValue","formatBack","toLowerCase","scientificNumber","getFraction","getInteger","isPercentage","addZeroToFrac","lastTwoFrac","getFracCorrectLength","addGrouping","getFormattedValue","string","precision","Infinity"],"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,"
|
|
1
|
+
{"version":3,"file":"formatValue.js","names":["IllegalArgumentException","DecimalFormat","parseNumberToString","parseToNumber","updateGroupingSeparator","input","groupingSeparator","replace","formatValue","value","format","decimalSeparator","numberValue","stringValue","formattedValue","split","integer","decimal","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,wBAAT,QAAyC,kBAAzC;AAEA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,SAASC,mBAAT,EAA8BC,aAA9B,QAAmD,gBAAnD;AAEA;AACA;AACA;;AACA,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,KAAD,EAAgBC,iBAAhB,EAA8C;EAC5E,IAAIA,iBAAiB,IAAI,IAAzB,EAA+B;IAC7B,OAAOD,KAAP;EACD;;EAED,OAAOA,KAAK,CAACE,OAAN,CAAc,IAAd,EAAoBD,iBAApB,CAAP;AACD,CAND;AAQA;AACA;;;AACA,IAAME,WAAW,GAAG,SAAdA,WAAc,CAClBC,KADkB,EAKP;EAAA,IAHXC,MAGW,uEAHO,GAGP;EAAA,IAFXJ,iBAEW,uEAFiB,GAEjB;EAAA,IADXK,gBACW,uEADgB,GAChB;;EACX,IAAIF,KAAK,IAAI,IAAb,EAAmB;IACjB,OAAO,EAAP;EACD;;EAED,IAAMG,WAAW,GACf,OAAOH,KAAP,KAAiB,QAAjB,GACIA,KADJ,GAEIN,aAAa,CAACM,KAAD,EAAQH,iBAAR,EAA2BK,gBAA3B,CAHnB;;EAKA,IAAI,OAAOC,WAAP,KAAuB,QAA3B,EAAqC;IACnC,MAAM,IAAIZ,wBAAJ,+BACmBS,KADnB,sBAAN;EAGD;;EAED,IAAMI,WAAW,GAAGX,mBAAmB,CAACU,WAAD,CAAvC;;EAEA,IAAIF,MAAM,IAAI,IAAd,EAAoB;IAClB,IAAMI,cAAc,GAAG,IAAIb,aAAJ,CAAkBS,MAAlB,EAA0BA,MAA1B,CAAiCG,WAAjC,CAAvB;;IAEA,4BAA2BC,cAAc,CAACC,KAAf,CAAqB,GAArB,CAA3B;IAAA;IAAA,IAAOC,OAAP;IAAA,IAAgBC,OAAhB;;IAEA,IAAMC,WAAW,GAAGd,uBAAuB,CAACY,OAAD,EAAUV,iBAAV,CAA3C;;IAEA,IAAIW,OAAJ,EAAa;MAAA;;MACX,wFAAUC,WAAV,mBAAwBP,gBAAxB,kBAA2CM,OAA3C;IACD;;IAED,OAAOC,WAAP;EACD;;EAED,OAAOL,WAAP;AACD,CAtCD;;AAwCA,eAAeL,WAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"parseNumbers.js","names":["big","removeGroupingSeparator","input","groupingSeparator","escapedGroupingSeparator","replace","RegExp","updateDecimalSeparator","decimalSeparator","parseToNumber","NaN","inputNoGrouping","inputCorrectDecimalSeparator","Number","parseNumberToString","toFixed","error"],"sources":["../../../src/utils/number/parseNumbers.js"],"sourcesContent":["// @flow\nimport big from \"big.js\";\n\n/**\n * @private\n */\nconst removeGroupingSeparator = (input, groupingSeparator) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (groupingSeparator == null) {\n return input;\n }\n\n const escapedGroupingSeparator = groupingSeparator.replace(\n /[$()*+.?[\\\\\\]^{|}]/g,\n \"\\\\$&\"\n );\n\n return input.replace(new RegExp(escapedGroupingSeparator, \"g\"), \"\");\n};\n\n/**\n * @private\n */\nconst updateDecimalSeparator = (input, decimalSeparator) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (decimalSeparator == null || decimalSeparator === \"\") {\n return input;\n }\n\n return input.replace(decimalSeparator, \".\");\n};\n\n/**\n * Parses input into a number, removes the grouping separator from the input and\n * replaces the decimal separator with a dot to make it a JavaScript parseable number\n */\nconst parseToNumber = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\"\n): number => {\n if (input == null || input === \"\") {\n return NaN;\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator\n );\n\n return Number(inputCorrectDecimalSeparator);\n};\n\n/**\n * parses Numbers To String\n */\nconst parseNumberToString = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\"\n): string => {\n if (input == null || input === \"\") {\n return \"NaN\";\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator\n );\n\n try {\n return big(inputCorrectDecimalSeparator).toFixed();\n } catch (error) {\n return \"NaN\";\n }\n};\n\nexport { parseToNumber, parseNumberToString };\n"],"mappings":"AACA,OAAOA,GAAP,MAAgB,QAAhB;AAEA;AACA;AACA;;AACA,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,KAAD,EAAQC,iBAAR,EAA8B;EAC5D,IAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;IAC7B,OAAOA,KAAP;EACD;;EAED,IAAIC,iBAAiB,IAAI,IAAzB,EAA+B;IAC7B,OAAOD,KAAP;EACD;;EAED,IAAME,wBAAwB,GAAGD,iBAAiB,CAACE,OAAlB,CAC/B,qBAD+B,EAE/B,MAF+B,CAAjC;EAKA,OAAOH,KAAK,CAACG,OAAN,CAAc,IAAIC,MAAJ,CAAWF,wBAAX,EAAqC,GAArC,CAAd,EAAyD,EAAzD,CAAP;AACD,CAfD;AAiBA;AACA;AACA;;;AACA,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACL,KAAD,EAAQM,gBAAR,EAA6B;EAC1D,IAAI,OAAON,KAAP,KAAiB,QAArB,EAA+B;IAC7B,OAAOA,KAAP;EACD;;EAED,IAAIM,gBAAgB,IAAI,IAApB,IAA4BA,gBAAgB,KAAK,EAArD,EAAyD;IACvD,OAAON,KAAP;EACD;;EAED,OAAOA,KAAK,CAACG,OAAN,CAAcG,gBAAd,EAAgC,GAAhC,CAAP;AACD,CAVD;AAYA;AACA;AACA;AACA;;;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CACpBP,KADoB,EAIT;EAAA,IAFXC,iBAEW,uEAFkB,GAElB;EAAA,IADXK,gBACW,uEADiB,GACjB;;EACX,IAAIN,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA/B,EAAmC;IACjC,OAAOQ,GAAP;EACD;;EAED,IAAMC,eAAe,GAAGV,uBAAuB,CAACC,KAAD,EAAQC,iBAAR,CAA/C;EAEA,IAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eADyD,EAEzDH,gBAFyD,CAA3D;EAKA,OAAOK,MAAM,CAACD,4BAAD,CAAb;AACD,CAjBD;AAmBA;AACA;AACA;;;AACA,IAAME,mBAAmB,GAAG,SAAtBA,mBAAsB,CAC1BZ,KAD0B,EAIf;EAAA,IAFXC,iBAEW,uEAFkB,GAElB;EAAA,IADXK,gBACW,uEADiB,GACjB;;EACX,IAAIN,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA/B,EAAmC;IACjC,OAAO,KAAP;EACD;;EAED,IAAMS,eAAe,GAAGV,uBAAuB,CAACC,KAAD,EAAQC,iBAAR,CAA/C;EAEA,IAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eADyD,EAEzDH,gBAFyD,CAA3D;;EAKA,IAAI;IACF,OAAOR,GAAG,CAACY,4BAAD,CAAH,CAAkCG,OAAlC,EAAP;EACD,CAFD,CAEE,OAAOC,KAAP,EAAc;IACd,OAAO,KAAP;EACD;AACF,CArBD;;AAuBA,SAASP,aAAT,EAAwBK,mBAAxB"}
|
package/lib/builder/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/builder/index.js"],"sourcesContent":["// @flow\nexport * from \"./mergeLayoutHintConfigurations\";\n"],"mappings":";;;;;;;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|