intelicoreact 1.3.21 → 1.3.22
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/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +15 -23
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +15 -23
- package/dist/Atomic/FormElements/Calendar/Calendar.js +69 -124
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +27 -36
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +23 -39
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +110 -246
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +44 -85
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +246 -414
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +5 -9
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +93 -165
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +39 -64
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +51 -132
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +34 -73
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +54 -75
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +67 -110
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +33 -83
- package/dist/Atomic/FormElements/Input/Input.js +161 -253
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +48 -102
- package/dist/Atomic/FormElements/InputColor/InputColor.js +27 -40
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +28 -58
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +108 -176
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +32 -57
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +184 -302
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +85 -157
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +11 -16
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +76 -193
- package/dist/Atomic/FormElements/InputLink/InputLink.js +34 -58
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +8 -12
- package/dist/Atomic/FormElements/InputMask/InputMask.js +554 -964
- package/dist/Atomic/FormElements/InputMask/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask/functions.js +17 -43
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +268 -404
- package/dist/Atomic/FormElements/InputMask2/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask2/functions.js +17 -43
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +300 -460
- package/dist/Atomic/FormElements/InputMask3/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask3/functions.js +17 -43
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +53 -113
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +64 -118
- package/dist/Atomic/FormElements/Label/Label.js +13 -23
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +217 -349
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +25 -47
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +133 -207
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +29 -61
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +20 -42
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +22 -33
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +20 -43
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +54 -101
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +59 -102
- package/dist/Atomic/FormElements/RangeList/RangeList.js +89 -150
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +23 -29
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +135 -300
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +381 -571
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +14 -24
- package/dist/Atomic/FormElements/Switcher/Switcher.js +24 -29
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +25 -47
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +20 -32
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +32 -55
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +22 -42
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +23 -33
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +51 -120
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +2 -3
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +23 -46
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +260 -413
- package/dist/Atomic/FormElements/Text/Text.js +47 -53
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +21 -31
- package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -27
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +68 -128
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +25 -36
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +33 -70
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +58 -124
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +48 -80
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +32 -42
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +40 -60
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -3
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +50 -69
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
- package/dist/Atomic/Layout/Header/Header.js +21 -48
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +36 -79
- package/dist/Atomic/Layout/Spinner/Spinner.js +8 -14
- package/dist/Atomic/UI/Accordion/Accordion.js +18 -48
- package/dist/Atomic/UI/Accordion/AccordionItem.js +35 -60
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +49 -106
- package/dist/Atomic/UI/AccordionText/AccordionText.js +13 -37
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +48 -94
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +22 -50
- package/dist/Atomic/UI/Alert/Alert.js +20 -44
- package/dist/Atomic/UI/Arrow/Arrow.js +15 -35
- package/dist/Atomic/UI/Box/Box.js +14 -21
- package/dist/Atomic/UI/Button/Button.js +26 -35
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +22 -31
- package/dist/Atomic/UI/Chart/Chart.js +45 -86
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +14 -24
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +13 -22
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +68 -113
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +158 -140
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +26 -42
- package/dist/Atomic/UI/Chart/partial/utils.js +20 -48
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +22 -42
- package/dist/Atomic/UI/DateTime/DateTime.js +23 -38
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +12 -36
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +5 -21
- package/dist/Atomic/UI/DoubleString/DoubleString.js +27 -50
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +15 -63
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +62 -157
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +47 -110
- package/dist/Atomic/UI/Hint/Hint.js +49 -94
- package/dist/Atomic/UI/Modal/Modal.js +149 -179
- package/dist/Atomic/UI/Modal/ModalHOC.js +12 -21
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -12
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +17 -21
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +98 -160
- package/dist/Atomic/UI/ModalBackup/Modal.js +65 -90
- package/dist/Atomic/UI/ModalBackup/ModalHOC.js +12 -21
- package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +6 -11
- package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +15 -19
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +32 -62
- package/dist/Atomic/UI/NavLine/NavLine.js +120 -211
- package/dist/Atomic/UI/NavLine/Tabs.js +2 -3
- package/dist/Atomic/UI/PageTitle/PageTitle.js +13 -17
- package/dist/Atomic/UI/PieChart/PieChart.js +11 -21
- package/dist/Atomic/UI/Price/Price.js +10 -13
- package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -11
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +27 -56
- package/dist/Atomic/UI/Status/Status.js +19 -30
- package/dist/Atomic/UI/Table/Partials/TdCell.js +28 -71
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +7 -16
- package/dist/Atomic/UI/Table/Partials/TdRow.js +29 -65
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +16 -40
- package/dist/Atomic/UI/Table/Table.js +27 -47
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -48
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -19
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +5 -8
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +25 -47
- package/dist/Atomic/UI/Tag/Tag.js +20 -48
- package/dist/Atomic/UI/TagList/TagList.js +80 -150
- package/dist/Atomic/UI/UserBox/UserBox.js +14 -26
- package/dist/Classes/AbortableFetch.js +283 -422
- package/dist/Classes/AnimatedHandler.js +44 -56
- package/dist/Classes/RESTAPI/index.js +154 -433
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +290 -428
- package/dist/Classes/RESTAPI/partials/ApiBase.js +24 -67
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +57 -275
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +146 -377
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +155 -403
- package/dist/Classes/RESTAPI/partials/Utils.js +81 -135
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +2 -6
- package/dist/Classes/RESTAPI/partials/_utils.js +101 -395
- package/dist/Constants/index.constants.js +8 -15
- package/dist/Functions/Portal.js +14 -33
- package/dist/Functions/customEventListener.js +5 -20
- package/dist/Functions/fieldValueFormatters.js +148 -211
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +75 -137
- package/dist/Functions/locale/createTranslator.js +13 -27
- package/dist/Functions/operations.js +35 -49
- package/dist/Functions/presets/inputMaskPresets.js +25 -27
- package/dist/Functions/presets/inputPresets.js +19 -22
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +7 -9
- package/dist/Functions/schemas.js +6 -15
- package/dist/Functions/useClickOutside.js +3 -7
- package/dist/Functions/useDebounce.js +11 -25
- package/dist/Functions/useFieldFocus.js +42 -67
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +35 -54
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +74 -95
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +55 -91
- package/dist/Functions/useFormTools/functions/General.js +80 -99
- package/dist/Functions/useFormTools/functions/RenderFields.js +45 -72
- package/dist/Functions/useFormTools/functions/usePrevious.js +3 -7
- package/dist/Functions/useFormTools/index.js +382 -598
- package/dist/Functions/useInputHighlightError.js +27 -52
- package/dist/Functions/useIsMobile.js +13 -36
- package/dist/Functions/useLocalStorage.js +7 -22
- package/dist/Functions/useLocationParams.js +16 -27
- package/dist/Functions/useMetaInfo.js +19 -50
- package/dist/Functions/useMouseUpOutside.js +2 -5
- package/dist/Functions/useOnlineStatus.js +7 -26
- package/dist/Functions/usePasswordChecker.js +42 -77
- package/dist/Functions/usePrevious.js +3 -7
- package/dist/Functions/useResize.js +12 -32
- package/dist/Functions/useScrollTo.js +6 -20
- package/dist/Functions/useToggle.js +10 -30
- package/dist/Functions/utils.js +186 -366
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +21 -32
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +21 -32
- package/dist/Molecular/CustomIcons/components/AppStore.js +25 -36
- package/dist/Molecular/CustomIcons/components/Arrow.js +31 -42
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +13 -24
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +16 -27
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +16 -27
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +13 -24
- package/dist/Molecular/CustomIcons/components/Bell.js +11 -22
- package/dist/Molecular/CustomIcons/components/Button.js +11 -22
- package/dist/Molecular/CustomIcons/components/Campaigns.js +12 -23
- package/dist/Molecular/CustomIcons/components/Check.js +12 -23
- package/dist/Molecular/CustomIcons/components/Check2.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +11 -22
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +26 -37
- package/dist/Molecular/CustomIcons/components/Close.js +13 -24
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +38 -49
- package/dist/Molecular/CustomIcons/components/Delete.js +12 -23
- package/dist/Molecular/CustomIcons/components/Edit.js +11 -22
- package/dist/Molecular/CustomIcons/components/Email.js +29 -40
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +19 -30
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +27 -38
- package/dist/Molecular/CustomIcons/components/Flows.js +11 -22
- package/dist/Molecular/CustomIcons/components/Gift.js +16 -27
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +25 -36
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +25 -36
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +14 -25
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +15 -26
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +14 -25
- package/dist/Molecular/CustomIcons/components/Home.js +14 -25
- package/dist/Molecular/CustomIcons/components/Home2.js +17 -28
- package/dist/Molecular/CustomIcons/components/Key.js +19 -30
- package/dist/Molecular/CustomIcons/components/Landers.js +15 -26
- package/dist/Molecular/CustomIcons/components/Lock.js +11 -22
- package/dist/Molecular/CustomIcons/components/Mail.js +19 -30
- package/dist/Molecular/CustomIcons/components/Mastercard.js +61 -72
- package/dist/Molecular/CustomIcons/components/Minus.js +24 -35
- package/dist/Molecular/CustomIcons/components/Offers.js +12 -23
- package/dist/Molecular/CustomIcons/components/Pause.js +24 -35
- package/dist/Molecular/CustomIcons/components/PayPal.js +38 -49
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +25 -36
- package/dist/Molecular/CustomIcons/components/Phone.js +26 -37
- package/dist/Molecular/CustomIcons/components/Play.js +24 -35
- package/dist/Molecular/CustomIcons/components/Plus.js +24 -35
- package/dist/Molecular/CustomIcons/components/Profile.js +16 -27
- package/dist/Molecular/CustomIcons/components/QRCode.js +26 -37
- package/dist/Molecular/CustomIcons/components/Rectangle.js +11 -22
- package/dist/Molecular/CustomIcons/components/Revert.js +14 -25
- package/dist/Molecular/CustomIcons/components/Star.js +10 -21
- package/dist/Molecular/CustomIcons/components/Star2.js +12 -23
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +14 -25
- package/dist/Molecular/CustomIcons/components/Trash.js +11 -22
- package/dist/Molecular/CustomIcons/components/TrashRed.js +11 -22
- package/dist/Molecular/CustomIcons/components/Triggers.js +11 -22
- package/dist/Molecular/CustomIcons/components/User.js +16 -27
- package/dist/Molecular/CustomIcons/components/Visa.js +27 -38
- package/dist/Molecular/CustomIcons/components/X.js +11 -22
- package/dist/Molecular/CustomIcons/index.js +61 -183
- package/dist/Molecular/FormElement/FormElement.js +18 -27
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +95 -112
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +35 -34
- package/dist/Molecular/InputAddress/InputAddress.js +176 -312
- package/dist/Molecular/InputPassword/InputPassword.js +15 -39
- package/dist/index.js +1 -3
- package/package.json +1 -1
- package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +0 -91
|
@@ -1,461 +1,213 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
-
|
|
18
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
-
|
|
20
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
-
|
|
22
8
|
var _outerDependencies = _interopRequireDefault(require("./_outerDependencies"));
|
|
23
|
-
|
|
24
9
|
var _utils = require("./_utils");
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
10
|
+
const {
|
|
11
|
+
jwt
|
|
12
|
+
} = _outerDependencies.default;
|
|
13
|
+
class CredentialsProcessing {
|
|
14
|
+
constructor(settings) {
|
|
15
|
+
const {
|
|
16
|
+
credentialsProcessing
|
|
17
|
+
} = settings;
|
|
18
|
+
const {
|
|
19
|
+
//? Для корректной работы установки токенов в запросы от API
|
|
20
|
+
//? нужно передавать методы getCredentials и getHeadersForAuthorize
|
|
21
|
+
getCredentials,
|
|
22
|
+
getHeadersForAuthorize,
|
|
23
|
+
//? На вход получит токен, должна вернуть объект для коструктора Headers
|
|
24
|
+
|
|
25
|
+
//? Так же опционально можно передавать
|
|
26
|
+
importCredentials,
|
|
27
|
+
//? если он передается, то он будет применяться к выводу от вызова getCredentials
|
|
28
|
+
saveCredentials,
|
|
29
|
+
//? можно будет найти в объекте credentialsProcessing, чтобы использовать кастомными методами
|
|
30
|
+
|
|
31
|
+
//! Либо вызов getCredentials, либо цепочка вызовов importCredentials(getCredentials())
|
|
32
|
+
//! должна возвращать требуемую классом структуру
|
|
33
|
+
//! Класс требует структуры
|
|
34
|
+
//! - { token }, если флоу рефреш токена НЕ используется
|
|
35
|
+
//! - { token, refreshToken, expires }, если используется флоу рефреш токена
|
|
36
|
+
|
|
37
|
+
// *********
|
|
38
|
+
|
|
39
|
+
//? Подключает флоу рефреша токенов
|
|
40
|
+
isUseRefreshTokensPropcessing = false,
|
|
41
|
+
//! Для корректной работы флоу рефреша токенов передача метода saveCredentials становится ОБЯЗАТЕЛЬНОЙ
|
|
42
|
+
|
|
43
|
+
//? Так же для корректной работы флоу рефреша токенов нужно
|
|
44
|
+
//? - либо
|
|
45
|
+
refreshCredentials,
|
|
46
|
+
//! метод должен возвращать такую же структуру как и метод getCredentials,
|
|
47
|
+
//? на вход получит текущие креды, к выходу будет применен importCredentials, если этот метод передавался
|
|
48
|
+
//? - либо
|
|
49
|
+
REFRESH_TOKEN_PATH,
|
|
50
|
+
//! REFRESH_TOKEN_PATH передается ПОЛНОСТЬЮ (глобальная адресация)!
|
|
51
|
+
CODES_USING_THE_REFRESH_ATTEMPT,
|
|
52
|
+
//? указывает по каким кодам ответа триггериться рефреш, массив чисел
|
|
53
|
+
|
|
54
|
+
//? Опционально
|
|
55
|
+
REFRESH_TOKEN_FLAG = 'refreshTokenFlag',
|
|
56
|
+
INTERVAL_FOR_CHECKING_TOKEN_UPDATE = 50,
|
|
57
|
+
// ms
|
|
58
|
+
callbackAfterRejectRefresh
|
|
59
|
+
} = credentialsProcessing || {};
|
|
53
60
|
if (typeof getCredentials !== 'function') throw new Error('No getCredentials method [CredentialsProcessing]');
|
|
54
|
-
|
|
55
61
|
if (typeof getHeadersForAuthorize !== 'function') {
|
|
56
62
|
throw new Error('No getHeadersForAuthorize method [CredentialsProcessing]');
|
|
57
63
|
}
|
|
58
|
-
|
|
59
64
|
if (importCredentials && typeof importCredentials !== 'function') {
|
|
60
65
|
throw new Error('Bad importCredentials method [CredentialsProcessing]');
|
|
61
66
|
}
|
|
62
|
-
|
|
63
67
|
this.isUseRefreshTokensPropcessing = isUseRefreshTokensPropcessing;
|
|
64
68
|
this.DEFAULT_CREDENTIALS = {};
|
|
65
69
|
this.getCredentialsByOuter = getCredentials;
|
|
66
70
|
this.getHeadersForAuthorize = getHeadersForAuthorize;
|
|
67
|
-
this.importCredentials = importCredentials;
|
|
71
|
+
this.importCredentials = importCredentials;
|
|
68
72
|
|
|
73
|
+
//? Если метод передан или если не передан, но включен флоу обновления токенов (тогда saveCredentials обязателен)
|
|
69
74
|
if (saveCredentials || isUseRefreshTokensPropcessing) {
|
|
70
75
|
if (typeof saveCredentials !== 'function') throw new Error('No saveCredentials method [CredentialsProcessing]');else this.saveCredentials = saveCredentials;
|
|
71
76
|
}
|
|
72
|
-
|
|
73
77
|
if (isUseRefreshTokensPropcessing) {
|
|
74
78
|
if (typeof refreshCredentials === 'function') this.refreshCredentialsByOuter = refreshCredentials;else {
|
|
75
79
|
if (typeof this.refreshCredentialsByOuter === 'function' && typeof REFRESH_TOKEN_PATH !== 'string') {
|
|
76
80
|
throw new Error('No REFRESH_TOKEN_PATH [CredentialsProcessing]');
|
|
77
81
|
}
|
|
78
|
-
|
|
79
82
|
this.REFRESH_TOKEN_PATH = REFRESH_TOKEN_PATH;
|
|
80
83
|
}
|
|
81
|
-
|
|
82
84
|
if (!Array.isArray(CODES_USING_THE_REFRESH_ATTEMPT)) {
|
|
83
85
|
throw new Error('No CODES_USING_THE_REFRESH_ATTEMPT [CredentialsProcessing]');
|
|
84
86
|
}
|
|
85
|
-
|
|
86
|
-
if (!CODES_USING_THE_REFRESH_ATTEMPT.every(function (i) {
|
|
87
|
-
return typeof i === 'number';
|
|
88
|
-
})) {
|
|
87
|
+
if (!CODES_USING_THE_REFRESH_ATTEMPT.every(i => typeof i === 'number')) {
|
|
89
88
|
throw new Error('Invalid format of CODES_USING_THE_REFRESH_ATTEMPT elements [CredentialsProcessing]');
|
|
90
89
|
}
|
|
91
|
-
|
|
92
90
|
if (typeof REFRESH_TOKEN_FLAG !== 'string') throw new Error('Bad REFRESH_TOKEN_FLAG [CredentialsProcessing]');
|
|
93
|
-
|
|
94
91
|
if (typeof INTERVAL_FOR_CHECKING_TOKEN_UPDATE !== 'number') {
|
|
95
92
|
throw new Error('Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]');
|
|
96
93
|
}
|
|
97
|
-
|
|
98
94
|
if (typeof INTERVAL_FOR_CHECKING_TOKEN_UPDATE !== 'number') {
|
|
99
95
|
throw new Error('Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]');
|
|
100
96
|
}
|
|
101
|
-
|
|
102
97
|
if (callbackAfterRejectRefresh && typeof callbackAfterRejectRefresh !== 'function') {
|
|
103
98
|
throw new Error('Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]');
|
|
104
99
|
}
|
|
105
|
-
|
|
106
100
|
this.CODES_USING_THE_REFRESH_ATTEMPT = CODES_USING_THE_REFRESH_ATTEMPT;
|
|
107
101
|
this.REFRESH_TOKEN_FLAG = REFRESH_TOKEN_FLAG;
|
|
108
102
|
this.INTERVAL_FOR_CHECKING_TOKEN_UPDATE = INTERVAL_FOR_CHECKING_TOKEN_UPDATE;
|
|
109
103
|
if (callbackAfterRejectRefresh) this.callbackAfterRejectRefresh = callbackAfterRejectRefresh;
|
|
110
104
|
}
|
|
111
105
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
106
|
+
getIsTokenStartRefresh() {
|
|
107
|
+
return localStorage.getItem(this.REFRESH_TOKEN_FLAG);
|
|
108
|
+
}
|
|
109
|
+
setIsTokenStartRefresh() {
|
|
110
|
+
localStorage.setItem(this.REFRESH_TOKEN_FLAG, true);
|
|
111
|
+
}
|
|
112
|
+
removeIsTokenStartRefresh() {
|
|
113
|
+
localStorage.removeItem(this.REFRESH_TOKEN_FLAG);
|
|
114
|
+
}
|
|
115
|
+
async getCredentials(isCatchCallbackProcess, callback) {
|
|
116
|
+
let credentials = await this.getCredentialsByOuter();
|
|
117
|
+
if (typeof this.importCredentials === 'function') credentials = await this.importCredentials(credentials);
|
|
118
|
+
if (!(0, _utils.getIsOnlyAnObject)(credentials)) credentials = {};
|
|
119
|
+
const token = credentials.token || null;
|
|
120
|
+
if (token && !isCatchCallbackProcess) {
|
|
121
|
+
let decoded;
|
|
122
|
+
try {
|
|
123
|
+
decoded = jwt.decode(token);
|
|
124
|
+
} catch {
|
|
125
|
+
decoded = null;
|
|
126
|
+
}
|
|
127
|
+
const currentTime = Date.now() / 1000;
|
|
128
|
+
if (decoded !== null && +decoded.exp < currentTime) credentials = {
|
|
129
|
+
...credentials,
|
|
130
|
+
isNeedRefresh: true
|
|
131
|
+
};
|
|
117
132
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
133
|
+
if (callback) await callback({
|
|
134
|
+
...credentials,
|
|
135
|
+
isCatchCallbackProcess
|
|
136
|
+
});
|
|
137
|
+
return {
|
|
138
|
+
...credentials,
|
|
139
|
+
isCatchCallbackProcess
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
async refreshCredentials(currentCredentials, callback) {
|
|
143
|
+
const CONTEXT = this;
|
|
144
|
+
async function finalize(cred) {
|
|
145
|
+
if (callback) await callback(cred);
|
|
146
|
+
return Promise.resolve(cred).then(async res => {
|
|
147
|
+
CONTEXT.removeIsTokenStartRefresh();
|
|
148
|
+
return res;
|
|
149
|
+
});
|
|
122
150
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
151
|
+
if (!(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.token) || !(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.refreshToken)) return finalize(CONTEXT.DEFAULT_CREDENTIALS);
|
|
152
|
+
|
|
153
|
+
//! ВНИМАНИЕ! Данный механизм рефреша принят на проекте finturfreactfrontend (админка)
|
|
154
|
+
//! На кабинете он ТОЧНО НЕ ТАКОЙ
|
|
155
|
+
async function refreshCredentialsByDefault() {
|
|
156
|
+
const {
|
|
157
|
+
token,
|
|
158
|
+
refreshToken
|
|
159
|
+
} = currentCredentials;
|
|
160
|
+
const headers = new Headers();
|
|
161
|
+
headers.append(...Object.entries(CONTEXT.getHeadersForAuthorize(token)));
|
|
162
|
+
const body = new FormData();
|
|
163
|
+
body.append('grant_type', 'refresh_token');
|
|
164
|
+
body.append('refresh_token', refreshToken);
|
|
165
|
+
body.append('client_id', 'oauth');
|
|
166
|
+
body.append('client_secret', 'secret');
|
|
167
|
+
body.append('access_type', 'offline');
|
|
168
|
+
return fetch("".concat(CONTEXT.REFRESH_TOKEN_PATH), {
|
|
169
|
+
mode: 'cors',
|
|
170
|
+
method: 'POST',
|
|
171
|
+
headers,
|
|
172
|
+
body,
|
|
173
|
+
redirect: 'follow'
|
|
174
|
+
});
|
|
127
175
|
}
|
|
128
|
-
}, {
|
|
129
|
-
key: "getCredentials",
|
|
130
|
-
value: function () {
|
|
131
|
-
var _getCredentials = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(isCatchCallbackProcess, callback) {
|
|
132
|
-
var credentials, token, decoded, currentTime;
|
|
133
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
134
|
-
while (1) {
|
|
135
|
-
switch (_context.prev = _context.next) {
|
|
136
|
-
case 0:
|
|
137
|
-
_context.next = 2;
|
|
138
|
-
return this.getCredentialsByOuter();
|
|
139
|
-
|
|
140
|
-
case 2:
|
|
141
|
-
credentials = _context.sent;
|
|
142
|
-
|
|
143
|
-
if (!(typeof this.importCredentials === 'function')) {
|
|
144
|
-
_context.next = 7;
|
|
145
|
-
break;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
_context.next = 6;
|
|
149
|
-
return this.importCredentials(credentials);
|
|
150
|
-
|
|
151
|
-
case 6:
|
|
152
|
-
credentials = _context.sent;
|
|
153
|
-
|
|
154
|
-
case 7:
|
|
155
|
-
if (!(0, _utils.getIsOnlyAnObject)(credentials)) credentials = {};
|
|
156
|
-
token = credentials.token || null;
|
|
157
|
-
|
|
158
|
-
if (token && !isCatchCallbackProcess) {
|
|
159
|
-
try {
|
|
160
|
-
decoded = jwt.decode(token);
|
|
161
|
-
} catch (_unused) {
|
|
162
|
-
decoded = null;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
currentTime = Date.now() / 1000;
|
|
166
|
-
if (decoded !== null && +decoded.exp < currentTime) credentials = _objectSpread(_objectSpread({}, credentials), {}, {
|
|
167
|
-
isNeedRefresh: true
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
if (!callback) {
|
|
172
|
-
_context.next = 13;
|
|
173
|
-
break;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
_context.next = 13;
|
|
177
|
-
return callback(_objectSpread(_objectSpread({}, credentials), {}, {
|
|
178
|
-
isCatchCallbackProcess: isCatchCallbackProcess
|
|
179
|
-
}));
|
|
180
|
-
|
|
181
|
-
case 13:
|
|
182
|
-
return _context.abrupt("return", _objectSpread(_objectSpread({}, credentials), {}, {
|
|
183
|
-
isCatchCallbackProcess: isCatchCallbackProcess
|
|
184
|
-
}));
|
|
185
|
-
|
|
186
|
-
case 14:
|
|
187
|
-
case "end":
|
|
188
|
-
return _context.stop();
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}, _callee, this);
|
|
192
|
-
}));
|
|
193
|
-
|
|
194
|
-
function getCredentials(_x, _x2) {
|
|
195
|
-
return _getCredentials.apply(this, arguments);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
return getCredentials;
|
|
199
|
-
}()
|
|
200
|
-
}, {
|
|
201
|
-
key: "refreshCredentials",
|
|
202
|
-
value: function () {
|
|
203
|
-
var _refreshCredentials = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(currentCredentials, callback) {
|
|
204
|
-
var CONTEXT, finalize, _finalize, refreshCredentialsByDefault, _refreshCredentialsByDefault, newCredentials;
|
|
205
|
-
|
|
206
|
-
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
207
|
-
while (1) {
|
|
208
|
-
switch (_context5.prev = _context5.next) {
|
|
209
|
-
case 0:
|
|
210
|
-
_refreshCredentialsByDefault = function _refreshCredentialsBy2() {
|
|
211
|
-
_refreshCredentialsByDefault = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
212
|
-
var token, refreshToken, headers, body;
|
|
213
|
-
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
214
|
-
while (1) {
|
|
215
|
-
switch (_context4.prev = _context4.next) {
|
|
216
|
-
case 0:
|
|
217
|
-
token = currentCredentials.token, refreshToken = currentCredentials.refreshToken;
|
|
218
|
-
headers = new Headers();
|
|
219
|
-
headers.append.apply(headers, (0, _toConsumableArray2.default)(Object.entries(CONTEXT.getHeadersForAuthorize(token))));
|
|
220
|
-
body = new FormData();
|
|
221
|
-
body.append('grant_type', 'refresh_token');
|
|
222
|
-
body.append('refresh_token', refreshToken);
|
|
223
|
-
body.append('client_id', 'oauth');
|
|
224
|
-
body.append('client_secret', 'secret');
|
|
225
|
-
body.append('access_type', 'offline');
|
|
226
|
-
return _context4.abrupt("return", fetch("".concat(CONTEXT.REFRESH_TOKEN_PATH), {
|
|
227
|
-
mode: 'cors',
|
|
228
|
-
method: 'POST',
|
|
229
|
-
headers: headers,
|
|
230
|
-
body: body,
|
|
231
|
-
redirect: 'follow'
|
|
232
|
-
}));
|
|
233
|
-
|
|
234
|
-
case 10:
|
|
235
|
-
case "end":
|
|
236
|
-
return _context4.stop();
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}, _callee4);
|
|
240
|
-
}));
|
|
241
|
-
return _refreshCredentialsByDefault.apply(this, arguments);
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
refreshCredentialsByDefault = function _refreshCredentialsBy() {
|
|
245
|
-
return _refreshCredentialsByDefault.apply(this, arguments);
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
_finalize = function _finalize3() {
|
|
249
|
-
_finalize = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(cred) {
|
|
250
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
251
|
-
while (1) {
|
|
252
|
-
switch (_context3.prev = _context3.next) {
|
|
253
|
-
case 0:
|
|
254
|
-
if (!callback) {
|
|
255
|
-
_context3.next = 3;
|
|
256
|
-
break;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
_context3.next = 3;
|
|
260
|
-
return callback(cred);
|
|
261
|
-
|
|
262
|
-
case 3:
|
|
263
|
-
return _context3.abrupt("return", Promise.resolve(cred).then( /*#__PURE__*/function () {
|
|
264
|
-
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(res) {
|
|
265
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
266
|
-
while (1) {
|
|
267
|
-
switch (_context2.prev = _context2.next) {
|
|
268
|
-
case 0:
|
|
269
|
-
CONTEXT.removeIsTokenStartRefresh();
|
|
270
|
-
return _context2.abrupt("return", res);
|
|
271
|
-
|
|
272
|
-
case 2:
|
|
273
|
-
case "end":
|
|
274
|
-
return _context2.stop();
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
}, _callee2);
|
|
278
|
-
}));
|
|
279
|
-
|
|
280
|
-
return function (_x6) {
|
|
281
|
-
return _ref2.apply(this, arguments);
|
|
282
|
-
};
|
|
283
|
-
}()));
|
|
284
|
-
|
|
285
|
-
case 4:
|
|
286
|
-
case "end":
|
|
287
|
-
return _context3.stop();
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
}, _callee3);
|
|
291
|
-
}));
|
|
292
|
-
return _finalize.apply(this, arguments);
|
|
293
|
-
};
|
|
294
|
-
|
|
295
|
-
finalize = function _finalize2(_x5) {
|
|
296
|
-
return _finalize.apply(this, arguments);
|
|
297
|
-
};
|
|
298
|
-
|
|
299
|
-
CONTEXT = this;
|
|
300
|
-
|
|
301
|
-
if (!(!(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.token) || !(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.refreshToken))) {
|
|
302
|
-
_context5.next = 7;
|
|
303
|
-
break;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
return _context5.abrupt("return", finalize(CONTEXT.DEFAULT_CREDENTIALS));
|
|
307
|
-
|
|
308
|
-
case 7:
|
|
309
|
-
if (!(typeof CONTEXT.refreshCredentialsByOuter === 'function')) {
|
|
310
|
-
_context5.next = 13;
|
|
311
|
-
break;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
_context5.next = 10;
|
|
315
|
-
return CONTEXT.refreshCredentialsByOuter(currentCredentials);
|
|
316
|
-
|
|
317
|
-
case 10:
|
|
318
|
-
_context5.t0 = _context5.sent;
|
|
319
|
-
_context5.next = 16;
|
|
320
|
-
break;
|
|
321
|
-
|
|
322
|
-
case 13:
|
|
323
|
-
_context5.next = 15;
|
|
324
|
-
return refreshCredentialsByDefault();
|
|
325
|
-
|
|
326
|
-
case 15:
|
|
327
|
-
_context5.t0 = _context5.sent;
|
|
328
|
-
|
|
329
|
-
case 16:
|
|
330
|
-
newCredentials = _context5.t0;
|
|
331
|
-
return _context5.abrupt("return", finalize(newCredentials));
|
|
332
|
-
|
|
333
|
-
case 18:
|
|
334
|
-
case "end":
|
|
335
|
-
return _context5.stop();
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
}, _callee5, this);
|
|
339
|
-
}));
|
|
340
176
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
return _context6.abrupt("return", new Promise(function (resolve) {
|
|
358
|
-
if (!_this.getIsTokenStartRefresh()) {
|
|
359
|
-
if (isNeedRefresh) _this.setIsTokenStartRefresh();
|
|
360
|
-
resolve();
|
|
361
|
-
} else {
|
|
362
|
-
var intervalId = setInterval(function () {
|
|
363
|
-
if (!_this.getIsTokenStartRefresh()) {
|
|
364
|
-
clearInterval(intervalId);
|
|
365
|
-
resolve();
|
|
366
|
-
}
|
|
367
|
-
}, _this.INTERVAL_FOR_CHECKING_TOKEN_UPDATE);
|
|
368
|
-
}
|
|
369
|
-
}));
|
|
370
|
-
|
|
371
|
-
case 1:
|
|
372
|
-
case "end":
|
|
373
|
-
return _context6.stop();
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
}, _callee6);
|
|
377
|
-
}));
|
|
378
|
-
|
|
379
|
-
function waitRefresh(_x7) {
|
|
380
|
-
return _waitRefresh.apply(this, arguments);
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
return waitRefresh;
|
|
384
|
-
}()
|
|
385
|
-
}, {
|
|
386
|
-
key: "processCredentials",
|
|
387
|
-
value: function () {
|
|
388
|
-
var _processCredentials = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(cred) {
|
|
389
|
-
var CONTEXT;
|
|
390
|
-
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
391
|
-
while (1) {
|
|
392
|
-
switch (_context8.prev = _context8.next) {
|
|
393
|
-
case 0:
|
|
394
|
-
if (!(!cred.isNeedRefresh && !cred.isCatchCallbackProcess)) {
|
|
395
|
-
_context8.next = 2;
|
|
396
|
-
break;
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
return _context8.abrupt("return", cred);
|
|
400
|
-
|
|
401
|
-
case 2:
|
|
402
|
-
CONTEXT = this;
|
|
403
|
-
return _context8.abrupt("return", CONTEXT.refreshCredentials(cred, function (response) {
|
|
404
|
-
return CONTEXT.saveCredentials(response);
|
|
405
|
-
}).then(function () {
|
|
406
|
-
return new Promise(function (resolve) {
|
|
407
|
-
setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
|
|
408
|
-
var _CONTEXT$callbackAfte;
|
|
409
|
-
|
|
410
|
-
var newCredentials;
|
|
411
|
-
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
412
|
-
while (1) {
|
|
413
|
-
switch (_context7.prev = _context7.next) {
|
|
414
|
-
case 0:
|
|
415
|
-
_context7.next = 2;
|
|
416
|
-
return CONTEXT.getCredentials();
|
|
417
|
-
|
|
418
|
-
case 2:
|
|
419
|
-
newCredentials = _context7.sent;
|
|
420
|
-
|
|
421
|
-
if (newCredentials !== null && newCredentials !== void 0 && newCredentials.token) {
|
|
422
|
-
_context7.next = 6;
|
|
423
|
-
break;
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
_context7.next = 6;
|
|
427
|
-
return CONTEXT === null || CONTEXT === void 0 ? void 0 : (_CONTEXT$callbackAfte = CONTEXT.callbackAfterRejectRefresh) === null || _CONTEXT$callbackAfte === void 0 ? void 0 : _CONTEXT$callbackAfte.call(CONTEXT);
|
|
428
|
-
|
|
429
|
-
case 6:
|
|
430
|
-
resolve(newCredentials);
|
|
431
|
-
|
|
432
|
-
case 7:
|
|
433
|
-
case "end":
|
|
434
|
-
return _context7.stop();
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
}, _callee7);
|
|
438
|
-
})), 0);
|
|
439
|
-
});
|
|
440
|
-
}));
|
|
441
|
-
|
|
442
|
-
case 4:
|
|
443
|
-
case "end":
|
|
444
|
-
return _context8.stop();
|
|
445
|
-
}
|
|
177
|
+
//? Передавайте собственный refreshCredentials при получении экземляра RESTAPI, если не уверены,
|
|
178
|
+
//? что механизм рефреша токенов ИМЕННО ТАКОЙ как в ф-и refreshCredentialsByDefault!
|
|
179
|
+
//! currentCredentials передаются в формате класса! ({ token, refreshToken, expires })
|
|
180
|
+
const newCredentials = typeof CONTEXT.refreshCredentialsByOuter === 'function' ? await CONTEXT.refreshCredentialsByOuter(currentCredentials) : await refreshCredentialsByDefault();
|
|
181
|
+
return finalize(newCredentials);
|
|
182
|
+
}
|
|
183
|
+
async waitRefresh(isNeedRefresh) {
|
|
184
|
+
return new Promise(resolve => {
|
|
185
|
+
if (!this.getIsTokenStartRefresh()) {
|
|
186
|
+
if (isNeedRefresh) this.setIsTokenStartRefresh();
|
|
187
|
+
resolve();
|
|
188
|
+
} else {
|
|
189
|
+
const intervalId = setInterval(() => {
|
|
190
|
+
if (!this.getIsTokenStartRefresh()) {
|
|
191
|
+
clearInterval(intervalId);
|
|
192
|
+
resolve();
|
|
446
193
|
}
|
|
447
|
-
},
|
|
448
|
-
}));
|
|
449
|
-
|
|
450
|
-
function processCredentials(_x8) {
|
|
451
|
-
return _processCredentials.apply(this, arguments);
|
|
194
|
+
}, this.INTERVAL_FOR_CHECKING_TOKEN_UPDATE);
|
|
452
195
|
}
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
async processCredentials(cred) {
|
|
199
|
+
if (!cred.isNeedRefresh && !cred.isCatchCallbackProcess) return cred;
|
|
200
|
+
const CONTEXT = this;
|
|
201
|
+
return CONTEXT.refreshCredentials(cred, response => CONTEXT.saveCredentials(response)).then(() => {
|
|
202
|
+
return new Promise(resolve => {
|
|
203
|
+
setTimeout(async () => {
|
|
204
|
+
var _CONTEXT$callbackAfte;
|
|
205
|
+
const newCredentials = await CONTEXT.getCredentials();
|
|
206
|
+
if (!(newCredentials !== null && newCredentials !== void 0 && newCredentials.token)) await (CONTEXT === null || CONTEXT === void 0 || (_CONTEXT$callbackAfte = CONTEXT.callbackAfterRejectRefresh) === null || _CONTEXT$callbackAfte === void 0 ? void 0 : _CONTEXT$callbackAfte.call(CONTEXT));
|
|
207
|
+
resolve(newCredentials);
|
|
208
|
+
}, 0);
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
var _default = exports.default = CredentialsProcessing;
|