@rabbitio/ui-kit 1.0.0-beta.64 → 1.0.0-beta.66
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/coverage/clover.xml +6325 -4201
- package/coverage/coverage-final.json +160 -99
- package/coverage/index.html +444 -189
- package/coverage/{rabbit-ui-kit → ui-kit}/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/index.js.html +3 -3
- package/coverage/{rabbit-ui-kit/src/assets/wrappedImages/arrowTosca.jsx.html → ui-kit/src/assets/wrappedImages/arrowIcon.jsx.html} +8 -29
- package/coverage/{rabbit-ui-kit/src/assets/wrappedImages/arrowIcon.jsx.html → ui-kit/src/assets/wrappedImages/arrowTosca.jsx.html} +9 -24
- package/coverage/{rabbit-ui-kit → ui-kit}/src/assets/wrappedImages/arrowWhite.jsx.html +7 -25
- package/coverage/ui-kit/src/assets/wrappedImages/darkRectangle.jsx.html +106 -0
- package/coverage/{rabbit-ui-kit → ui-kit}/src/assets/wrappedImages/determinedError.jsx.html +9 -42
- package/coverage/{rabbit-ui-kit/src/assets/wrappedImages/successfulValidationIcon.jsx.html → ui-kit/src/assets/wrappedImages/failedValidationIcon.jsx.html} +28 -31
- package/coverage/{rabbit-ui-kit → ui-kit}/src/assets/wrappedImages/index.html +25 -25
- package/coverage/{rabbit-ui-kit/src/assets/wrappedImages/darkRectangle.jsx.html → ui-kit/src/assets/wrappedImages/infoIcon.jsx.html} +13 -19
- package/coverage/{rabbit-ui-kit → ui-kit}/src/assets/wrappedImages/noticeQuestionIcon.jsx.html +7 -25
- package/coverage/{rabbit-ui-kit/src/assets/wrappedImages/walletIcon.jsx.html → ui-kit/src/assets/wrappedImages/successfulValidationIcon.jsx.html} +23 -59
- package/coverage/{rabbit-ui-kit/src/assets/wrappedImages/infoIcon.jsx.html → ui-kit/src/assets/wrappedImages/walletIcon.jsx.html} +16 -16
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/adapters/axiosAdapter.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/adapters/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/adapters/qrUtils.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/amountUtils.js.html +44 -308
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/errorUtils.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/external-apis/apiGroups.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/external-apis/index.html +14 -14
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/external-apis/ipAddressProviders.js.html +31 -178
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/fiatCurrenciesService.js.html +12 -36
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/index.html +20 -20
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/models/blockchain.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/models/coin.js.html +10 -22
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/models/index.html +13 -13
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/models/protocol.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/utils/cache.js.html +23 -101
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/utils/emailAPI.js.html +9 -15
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/utils/index.html +19 -19
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/utils/logging/index.html +9 -9
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/utils/logging/logger.js.html +14 -35
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/utils/logging/logsStorage.js.html +5 -5
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/utils/postponeExecution.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/common/utils/safeStringify.js.html +29 -29
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/AssetIcon/AssetIcon.jsx.html +11 -41
- package/coverage/ui-kit/src/components/atoms/AssetIcon/index.html +116 -0
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/AssetSelection/AssetSelection.jsx.html +9 -33
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/AssetSelection/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +8 -38
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/BackgroundTitle/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/InformationMessage/InformationMessage.jsx.html +8 -38
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/InformationMessage/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/Input/Input.jsx.html +15 -63
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/Input/index.html +7 -7
- package/coverage/ui-kit/src/components/atoms/LoadingDots/LoadingDots.jsx.html +196 -0
- package/coverage/{rabbit-ui-kit/src/components/atoms/RateSelector → ui-kit/src/components/atoms/LoadingDots}/index.html +4 -4
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/NoticeIcon/NoticeIcon.jsx.html +10 -40
- package/coverage/{rabbit-ui-kit/src/components/atoms/AssetIcon → ui-kit/src/components/atoms/NoticeIcon}/index.html +4 -4
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/QrCode/QrCode.jsx.html +8 -26
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/QrCode/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/RateSelector/RateSelector.jsx.html +10 -34
- package/coverage/ui-kit/src/components/atoms/RateSelector/index.html +116 -0
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/SupportChat/SupportChat.jsx.html +7 -22
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/SupportChat/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/Textarea/Textarea.jsx.html +17 -53
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/Textarea/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/TitleBox/TitleBox.jsx.html +13 -82
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/TitleBox/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/Tooltip/Tooltip.jsx.html +12 -18
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/Tooltip/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +12 -30
- package/coverage/{rabbit-ui-kit/src/components/atoms/NoticeIcon → ui-kit/src/components/atoms/TwoLinesOfText}/index.html +4 -4
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/Validation/Validation.jsx.html +19 -13
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/Validation/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/buttons/Button/Button.jsx.html +23 -113
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/buttons/Button/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/buttons/Close/Close.jsx.html +9 -27
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/buttons/Close/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/buttons/LinkButton/LinkButton.jsx.html +11 -38
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/buttons/LinkButton/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +13 -67
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/atoms/buttons/RadioButtonWithText/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/hooks/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/hooks/useCallHandlingErrors.js.html +7 -19
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/hooks/useReferredState.js.html +4 -4
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/molecules/AmountInput/AmountInput.jsx.html +56 -407
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/molecules/AmountInput/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/molecules/CoinPicker/CoinPicker.jsx.html +67 -466
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/molecules/CoinPicker/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +7 -22
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/molecules/LineWithIconLink/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/molecules/TitledLineWithIconLink/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +9 -15
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/organisms/CoinPickerDialogStep/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/organisms/Dialog/Dialog.jsx.html +44 -194
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/organisms/Dialog/DialogButtons/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +63 -525
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/organisms/Dialog/DialogStep/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/organisms/Dialog/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/organisms/SwapForm/SwapForm.jsx.html +145 -670
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/organisms/SwapForm/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/templates/DeterminedErrorDialogStep/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/utils/index.html +20 -20
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/utils/inputValueProviders.js.html +11 -35
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/utils/textUtils.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/utils/uiUtils.js.html +7 -13
- package/coverage/{rabbit-ui-kit → ui-kit}/src/components/utils/urlQueryUtils.js.html +18 -93
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/atoms/Close/close.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/atoms/Close/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/atoms/LinkButton/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/atoms/LinkButton/linkButton.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/atoms/Tooltip/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/atoms/Tooltip/tooltip.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/globalConstants.jsx.html +7 -10
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/organisms/dialog/DialogStep/dialogStep.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/organisms/dialog/DialogStep/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/organisms/dialog/dialog.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/constants/organisms/dialog/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/index.js.html +8 -26
- package/coverage/{rabbit-ui-kit → ui-kit}/src/robustExteranlApiCallerService/cacheAndConcurrentRequestsResolver.js.html +30 -222
- package/coverage/{rabbit-ui-kit → ui-kit}/src/robustExteranlApiCallerService/cachedRobustExternalApiCallerService.js.html +24 -147
- package/coverage/{rabbit-ui-kit → ui-kit}/src/robustExteranlApiCallerService/cancelProcessing.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/robustExteranlApiCallerService/concurrentCalculationsMetadataHolder.js.html +19 -103
- package/coverage/{rabbit-ui-kit → ui-kit}/src/robustExteranlApiCallerService/externalApiProvider.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/robustExteranlApiCallerService/externalServicesStatsCollector.js.html +11 -23
- package/coverage/{rabbit-ui-kit → ui-kit}/src/robustExteranlApiCallerService/index.html +38 -38
- package/coverage/{rabbit-ui-kit → ui-kit}/src/robustExteranlApiCallerService/robustExternalAPICallerService.js.html +53 -305
- package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/external-apis/index.html +24 -24
- package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/external-apis/swapProvider.js.html +10 -28
- package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +277 -1009
- package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/models/baseSwapCreationInfo.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/models/existingSwap.js.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/models/existingSwapWithFiatData.js.html +9 -27
- package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/models/index.html +13 -13
- package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/services/index.html +7 -7
- package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/services/publicSwapService.js.html +53 -374
- package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/utils/index.html +13 -13
- package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/utils/swapUtils.js.html +32 -179
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/BackgroundTitle.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/LinesOfText.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/LoadingDots.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/QrCode.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/RateSelector.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/Validation.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/buttons/Button.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/buttons/Close.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/buttons/LinkButton.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/buttons/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/molecules/LineWithIconLink.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/molecules/TitledLineWithIconLink.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/molecules/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/Dialog.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/DialogButtons/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/DialogStep/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/stubs/exampleContent.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/stubs/index.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +3 -3
- package/coverage/{rabbit-ui-kit → ui-kit}/stories/templates/index.html +3 -3
- package/dist/index.cjs +65 -49
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +5 -2
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +43 -28
- package/dist/index.modern.js.map +1 -1
- package/dist/index.module.js +65 -49
- package/dist/index.module.js.map +1 -1
- package/dist/index.umd.js +65 -49
- package/dist/index.umd.js.map +1 -1
- package/package.json +5 -3
- package/src/assets/wrappedImages/arrowIcon.jsx +1 -7
- package/src/assets/wrappedImages/arrowTosca.jsx +1 -7
- package/src/assets/wrappedImages/arrowWhite.jsx +1 -7
- package/src/assets/wrappedImages/darkRectangle.jsx +2 -13
- package/src/assets/wrappedImages/determinedError.jsx +2 -13
- package/src/assets/wrappedImages/failedValidationIcon.jsx +2 -16
- package/src/assets/wrappedImages/infoIcon.jsx +1 -7
- package/src/assets/wrappedImages/noticeQuestionIcon.jsx +1 -7
- package/src/assets/wrappedImages/successfulValidationIcon.jsx +2 -16
- package/src/assets/wrappedImages/walletIcon.jsx +3 -19
- package/src/common/amountUtils.js +36 -124
- package/src/common/external-apis/ipAddressProviders.js +22 -71
- package/src/common/fiatCurrenciesService.js +4 -12
- package/src/common/models/coin.js +2 -6
- package/src/common/tests/amountUtils/composeRateText.test.js +12 -69
- package/src/common/tests/integration/external-apis/ipAddressProviders/getClientIpAddress.test.js +1 -3
- package/src/common/utils/cache.js +10 -36
- package/src/common/utils/emailAPI.js +1 -3
- package/src/common/utils/logging/logger.js +5 -12
- package/src/components/atoms/AssetIcon/AssetIcon.jsx +4 -14
- package/src/components/atoms/AssetSelection/AssetSelection.jsx +3 -11
- package/src/components/atoms/BackgroundTitle/BackgroundTitle.jsx +2 -12
- package/src/components/atoms/InformationMessage/InformationMessage.jsx +2 -12
- package/src/components/atoms/InformationMessage/information-message.module.scss +4 -2
- package/src/components/atoms/Input/Input.jsx +9 -25
- package/src/components/atoms/LoadingDots/LoadingDots.jsx +8 -28
- package/src/components/atoms/NoticeIcon/NoticeIcon.jsx +4 -14
- package/src/components/atoms/QrCode/QrCode.jsx +2 -8
- package/src/components/atoms/RateSelector/RateSelector.jsx +4 -12
- package/src/components/atoms/SupportChat/SupportChat.jsx +1 -6
- package/src/components/atoms/Textarea/Textarea.jsx +11 -23
- package/src/components/atoms/TitleBox/TitleBox.jsx +7 -30
- package/src/components/atoms/TitleBox/title-box.module.scss +2 -0
- package/src/components/atoms/Tooltip/Tooltip.jsx +6 -8
- package/src/components/atoms/TwoLinesOfText/LinesOfText.jsx +5 -11
- package/src/components/atoms/Validation/Validation.jsx +9 -7
- package/src/components/atoms/buttons/Button/Button.jsx +17 -47
- package/src/components/atoms/buttons/Close/Close.jsx +3 -9
- package/src/components/atoms/buttons/LinkButton/LinkButton.jsx +5 -14
- package/src/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx +7 -25
- package/src/components/hooks/useCallHandlingErrors.js +1 -5
- package/src/components/hooks/useReferredState.js +1 -1
- package/src/components/molecules/AmountInput/AmountInput.jsx +50 -167
- package/src/components/molecules/CoinPicker/CoinPicker.jsx +61 -194
- package/src/components/molecules/CoinPicker/coin-picker.module.scss +1 -4
- package/src/components/molecules/LineWithIconLink/LineWithIconLink.jsx +1 -6
- package/src/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx +3 -5
- package/src/components/organisms/Dialog/Dialog.jsx +38 -88
- package/src/components/organisms/Dialog/DialogStep/DialogStep.jsx +57 -211
- package/src/components/organisms/Dialog/DialogStep/dialog-step.module.scss +2 -4
- package/src/components/organisms/SwapForm/SwapForm.jsx +139 -314
- package/src/components/tests/utils/inputValueProviders/provideFormatOfFloatValueByInputString.test.js +5 -12
- package/src/components/tests/utils/urlQueryUtils/getQueryParameterValues.test.js +3 -9
- package/src/components/tests/utils/urlQueryUtils/saveQueryParameterAndValues.test.js +11 -51
- package/src/components/utils/inputValueProviders.js +3 -11
- package/src/components/utils/uiUtils.js +1 -3
- package/src/components/utils/urlQueryUtils.js +10 -35
- package/src/constants/globalConstants.jsx +1 -2
- package/src/index.js +2 -8
- package/src/robustExteranlApiCallerService/cacheAndConcurrentRequestsResolver.js +22 -86
- package/src/robustExteranlApiCallerService/cachedRobustExternalApiCallerService.js +15 -56
- package/src/robustExteranlApiCallerService/concurrentCalculationsMetadataHolder.js +11 -39
- package/src/robustExteranlApiCallerService/externalServicesStatsCollector.js +3 -7
- package/src/robustExteranlApiCallerService/robustExternalAPICallerService.js +45 -129
- package/src/robustExteranlApiCallerService/tests/robustExternalAPICallerService/robustExternalAPICallerService/callExternalAPI/_performCallAttempt.test.js +76 -330
- package/src/robustExteranlApiCallerService/tests/robustExternalAPICallerService/robustExternalAPICallerService/callExternalAPI/callExternalAPI.test.js +57 -270
- package/src/robustExteranlApiCallerService/tests/robustExternalAPICallerService/robustExternalAPICallerService/constructor.test.js +3 -15
- package/src/swaps-lib/external-apis/swapProvider.js +1 -7
- package/src/swaps-lib/external-apis/swapspaceSwapProvider.js +117 -361
- package/src/swaps-lib/models/existingSwapWithFiatData.js +1 -7
- package/src/swaps-lib/services/publicSwapService.js +47 -154
- package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/_fetchSupportedCurrenciesIfNeeded.test.js +33 -118
- package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/createSwap.test.js +23 -85
- package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/getAllSupportedCurrencies.test.js +4 -14
- package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/getDepositCurrencies.test.js +3 -9
- package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/getSwapInfo.test.js +148 -460
- package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/getWithdrawalCurrencies.test.js +5 -11
- package/src/swaps-lib/test/utils/swapUtils/safeHandleRequestsLimitExceeding.test.js +2 -10
- package/src/swaps-lib/utils/swapUtils.js +24 -73
- package/coverage/rabbit-ui-kit/src/assets/wrappedImages/failedValidationIcon.jsx.html +0 -244
- package/coverage/rabbit-ui-kit/src/components/atoms/LoadingDots/LoadingDots.jsx.html +0 -256
- package/coverage/rabbit-ui-kit/src/components/atoms/LoadingDots/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/components/atoms/TwoLinesOfText/index.html +0 -116
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for
|
|
6
|
+
<title>Code coverage report for ui-kit/src/robustExteranlApiCallerService/robustExternalAPICallerService.js</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../../base.css" />
|
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../../index.html">All files</a> / <a href="index.html">
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">ui-kit/src/robustExteranlApiCallerService</a> robustExternalAPICallerService.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">88.48% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>269/304</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">88.48% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>269/304</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -367,91 +367,7 @@
|
|
|
367
367
|
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
368
|
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
369
|
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
-
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
-
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
-
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
-
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
-
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
-
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
-
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
-
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
-
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
-
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
-
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
-
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
-
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
-
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
-
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
-
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
-
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
-
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
-
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
-
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
-
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
-
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
-
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
-
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
-
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
-
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
-
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
-
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
-
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
-
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
-
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
-
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
-
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
-
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
-
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
-
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
-
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
-
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
-
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
-
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
-
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
-
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
-
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
-
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
-
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
-
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
-
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
-
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
-
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
-
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
-
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
-
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
|
-
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
-
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
-
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
-
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
-
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
-
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
-
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
-
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
-
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
-
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
-
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
-
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
-
<a name='L369'></a><a href='#L369'>369</a>
|
|
435
|
-
<a name='L370'></a><a href='#L370'>370</a>
|
|
436
|
-
<a name='L371'></a><a href='#L371'>371</a>
|
|
437
|
-
<a name='L372'></a><a href='#L372'>372</a>
|
|
438
|
-
<a name='L373'></a><a href='#L373'>373</a>
|
|
439
|
-
<a name='L374'></a><a href='#L374'>374</a>
|
|
440
|
-
<a name='L375'></a><a href='#L375'>375</a>
|
|
441
|
-
<a name='L376'></a><a href='#L376'>376</a>
|
|
442
|
-
<a name='L377'></a><a href='#L377'>377</a>
|
|
443
|
-
<a name='L378'></a><a href='#L378'>378</a>
|
|
444
|
-
<a name='L379'></a><a href='#L379'>379</a>
|
|
445
|
-
<a name='L380'></a><a href='#L380'>380</a>
|
|
446
|
-
<a name='L381'></a><a href='#L381'>381</a>
|
|
447
|
-
<a name='L382'></a><a href='#L382'>382</a>
|
|
448
|
-
<a name='L383'></a><a href='#L383'>383</a>
|
|
449
|
-
<a name='L384'></a><a href='#L384'>384</a>
|
|
450
|
-
<a name='L385'></a><a href='#L385'>385</a>
|
|
451
|
-
<a name='L386'></a><a href='#L386'>386</a>
|
|
452
|
-
<a name='L387'></a><a href='#L387'>387</a>
|
|
453
|
-
<a name='L388'></a><a href='#L388'>388</a>
|
|
454
|
-
<a name='L389'></a><a href='#L389'>389</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
370
|
+
<a name='L305'></a><a href='#L305'>305</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
455
371
|
<span class="cline-any cline-yes">1x</span>
|
|
456
372
|
<span class="cline-any cline-yes">1x</span>
|
|
457
373
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -483,13 +399,6 @@
|
|
|
483
399
|
<span class="cline-any cline-yes">1x</span>
|
|
484
400
|
<span class="cline-any cline-yes">38x</span>
|
|
485
401
|
<span class="cline-any cline-yes">132x</span>
|
|
486
|
-
<span class="cline-any cline-yes">132x</span>
|
|
487
|
-
<span class="cline-any cline-yes">132x</span>
|
|
488
|
-
<span class="cline-any cline-yes">132x</span>
|
|
489
|
-
<span class="cline-any cline-no"> </span>
|
|
490
|
-
<span class="cline-any cline-no"> </span>
|
|
491
|
-
<span class="cline-any cline-no"> </span>
|
|
492
|
-
<span class="cline-any cline-no"> </span>
|
|
493
402
|
<span class="cline-any cline-no"> </span>
|
|
494
403
|
<span class="cline-any cline-no"> </span>
|
|
495
404
|
<span class="cline-any cline-yes">38x</span>
|
|
@@ -531,14 +440,6 @@
|
|
|
531
440
|
<span class="cline-any cline-yes">18x</span>
|
|
532
441
|
<span class="cline-any cline-yes">18x</span>
|
|
533
442
|
<span class="cline-any cline-yes">18x</span>
|
|
534
|
-
<span class="cline-any cline-yes">18x</span>
|
|
535
|
-
<span class="cline-any cline-yes">18x</span>
|
|
536
|
-
<span class="cline-any cline-yes">18x</span>
|
|
537
|
-
<span class="cline-any cline-yes">18x</span>
|
|
538
|
-
<span class="cline-any cline-yes">18x</span>
|
|
539
|
-
<span class="cline-any cline-yes">18x</span>
|
|
540
|
-
<span class="cline-any cline-yes">60x</span>
|
|
541
|
-
<span class="cline-any cline-yes">60x</span>
|
|
542
443
|
<span class="cline-any cline-yes">60x</span>
|
|
543
444
|
<span class="cline-any cline-yes">60x</span>
|
|
544
445
|
<span class="cline-any cline-yes">60x</span>
|
|
@@ -574,12 +475,6 @@
|
|
|
574
475
|
<span class="cline-any cline-yes">42x</span>
|
|
575
476
|
<span class="cline-any cline-yes">42x</span>
|
|
576
477
|
<span class="cline-any cline-yes">42x</span>
|
|
577
|
-
<span class="cline-any cline-yes">42x</span>
|
|
578
|
-
<span class="cline-any cline-yes">42x</span>
|
|
579
|
-
<span class="cline-any cline-yes">42x</span>
|
|
580
|
-
<span class="cline-any cline-yes">42x</span>
|
|
581
|
-
<span class="cline-any cline-yes">42x</span>
|
|
582
|
-
<span class="cline-any cline-yes">42x</span>
|
|
583
478
|
<span class="cline-any cline-no"> </span>
|
|
584
479
|
<span class="cline-any cline-no"> </span>
|
|
585
480
|
<span class="cline-any cline-yes">42x</span>
|
|
@@ -598,15 +493,9 @@
|
|
|
598
493
|
<span class="cline-any cline-yes">2x</span>
|
|
599
494
|
<span class="cline-any cline-yes">2x</span>
|
|
600
495
|
<span class="cline-any cline-yes">2x</span>
|
|
601
|
-
<span class="cline-any cline-yes">2x</span>
|
|
602
|
-
<span class="cline-any cline-yes">2x</span>
|
|
603
496
|
<span class="cline-any cline-yes">60x</span>
|
|
604
497
|
<span class="cline-any cline-yes">1x</span>
|
|
605
498
|
<span class="cline-any cline-yes">1x</span>
|
|
606
|
-
<span class="cline-any cline-yes">1x</span>
|
|
607
|
-
<span class="cline-any cline-yes">1x</span>
|
|
608
|
-
<span class="cline-any cline-yes">1x</span>
|
|
609
|
-
<span class="cline-any cline-yes">1x</span>
|
|
610
499
|
<span class="cline-any cline-yes">60x</span>
|
|
611
500
|
<span class="cline-any cline-yes">60x</span>
|
|
612
501
|
<span class="cline-any cline-yes">18x</span>
|
|
@@ -628,9 +517,6 @@
|
|
|
628
517
|
<span class="cline-any cline-yes">18x</span>
|
|
629
518
|
<span class="cline-any cline-yes">18x</span>
|
|
630
519
|
<span class="cline-any cline-yes">18x</span>
|
|
631
|
-
<span class="cline-any cline-yes">18x</span>
|
|
632
|
-
<span class="cline-any cline-yes">18x</span>
|
|
633
|
-
<span class="cline-any cline-yes">18x</span>
|
|
634
520
|
<span class="cline-any cline-yes">1x</span>
|
|
635
521
|
<span class="cline-any cline-yes">1x</span>
|
|
636
522
|
<span class="cline-any cline-yes">20x</span>
|
|
@@ -639,12 +525,6 @@
|
|
|
639
525
|
<span class="cline-any cline-yes">20x</span>
|
|
640
526
|
<span class="cline-any cline-yes">20x</span>
|
|
641
527
|
<span class="cline-any cline-yes">20x</span>
|
|
642
|
-
<span class="cline-any cline-yes">20x</span>
|
|
643
|
-
<span class="cline-any cline-yes">20x</span>
|
|
644
|
-
<span class="cline-any cline-yes">20x</span>
|
|
645
|
-
<span class="cline-any cline-yes">20x</span>
|
|
646
|
-
<span class="cline-any cline-yes">20x</span>
|
|
647
|
-
<span class="cline-any cline-yes">20x</span>
|
|
648
528
|
<span class="cline-any cline-yes">57x</span>
|
|
649
529
|
<span class="cline-any cline-yes">57x</span>
|
|
650
530
|
<span class="cline-any cline-yes">15x</span>
|
|
@@ -665,19 +545,6 @@
|
|
|
665
545
|
<span class="cline-any cline-yes">57x</span>
|
|
666
546
|
<span class="cline-any cline-yes">57x</span>
|
|
667
547
|
<span class="cline-any cline-yes">57x</span>
|
|
668
|
-
<span class="cline-any cline-yes">57x</span>
|
|
669
|
-
<span class="cline-any cline-yes">57x</span>
|
|
670
|
-
<span class="cline-any cline-yes">57x</span>
|
|
671
|
-
<span class="cline-any cline-yes">57x</span>
|
|
672
|
-
<span class="cline-any cline-yes">57x</span>
|
|
673
|
-
<span class="cline-any cline-yes">57x</span>
|
|
674
|
-
<span class="cline-any cline-yes">46x</span>
|
|
675
|
-
<span class="cline-any cline-yes">46x</span>
|
|
676
|
-
<span class="cline-any cline-yes">46x</span>
|
|
677
|
-
<span class="cline-any cline-yes">46x</span>
|
|
678
|
-
<span class="cline-any cline-yes">46x</span>
|
|
679
|
-
<span class="cline-any cline-yes">46x</span>
|
|
680
|
-
<span class="cline-any cline-yes">46x</span>
|
|
681
548
|
<span class="cline-any cline-yes">46x</span>
|
|
682
549
|
<span class="cline-any cline-yes">46x</span>
|
|
683
550
|
<span class="cline-any cline-yes">46x</span>
|
|
@@ -685,10 +552,6 @@
|
|
|
685
552
|
<span class="cline-any cline-no"> </span>
|
|
686
553
|
<span class="cline-any cline-no"> </span>
|
|
687
554
|
<span class="cline-any cline-no"> </span>
|
|
688
|
-
<span class="cline-any cline-no"> </span>
|
|
689
|
-
<span class="cline-any cline-no"> </span>
|
|
690
|
-
<span class="cline-any cline-no"> </span>
|
|
691
|
-
<span class="cline-any cline-no"> </span>
|
|
692
555
|
<span class="cline-any cline-yes">46x</span>
|
|
693
556
|
<span class="cline-any cline-yes">46x</span>
|
|
694
557
|
<span class="cline-any cline-yes">46x</span>
|
|
@@ -700,7 +563,6 @@
|
|
|
700
563
|
<span class="cline-any cline-yes">42x</span>
|
|
701
564
|
<span class="cline-any cline-yes">42x</span>
|
|
702
565
|
<span class="cline-any cline-yes">42x</span>
|
|
703
|
-
<span class="cline-any cline-yes">42x</span>
|
|
704
566
|
<span class="cline-any cline-yes">35x</span>
|
|
705
567
|
<span class="cline-any cline-yes">35x</span>
|
|
706
568
|
<span class="cline-any cline-yes">35x</span>
|
|
@@ -715,14 +577,6 @@
|
|
|
715
577
|
<span class="cline-any cline-no"> </span>
|
|
716
578
|
<span class="cline-any cline-no"> </span>
|
|
717
579
|
<span class="cline-any cline-no"> </span>
|
|
718
|
-
<span class="cline-any cline-no"> </span>
|
|
719
|
-
<span class="cline-any cline-no"> </span>
|
|
720
|
-
<span class="cline-any cline-no"> </span>
|
|
721
|
-
<span class="cline-any cline-no"> </span>
|
|
722
|
-
<span class="cline-any cline-yes">4x</span>
|
|
723
|
-
<span class="cline-any cline-yes">4x</span>
|
|
724
|
-
<span class="cline-any cline-yes">4x</span>
|
|
725
|
-
<span class="cline-any cline-yes">4x</span>
|
|
726
580
|
<span class="cline-any cline-yes">4x</span>
|
|
727
581
|
<span class="cline-any cline-yes">4x</span>
|
|
728
582
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -736,12 +590,6 @@
|
|
|
736
590
|
<span class="cline-any cline-yes">4x</span>
|
|
737
591
|
<span class="cline-any cline-yes">4x</span>
|
|
738
592
|
<span class="cline-any cline-yes">4x</span>
|
|
739
|
-
<span class="cline-any cline-yes">4x</span>
|
|
740
|
-
<span class="cline-any cline-no"> </span>
|
|
741
|
-
<span class="cline-any cline-no"> </span>
|
|
742
|
-
<span class="cline-any cline-yes">4x</span>
|
|
743
|
-
<span class="cline-any cline-no"> </span>
|
|
744
|
-
<span class="cline-any cline-no"> </span>
|
|
745
593
|
<span class="cline-any cline-no"> </span>
|
|
746
594
|
<span class="cline-any cline-no"> </span>
|
|
747
595
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -750,10 +598,6 @@
|
|
|
750
598
|
<span class="cline-any cline-yes">4x</span>
|
|
751
599
|
<span class="cline-any cline-yes">4x</span>
|
|
752
600
|
<span class="cline-any cline-yes">4x</span>
|
|
753
|
-
<span class="cline-any cline-yes">4x</span>
|
|
754
|
-
<span class="cline-any cline-yes">4x</span>
|
|
755
|
-
<span class="cline-any cline-yes">4x</span>
|
|
756
|
-
<span class="cline-any cline-yes">4x</span>
|
|
757
601
|
<span class="cline-any cline-yes">3x</span>
|
|
758
602
|
<span class="cline-any cline-yes">38x</span>
|
|
759
603
|
<span class="cline-any cline-yes">46x</span>
|
|
@@ -764,13 +608,6 @@
|
|
|
764
608
|
<span class="cline-any cline-no"> </span>
|
|
765
609
|
<span class="cline-any cline-no"> </span>
|
|
766
610
|
<span class="cline-any cline-no"> </span>
|
|
767
|
-
<span class="cline-any cline-no"> </span>
|
|
768
|
-
<span class="cline-any cline-yes">38x</span>
|
|
769
|
-
<span class="cline-any cline-yes">38x</span>
|
|
770
|
-
<span class="cline-any cline-yes">38x</span>
|
|
771
|
-
<span class="cline-any cline-yes">38x</span>
|
|
772
|
-
<span class="cline-any cline-yes">38x</span>
|
|
773
|
-
<span class="cline-any cline-yes">38x</span>
|
|
774
611
|
<span class="cline-any cline-yes">38x</span>
|
|
775
612
|
<span class="cline-any cline-yes">38x</span>
|
|
776
613
|
<span class="cline-any cline-yes">38x</span>
|
|
@@ -790,7 +627,6 @@
|
|
|
790
627
|
<span class="cline-any cline-yes">57x</span>
|
|
791
628
|
<span class="cline-any cline-yes">30x</span>
|
|
792
629
|
<span class="cline-any cline-no"> </span>
|
|
793
|
-
<span class="cline-any cline-no"> </span>
|
|
794
630
|
<span class="cline-any cline-yes">30x</span>
|
|
795
631
|
<span class="cline-any cline-yes">30x</span>
|
|
796
632
|
<span class="cline-any cline-yes">30x</span>
|
|
@@ -824,10 +660,6 @@
|
|
|
824
660
|
<span class="cline-any cline-yes">20x</span>
|
|
825
661
|
<span class="cline-any cline-yes">20x</span>
|
|
826
662
|
<span class="cline-any cline-yes">20x</span>
|
|
827
|
-
<span class="cline-any cline-yes">20x</span>
|
|
828
|
-
<span class="cline-any cline-yes">20x</span>
|
|
829
|
-
<span class="cline-any cline-yes">20x</span>
|
|
830
|
-
<span class="cline-any cline-yes">20x</span>
|
|
831
663
|
<span class="cline-any cline-yes">1x</span>
|
|
832
664
|
<span class="cline-any cline-yes">1x</span>
|
|
833
665
|
<span class="cline-any cline-yes">20x</span>
|
|
@@ -869,23 +701,16 @@ export class RobustExternalAPICallerService {
|
|
|
869
701
|
* @param [logger] {function} function to be used for logging
|
|
870
702
|
*/
|
|
871
703
|
constructor(bio, providersData, logger = Logger.logError) {
|
|
872
|
-
providersData.forEach(
|
|
873
|
-
if (
|
|
874
|
-
|
|
875
|
-
!provider.httpMethod
|
|
876
|
-
) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
877
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(</span>
|
|
878
|
-
<span class="cstat-no" title="statement not covered" > `Wrong format of providers data for: ${JSON.stringify(</span>
|
|
879
|
-
<span class="cstat-no" title="statement not covered" > provider</span>
|
|
880
|
-
<span class="cstat-no" title="statement not covered" > )}`</span>
|
|
881
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
704
|
+
providersData.forEach(provider => {
|
|
705
|
+
if ((!provider.endpoint <span class="branch-0 cbranch-no" title="branch not covered" >&& provider.endpoint !== "")</span> || !provider.httpMethod) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
706
|
+
<span class="cstat-no" title="statement not covered" > throw new Error(`Wrong format of providers data for: ${JSON.stringify(provider)}`);</span>
|
|
882
707
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
883
708
|
});
|
|
884
709
|
|
|
885
710
|
// We add niceFactor - just number to order the providers array by. It is helpful to call
|
|
886
711
|
// less robust APIs only if more robust fails
|
|
887
712
|
this.providers = providersData;
|
|
888
|
-
providersData.forEach(
|
|
713
|
+
providersData.forEach(provider => provider.resetNiceFactor());
|
|
889
714
|
this.bio = bio;
|
|
890
715
|
this._logger = (...args) => {
|
|
891
716
|
Logger.logError(...args);
|
|
@@ -915,24 +740,16 @@ export class RobustExternalAPICallerService {
|
|
|
915
740
|
doNotFailForNowData = false
|
|
916
741
|
) {
|
|
917
742
|
let result;
|
|
918
|
-
const calculationUuid =
|
|
919
|
-
concurrentCalculationsMetadataHolder.startCalculation(this.bio);
|
|
743
|
+
const calculationUuid = concurrentCalculationsMetadataHolder.startCalculation(this.bio);
|
|
920
744
|
|
|
921
745
|
try {
|
|
922
|
-
for (
|
|
923
|
-
let i = 0;
|
|
924
|
-
(i < attemptsCount || result?.shouldBeForceRetried) &&
|
|
925
|
-
result?.data == null;
|
|
926
|
-
++i
|
|
927
|
-
) {
|
|
746
|
+
for (let i = 0; (i < attemptsCount || result?.shouldBeForceRetried) && result?.data == null; ++i) {
|
|
928
747
|
/**
|
|
929
748
|
* We use rpsFactor to improve re-attempting to call the providers if the last attempt resulted with
|
|
930
749
|
* the fail due to abused RPSes of some (most part of) providers.
|
|
931
750
|
* The _performCallAttempt in such a case will return increased rpsFactor inside the result object.
|
|
932
751
|
*/
|
|
933
|
-
const rpsFactor = result
|
|
934
|
-
? result.rpsFactor
|
|
935
|
-
: RobustExternalAPICallerService.defaultRPSFactor;
|
|
752
|
+
const rpsFactor = result ? result.rpsFactor : RobustExternalAPICallerService.defaultRPSFactor;
|
|
936
753
|
|
|
937
754
|
result = null;
|
|
938
755
|
|
|
@@ -946,14 +763,8 @@ export class RobustExternalAPICallerService {
|
|
|
946
763
|
doNotFailForNowData
|
|
947
764
|
);
|
|
948
765
|
} else {
|
|
949
|
-
const maxRps = Math.max(
|
|
950
|
-
|
|
951
|
-
(provider) => provider.getRps() <span class="branch-0 cbranch-no" title="branch not covered" >?? 0</span>
|
|
952
|
-
)
|
|
953
|
-
);
|
|
954
|
-
const waitingTimeMs = maxRps
|
|
955
|
-
? 1000 / (maxRps / rpsFactor)
|
|
956
|
-
<span class="branch-0 cbranch-no" title="branch not covered" > : 0;</span>
|
|
766
|
+
const maxRps = Math.max(...this.providers.map(provider => provider.getRps() <span class="branch-0 cbranch-no" title="branch not covered" >?? 0)</span>);
|
|
767
|
+
const waitingTimeMs = maxRps ? 1000 / (maxRps / rpsFactor) <span class="branch-0 cbranch-no" title="branch not covered" >: 0;</span>
|
|
957
768
|
|
|
958
769
|
result = await new Promise((resolve, reject) => {
|
|
959
770
|
setTimeout(async () => {
|
|
@@ -977,10 +788,8 @@ export class RobustExternalAPICallerService {
|
|
|
977
788
|
const errors = result.errors;
|
|
978
789
|
this._logger(
|
|
979
790
|
new Error(
|
|
980
|
-
`Failed at attempt ${i}. ${
|
|
981
|
-
errors.
|
|
982
|
-
} errors. Messages: ${safeStringify(
|
|
983
|
-
errors.map((error) => error.message)
|
|
791
|
+
`Failed at attempt ${i}. ${errors.length} errors. Messages: ${safeStringify(
|
|
792
|
+
errors.map(error => error.message)
|
|
984
793
|
)}: ${safeStringify(errors)}.`
|
|
985
794
|
),
|
|
986
795
|
`${this.bio}.callExternalAPI`,
|
|
@@ -989,11 +798,7 @@ export class RobustExternalAPICallerService {
|
|
|
989
798
|
);
|
|
990
799
|
}
|
|
991
800
|
} catch (e) {
|
|
992
|
-
this._logger(
|
|
993
|
-
e,
|
|
994
|
-
`${this.bio}.callExternalAPI`,
|
|
995
|
-
"Failed to perform external providers calling"
|
|
996
|
-
);
|
|
801
|
+
this._logger(e, `${this.bio}.callExternalAPI`, "Failed to perform external providers calling");
|
|
997
802
|
}
|
|
998
803
|
}
|
|
999
804
|
|
|
@@ -1013,20 +818,11 @@ export class RobustExternalAPICallerService {
|
|
|
1013
818
|
} catch (e) {
|
|
1014
819
|
improveAndRethrow(e, `${this.bio}.callExternalAPI`);
|
|
1015
820
|
}<span class="branch-0 cbranch-no" title="branch not covered" > f</span>inally {
|
|
1016
|
-
concurrentCalculationsMetadataHolder.endCalculation(
|
|
1017
|
-
this.bio,
|
|
1018
|
-
calculationUuid
|
|
1019
|
-
);
|
|
821
|
+
concurrentCalculationsMetadataHolder.endCalculation(this.bio, calculationUuid);
|
|
1020
822
|
}
|
|
1021
823
|
}
|
|
1022
824
|
|
|
1023
|
-
async _performCallAttempt(
|
|
1024
|
-
parametersValues,
|
|
1025
|
-
timeoutMS,
|
|
1026
|
-
cancelToken,
|
|
1027
|
-
rpsFactor,
|
|
1028
|
-
doNotFailForNowData
|
|
1029
|
-
) {
|
|
825
|
+
async _performCallAttempt(parametersValues, timeoutMS, cancelToken, rpsFactor, doNotFailForNowData) {
|
|
1030
826
|
const providers = this._reorderProvidersByNiceFactor();
|
|
1031
827
|
let data = undefined,
|
|
1032
828
|
providerIndex = 0,
|
|
@@ -1050,31 +846,14 @@ export class RobustExternalAPICallerService {
|
|
|
1050
846
|
timeout: provider.timeout <span class="branch-0 cbranch-no" title="branch not covered" >|| timeoutMS,</span>
|
|
1051
847
|
headers: provider.specificHeaders <span class="branch-0 cbranch-no" title="branch not covered" >?? {},</span>
|
|
1052
848
|
};
|
|
1053
|
-
const httpMethods = Array.isArray(provider.httpMethod)
|
|
1054
|
-
? provider.httpMethod
|
|
1055
|
-
: [provider.httpMethod];
|
|
849
|
+
const httpMethods = Array.isArray(provider.httpMethod) ? provider.httpMethod : [provider.httpMethod];
|
|
1056
850
|
const iterationsData = [];
|
|
1057
|
-
for (
|
|
1058
|
-
|
|
1059
|
-
subRequestIndex < httpMethods.length;
|
|
1060
|
-
++subRequestIndex
|
|
1061
|
-
) {
|
|
1062
|
-
const query = provider.composeQueryString(
|
|
1063
|
-
parametersValues,
|
|
1064
|
-
subRequestIndex
|
|
1065
|
-
);
|
|
851
|
+
for (let subRequestIndex = 0; subRequestIndex < httpMethods.length; ++subRequestIndex) {
|
|
852
|
+
const query = provider.composeQueryString(parametersValues, subRequestIndex);
|
|
1066
853
|
const endpoint = `${provider.endpoint}${query}`;
|
|
1067
854
|
const axiosParams = [endpoint, axiosConfig];
|
|
1068
|
-
if (
|
|
1069
|
-
|
|
1070
|
-
(method) => method === httpMethods[subRequestIndex]
|
|
1071
|
-
)
|
|
1072
|
-
) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1073
|
-
<span class="cstat-no" title="statement not covered" > const body =</span>
|
|
1074
|
-
<span class="cstat-no" title="statement not covered" > provider.composeBody(</span>
|
|
1075
|
-
<span class="cstat-no" title="statement not covered" > parametersValues,</span>
|
|
1076
|
-
<span class="cstat-no" title="statement not covered" > subRequestIndex</span>
|
|
1077
|
-
<span class="cstat-no" title="statement not covered" > ) ?? null;</span>
|
|
855
|
+
if (["post", "put", "patch"].find(method => method === httpMethods[subRequestIndex])) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
856
|
+
<span class="cstat-no" title="statement not covered" > const body = provider.composeBody(parametersValues, subRequestIndex) ?? null;</span>
|
|
1078
857
|
<span class="cstat-no" title="statement not covered" > axiosParams.splice(1, 0, body);</span>
|
|
1079
858
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1080
859
|
|
|
@@ -1084,27 +863,22 @@ export class RobustExternalAPICallerService {
|
|
|
1084
863
|
do {
|
|
1085
864
|
if (subRequestIndex === 0 && pageNumber === 0) {
|
|
1086
865
|
provider.actualizeLastCalledTimestamp();
|
|
1087
|
-
responsesForPages[pageNumber] =
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
);
|
|
866
|
+
responsesForPages[pageNumber] = await AxiosAdapter.call(
|
|
867
|
+
httpMethods[subRequestIndex],
|
|
868
|
+
...axiosParams
|
|
869
|
+
);
|
|
1092
870
|
RobustExternalAPICallerService.statsCollector.externalServiceCalledWithoutError(
|
|
1093
871
|
provider.getApiGroupId()
|
|
1094
872
|
);
|
|
1095
873
|
} else {
|
|
1096
874
|
if (pageNumber > 0) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1097
|
-
<span class="cstat-no" title="statement not covered" > const actualizedParams
|
|
1098
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1099
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1100
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1101
|
-
<span class="cstat-no" title="statement not covered" > pageNumber,</span>
|
|
1102
|
-
<span class="cstat-no" title="statement not covered" > subRequestIndex</span>
|
|
1103
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1104
|
-
<span class="cstat-no" title="statement not covered" > const query = provider.composeQueryString(</span>
|
|
1105
|
-
<span class="cstat-no" title="statement not covered" > actualizedParams,</span>
|
|
875
|
+
<span class="cstat-no" title="statement not covered" > const actualizedParams = provider.changeQueryParametersForPageNumber(</span>
|
|
876
|
+
<span class="cstat-no" title="statement not covered" > parametersValues,</span>
|
|
877
|
+
<span class="cstat-no" title="statement not covered" > responsesForPages[pageNumber - 1],</span>
|
|
878
|
+
<span class="cstat-no" title="statement not covered" > pageNumber,</span>
|
|
1106
879
|
<span class="cstat-no" title="statement not covered" > subRequestIndex</span>
|
|
1107
880
|
<span class="cstat-no" title="statement not covered" > );</span>
|
|
881
|
+
<span class="cstat-no" title="statement not covered" > const query = provider.composeQueryString(actualizedParams, subRequestIndex);</span>
|
|
1108
882
|
<span class="cstat-no" title="statement not covered" > axiosParams[0] = `${provider.endpoint}${query}`;</span>
|
|
1109
883
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1110
884
|
/**
|
|
@@ -1114,56 +888,35 @@ export class RobustExternalAPICallerService {
|
|
|
1114
888
|
* TODO: [dev] test RPS factor logic (units or integration)
|
|
1115
889
|
*/
|
|
1116
890
|
|
|
1117
|
-
const waitingTimeMS = provider.getRps()
|
|
1118
|
-
? 1000 / (provider.getRps() / rpsFactor)
|
|
1119
|
-
<span class="branch-0 cbranch-no" title="branch not covered" > : 0;</span>
|
|
891
|
+
const waitingTimeMS = provider.getRps() ? 1000 / (provider.getRps() / rpsFactor) <span class="branch-0 cbranch-no" title="branch not covered" >: 0;</span>
|
|
1120
892
|
|
|
1121
|
-
const postponeUntilRpsExceeded = async (
|
|
1122
|
-
recursionLevel = 0
|
|
1123
|
-
) => {
|
|
893
|
+
const postponeUntilRpsExceeded = async (recursionLevel = 0) => {
|
|
1124
894
|
return await postponeExecution(async () => {
|
|
1125
895
|
const maxCountOfPostponingAttempts = 2;
|
|
1126
|
-
if (
|
|
1127
|
-
|
|
1128
|
-
<span class="cstat-no" title="statement not covered" > recursionLevel <</span>
|
|
1129
|
-
<span class="cstat-no" title="statement not covered" > maxCountOfPostponingAttempts</span>
|
|
1130
|
-
) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1131
|
-
<span class="cstat-no" title="statement not covered" > return await postponeUntilRpsExceeded(</span>
|
|
1132
|
-
<span class="cstat-no" title="statement not covered" > recursionLevel + 1</span>
|
|
1133
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
896
|
+
if (provider.isRpsExceeded() <span class="branch-0 cbranch-no" title="branch not covered" >&& recursionLevel < maxCountOfPostponingAttempts)</span> <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
897
|
+
<span class="cstat-no" title="statement not covered" > return await postponeUntilRpsExceeded(recursionLevel + 1);</span>
|
|
1134
898
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1135
899
|
provider.actualizeLastCalledTimestamp();
|
|
1136
|
-
return await AxiosAdapter.call(
|
|
1137
|
-
httpMethods[subRequestIndex],
|
|
1138
|
-
...axiosParams
|
|
1139
|
-
);
|
|
900
|
+
return await AxiosAdapter.call(httpMethods[subRequestIndex], ...axiosParams);
|
|
1140
901
|
}, waitingTimeMS);
|
|
1141
902
|
};
|
|
1142
903
|
|
|
1143
|
-
responsesForPages[pageNumber] =
|
|
1144
|
-
await postponeUntilRpsExceeded();
|
|
904
|
+
responsesForPages[pageNumber] = await postponeUntilRpsExceeded();
|
|
1145
905
|
}
|
|
1146
906
|
|
|
1147
907
|
if (hasNextPage) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1148
|
-
<span class="cstat-no" title="statement not covered" > hasNextPage
|
|
1149
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1150
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1151
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1152
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1153
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1154
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
908
|
+
<span class="cstat-no" title="statement not covered" > hasNextPage = !provider.checkWhetherResponseIsForLastPage(</span>
|
|
909
|
+
<span class="cstat-no" title="statement not covered" > responsesForPages[pageNumber - 1],</span>
|
|
910
|
+
<span class="cstat-no" title="statement not covered" > responsesForPages[pageNumber],</span>
|
|
911
|
+
<span class="cstat-no" title="statement not covered" > pageNumber,</span>
|
|
912
|
+
<span class="cstat-no" title="statement not covered" > subRequestIndex</span>
|
|
913
|
+
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1155
914
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1156
915
|
pageNumber++;
|
|
1157
916
|
} while (hasNextPage);
|
|
1158
917
|
|
|
1159
|
-
const responsesDataForPages = responsesForPages.map(
|
|
1160
|
-
(response)
|
|
1161
|
-
provider.getDataByResponse(
|
|
1162
|
-
response,
|
|
1163
|
-
parametersValues,
|
|
1164
|
-
subRequestIndex,
|
|
1165
|
-
iterationsData
|
|
1166
|
-
)
|
|
918
|
+
const responsesDataForPages = responsesForPages.map(response =>
|
|
919
|
+
provider.getDataByResponse(response, parametersValues, subRequestIndex, iterationsData)
|
|
1167
920
|
);
|
|
1168
921
|
|
|
1169
922
|
let allData = responsesDataForPages;
|
|
@@ -1177,8 +930,7 @@ export class RobustExternalAPICallerService {
|
|
|
1177
930
|
}
|
|
1178
931
|
if (iterationsData.length) {
|
|
1179
932
|
if (httpMethods.length > 1) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1180
|
-
<span class="cstat-no" title="statement not covered" > data
|
|
1181
|
-
<span class="cstat-no" title="statement not covered" > provider.incorporateIterationsData(iterationsData);</span>
|
|
933
|
+
<span class="cstat-no" title="statement not covered" > data = provider.incorporateIterationsData(iterationsData);</span>
|
|
1182
934
|
} else {
|
|
1183
935
|
data = iterationsData[0];
|
|
1184
936
|
}
|
|
@@ -1202,12 +954,8 @@ export class RobustExternalAPICallerService {
|
|
|
1202
954
|
}
|
|
1203
955
|
|
|
1204
956
|
// If we are declining more than 50% of providers (by exceeding RPS) then we note that it better to retry the whole process of providers requesting
|
|
1205
|
-
const shouldBeForceRetried =
|
|
1206
|
-
|
|
1207
|
-
countOfRequestsDeclinedByRps > Math.floor(providers.length * 0.5);
|
|
1208
|
-
const rpsMultiplier = shouldBeForceRetried
|
|
1209
|
-
? RobustExternalAPICallerService.rpsMultiplier
|
|
1210
|
-
: 1;
|
|
957
|
+
const shouldBeForceRetried = data == null && countOfRequestsDeclinedByRps > Math.floor(providers.length * 0.5);
|
|
958
|
+
const rpsMultiplier = shouldBeForceRetried ? RobustExternalAPICallerService.rpsMultiplier : 1;
|
|
1211
959
|
|
|
1212
960
|
return {
|
|
1213
961
|
data: data ?? null,
|
|
@@ -1234,7 +982,7 @@ function punishProvider(provider) {
|
|
|
1234
982
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1235
983
|
Code coverage generated by
|
|
1236
984
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1237
|
-
at 2024-05-
|
|
985
|
+
at 2024-05-26T05:26:22.162Z
|
|
1238
986
|
</div>
|
|
1239
987
|
<script src="../../../prettify.js"></script>
|
|
1240
988
|
<script>
|