intelicoreact 1.3.61 → 1.3.63
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 +9 -1
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +10 -1
- package/dist/Atomic/FormElements/Calendar/Calendar.js +24 -4
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +10 -1
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +14 -2
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +54 -5
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +21 -3
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +145 -52
- package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +1 -1
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +7 -1
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +53 -12
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +15 -3
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +29 -15
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +15 -5
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +26 -6
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +35 -19
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +38 -9
- package/dist/Atomic/FormElements/Input/Input.js +57 -24
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +31 -4
- package/dist/Atomic/FormElements/InputColor/InputColor.js +14 -4
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +27 -6
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +42 -7
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +1 -1
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +21 -3
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +81 -58
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +41 -6
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -1
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +44 -14
- package/dist/Atomic/FormElements/InputLink/InputLink.js +23 -6
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +4 -0
- package/dist/Atomic/FormElements/InputMask/InputMask.js +208 -77
- package/dist/Atomic/FormElements/InputMask/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +119 -43
- package/dist/Atomic/FormElements/InputMask2/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +137 -44
- package/dist/Atomic/FormElements/InputMask3/functions.js +28 -2
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +17 -3
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +24 -5
- package/dist/Atomic/FormElements/Label/Label.js +9 -1
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +73 -35
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +15 -3
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +44 -23
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +17 -7
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +14 -3
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +10 -1
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +14 -3
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +23 -3
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +34 -17
- package/dist/Atomic/FormElements/RangeList/RangeList.js +25 -6
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +11 -1
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +72 -14
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +124 -40
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +10 -1
- package/dist/Atomic/FormElements/Switcher/Switcher.js +10 -1
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +13 -1
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +10 -1
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +17 -2
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +17 -3
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +11 -1
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +29 -6
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +3 -2
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +12 -1
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +152 -56
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +1 -1
- package/dist/Atomic/FormElements/Text/Text.js +16 -10
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +9 -1
- package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -3
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +35 -6
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +13 -4
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +21 -7
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +35 -8
- package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +91 -0
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +18 -5
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +10 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +11 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -1
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +12 -5
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
- package/dist/Atomic/Layout/Header/Header.js +15 -3
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +20 -3
- package/dist/Atomic/Layout/Spinner/Spinner.js +8 -1
- package/dist/Atomic/UI/Accordion/Accordion.js +19 -3
- package/dist/Atomic/UI/Accordion/AccordionItem.js +23 -9
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +32 -7
- package/dist/Atomic/UI/AccordionText/AccordionText.js +15 -3
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +21 -4
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +15 -3
- package/dist/Atomic/UI/Alert/Alert.js +17 -3
- package/dist/Atomic/UI/Arrow/Arrow.js +16 -3
- package/dist/Atomic/UI/Box/Box.js +9 -3
- package/dist/Atomic/UI/Button/Button.js +11 -2
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +10 -1
- package/dist/Atomic/UI/Chart/Chart.js +29 -4
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +19 -11
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +12 -1
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +34 -11
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +56 -82
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +19 -15
- package/dist/Atomic/UI/Chart/partial/utils.js +20 -6
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +13 -3
- package/dist/Atomic/UI/DateTime/DateTime.js +14 -3
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +16 -4
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +11 -3
- package/dist/Atomic/UI/DoubleString/DoubleString.js +17 -5
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +10 -3
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +52 -17
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +29 -1
- package/dist/Atomic/UI/Hint/Hint.js +30 -5
- package/dist/Atomic/UI/Modal/Modal.js +28 -6
- package/dist/Atomic/UI/Modal/ModalHOC.js +9 -1
- package/dist/Atomic/UI/Modal/ModalMobile.scss +1 -1
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -1
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +8 -1
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +49 -32
- package/dist/Atomic/UI/ModalBackup/Modal.js +90 -65
- package/dist/Atomic/UI/ModalBackup/ModalHOC.js +21 -12
- package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +11 -6
- package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +19 -15
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +21 -6
- package/dist/Atomic/UI/NavLine/NavLine.js +55 -26
- package/dist/Atomic/UI/NavLine/Tabs.js +3 -2
- package/dist/Atomic/UI/PageTitle/PageTitle.js +10 -2
- package/dist/Atomic/UI/PieChart/PieChart.js +10 -1
- package/dist/Atomic/UI/Price/Price.js +8 -3
- package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -1
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +16 -1
- package/dist/Atomic/UI/Status/Status.js +8 -1
- package/dist/Atomic/UI/Table/Partials/TdCell.js +29 -5
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +11 -1
- package/dist/Atomic/UI/Table/Partials/TdRow.js +17 -5
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +14 -3
- package/dist/Atomic/UI/Table/Table.js +12 -1
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -2
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -1
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +4 -1
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +13 -1
- package/dist/Atomic/UI/Tag/Tag.js +14 -3
- package/dist/Atomic/UI/TagList/TagList.js +35 -19
- package/dist/Atomic/UI/UserBox/UserBox.js +13 -1
- package/dist/Classes/AbortableFetch.js +93 -36
- package/dist/Classes/AnimatedHandler.js +7 -3
- package/dist/Classes/RESTAPI/index.js +43 -39
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +93 -35
- package/dist/Classes/RESTAPI/partials/ApiBase.js +9 -1
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +19 -7
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +35 -28
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +44 -21
- package/dist/Classes/RESTAPI/partials/Utils.js +19 -6
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +6 -2
- package/dist/Classes/RESTAPI/partials/_utils.js +36 -13
- package/dist/Constants/index.constants.js +15 -8
- package/dist/Functions/Portal.js +16 -5
- package/dist/Functions/customEventListener.js +17 -4
- package/dist/Functions/fieldValueFormatters.js +83 -43
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +26 -23
- package/dist/Functions/locale/createTranslator.js +9 -4
- package/dist/Functions/operations.js +22 -12
- package/dist/Functions/presets/inputMaskPresets.js +11 -9
- package/dist/Functions/presets/inputPresets.js +11 -8
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +9 -7
- package/dist/Functions/schemas.js +13 -6
- package/dist/Functions/useBodyScrollLock.js +6 -1
- package/dist/Functions/useClickOutside.js +4 -0
- package/dist/Functions/useDebounce.js +7 -2
- package/dist/Functions/useFieldFocus.js +18 -6
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +9 -0
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +23 -12
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +15 -6
- package/dist/Functions/useFormTools/functions/General.js +28 -18
- package/dist/Functions/useFormTools/functions/RenderFields.js +11 -2
- package/dist/Functions/useFormTools/functions/usePrevious.js +5 -1
- package/dist/Functions/useFormTools/index.js +144 -85
- package/dist/Functions/useInputHighlightError.js +12 -3
- package/dist/Functions/useIsMobile.js +16 -10
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +7 -1
- package/dist/Functions/useKeyPress/useKeyPress.js +9 -1
- package/dist/Functions/useLocalStorage.js +9 -1
- package/dist/Functions/useLocationParams.js +5 -4
- package/dist/Functions/useMetaInfo.js +10 -3
- package/dist/Functions/useMouseUpOutside.js +3 -0
- package/dist/Functions/useOnlineStatus.js +9 -1
- package/dist/Functions/usePasswordChecker.js +20 -4
- package/dist/Functions/usePrevious.js +5 -1
- package/dist/Functions/useResize.js +10 -2
- package/dist/Functions/useScrollTo.js +7 -2
- package/dist/Functions/useToggle.js +5 -1
- package/dist/Functions/utils.js +128 -49
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +9 -2
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/AppStore.js +9 -2
- package/dist/Molecular/CustomIcons/components/Arrow.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/Bell.js +9 -2
- package/dist/Molecular/CustomIcons/components/Button.js +9 -2
- package/dist/Molecular/CustomIcons/components/Campaigns.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check2.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/Close.js +9 -2
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +9 -2
- package/dist/Molecular/CustomIcons/components/Delete.js +9 -2
- package/dist/Molecular/CustomIcons/components/Edit.js +9 -2
- package/dist/Molecular/CustomIcons/components/Email.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Flows.js +9 -2
- package/dist/Molecular/CustomIcons/components/Gift.js +9 -2
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +9 -2
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Key.js +9 -2
- package/dist/Molecular/CustomIcons/components/Landers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Lock.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mail.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mastercard.js +9 -2
- package/dist/Molecular/CustomIcons/components/Minus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Offers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Pause.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPal.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +9 -2
- package/dist/Molecular/CustomIcons/components/Phone.js +9 -2
- package/dist/Molecular/CustomIcons/components/Play.js +9 -2
- package/dist/Molecular/CustomIcons/components/Plus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Profile.js +9 -2
- package/dist/Molecular/CustomIcons/components/QRCode.js +9 -2
- package/dist/Molecular/CustomIcons/components/Rectangle.js +9 -2
- package/dist/Molecular/CustomIcons/components/Revert.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star2.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +9 -2
- package/dist/Molecular/CustomIcons/components/Trash.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrashRed.js +9 -2
- package/dist/Molecular/CustomIcons/components/Triggers.js +9 -2
- package/dist/Molecular/CustomIcons/components/User.js +9 -2
- package/dist/Molecular/CustomIcons/components/Visa.js +9 -2
- package/dist/Molecular/CustomIcons/components/X.js +9 -2
- package/dist/Molecular/CustomIcons/index.js +122 -0
- package/dist/Molecular/FormElement/FormElement.js +12 -1
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +31 -30
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +12 -9
- package/dist/Molecular/InputAddress/InputAddress.js +114 -65
- package/dist/Molecular/InputAddress/InputAddress.scss +1 -1
- package/dist/Molecular/InputPassword/InputPassword.js +19 -5
- package/dist/index.js +2 -0
- package/package.json +1 -1
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _outerDependencies = _interopRequireDefault(require("./_outerDependencies"));
|
|
11
|
+
|
|
9
12
|
var _utils = require("./_utils");
|
|
13
|
+
|
|
10
14
|
const {
|
|
11
15
|
jwt
|
|
12
16
|
} = _outerDependencies.default;
|
|
17
|
+
|
|
13
18
|
class CredentialsProcessing {
|
|
14
19
|
constructor(settings) {
|
|
15
20
|
const {
|
|
@@ -21,25 +26,20 @@ class CredentialsProcessing {
|
|
|
21
26
|
getCredentials,
|
|
22
27
|
getHeadersForAuthorize,
|
|
23
28
|
//? На вход получит токен, должна вернуть объект для коструктора Headers
|
|
24
|
-
|
|
25
29
|
//? Так же опционально можно передавать
|
|
26
30
|
importCredentials,
|
|
27
31
|
//? если он передается, то он будет применяться к выводу от вызова getCredentials
|
|
28
32
|
saveCredentials,
|
|
29
33
|
//? можно будет найти в объекте credentialsProcessing, чтобы использовать кастомными методами
|
|
30
|
-
|
|
31
34
|
//! Либо вызов getCredentials, либо цепочка вызовов importCredentials(getCredentials())
|
|
32
35
|
//! должна возвращать требуемую классом структуру
|
|
33
36
|
//! Класс требует структуры
|
|
34
37
|
//! - { token }, если флоу рефреш токена НЕ используется
|
|
35
38
|
//! - { token, refreshToken, expires }, если используется флоу рефреш токена
|
|
36
|
-
|
|
37
39
|
// *********
|
|
38
|
-
|
|
39
40
|
//? Подключает флоу рефреша токенов
|
|
40
41
|
isUseRefreshTokensPropcessing = false,
|
|
41
42
|
//! Для корректной работы флоу рефреша токенов передача метода saveCredentials становится ОБЯЗАТЕЛЬНОЙ
|
|
42
|
-
|
|
43
43
|
//? Так же для корректной работы флоу рефреша токенов нужно
|
|
44
44
|
//? - либо
|
|
45
45
|
refreshCredentials,
|
|
@@ -50,7 +50,6 @@ class CredentialsProcessing {
|
|
|
50
50
|
//! REFRESH_TOKEN_PATH передается ПОЛНОСТЬЮ (глобальная адресация)!
|
|
51
51
|
CODES_USING_THE_REFRESH_ATTEMPT,
|
|
52
52
|
//? указывает по каким кодам ответа триггериться рефреш, массив чисел
|
|
53
|
-
|
|
54
53
|
//? Опционально
|
|
55
54
|
REFRESH_TOKEN_FLAG = "refreshTokenFlag",
|
|
56
55
|
INTERVAL_FOR_CHECKING_TOKEN_UPDATE = 50,
|
|
@@ -58,89 +57,107 @@ class CredentialsProcessing {
|
|
|
58
57
|
callbackAfterRejectRefresh
|
|
59
58
|
} = credentialsProcessing || {};
|
|
60
59
|
if (typeof getCredentials !== "function") throw new Error("No getCredentials method [CredentialsProcessing]");
|
|
60
|
+
|
|
61
61
|
if (typeof getHeadersForAuthorize !== "function") {
|
|
62
62
|
throw new Error("No getHeadersForAuthorize method [CredentialsProcessing]");
|
|
63
63
|
}
|
|
64
|
+
|
|
64
65
|
if (importCredentials && typeof importCredentials !== "function") {
|
|
65
66
|
throw new Error("Bad importCredentials method [CredentialsProcessing]");
|
|
66
67
|
}
|
|
68
|
+
|
|
67
69
|
this.isUseRefreshTokensPropcessing = isUseRefreshTokensPropcessing;
|
|
68
70
|
this.DEFAULT_CREDENTIALS = {};
|
|
69
71
|
this.getCredentialsByOuter = getCredentials;
|
|
70
72
|
this.getHeadersForAuthorize = getHeadersForAuthorize;
|
|
71
|
-
this.importCredentials = importCredentials;
|
|
73
|
+
this.importCredentials = importCredentials; //? Если метод передан или если не передан, но включен флоу обновления токенов (тогда saveCredentials обязателен)
|
|
72
74
|
|
|
73
|
-
//? Если метод передан или если не передан, но включен флоу обновления токенов (тогда saveCredentials обязателен)
|
|
74
75
|
if (saveCredentials || isUseRefreshTokensPropcessing) {
|
|
75
76
|
if (typeof saveCredentials !== "function") throw new Error("No saveCredentials method [CredentialsProcessing]");else this.saveCredentials = saveCredentials;
|
|
76
77
|
}
|
|
78
|
+
|
|
77
79
|
if (isUseRefreshTokensPropcessing) {
|
|
78
80
|
if (typeof refreshCredentials === "function") this.refreshCredentialsByOuter = refreshCredentials;else {
|
|
79
81
|
if (typeof this.refreshCredentialsByOuter === "function" && typeof REFRESH_TOKEN_PATH !== "string") {
|
|
80
82
|
throw new Error("No REFRESH_TOKEN_PATH [CredentialsProcessing]");
|
|
81
83
|
}
|
|
84
|
+
|
|
82
85
|
this.REFRESH_TOKEN_PATH = REFRESH_TOKEN_PATH;
|
|
83
86
|
}
|
|
87
|
+
|
|
84
88
|
if (!Array.isArray(CODES_USING_THE_REFRESH_ATTEMPT)) {
|
|
85
89
|
throw new Error("No CODES_USING_THE_REFRESH_ATTEMPT [CredentialsProcessing]");
|
|
86
90
|
}
|
|
91
|
+
|
|
87
92
|
if (!CODES_USING_THE_REFRESH_ATTEMPT.every(i => typeof i === "number")) {
|
|
88
93
|
throw new Error("Invalid format of CODES_USING_THE_REFRESH_ATTEMPT elements [CredentialsProcessing]");
|
|
89
94
|
}
|
|
95
|
+
|
|
90
96
|
if (typeof REFRESH_TOKEN_FLAG !== "string") throw new Error("Bad REFRESH_TOKEN_FLAG [CredentialsProcessing]");
|
|
97
|
+
|
|
91
98
|
if (typeof INTERVAL_FOR_CHECKING_TOKEN_UPDATE !== "number") {
|
|
92
99
|
throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
|
|
93
100
|
}
|
|
101
|
+
|
|
94
102
|
if (typeof INTERVAL_FOR_CHECKING_TOKEN_UPDATE !== "number") {
|
|
95
103
|
throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
|
|
96
104
|
}
|
|
105
|
+
|
|
97
106
|
if (callbackAfterRejectRefresh && typeof callbackAfterRejectRefresh !== "function") {
|
|
98
107
|
throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
|
|
99
108
|
}
|
|
109
|
+
|
|
100
110
|
this.CODES_USING_THE_REFRESH_ATTEMPT = CODES_USING_THE_REFRESH_ATTEMPT;
|
|
101
111
|
this.REFRESH_TOKEN_FLAG = REFRESH_TOKEN_FLAG;
|
|
102
112
|
this.INTERVAL_FOR_CHECKING_TOKEN_UPDATE = INTERVAL_FOR_CHECKING_TOKEN_UPDATE;
|
|
103
113
|
if (callbackAfterRejectRefresh) this.callbackAfterRejectRefresh = callbackAfterRejectRefresh;
|
|
104
114
|
}
|
|
105
115
|
}
|
|
116
|
+
|
|
106
117
|
getIsTokenStartRefresh() {
|
|
107
118
|
return localStorage.getItem(this.REFRESH_TOKEN_FLAG);
|
|
108
119
|
}
|
|
120
|
+
|
|
109
121
|
setIsTokenStartRefresh() {
|
|
110
122
|
localStorage.setItem(this.REFRESH_TOKEN_FLAG, true);
|
|
111
123
|
}
|
|
124
|
+
|
|
112
125
|
removeIsTokenStartRefresh() {
|
|
113
126
|
localStorage.removeItem(this.REFRESH_TOKEN_FLAG);
|
|
114
127
|
}
|
|
128
|
+
|
|
115
129
|
async getCredentials(isCatchCallbackProcess, callback) {
|
|
116
130
|
let credentials = await this.getCredentialsByOuter();
|
|
117
131
|
if (typeof this.importCredentials === "function") credentials = await this.importCredentials(credentials);
|
|
118
132
|
if (!(0, _utils.getIsOnlyAnObject)(credentials)) credentials = {};
|
|
119
133
|
const token = credentials.token || null;
|
|
134
|
+
|
|
120
135
|
if (token && !isCatchCallbackProcess) {
|
|
121
136
|
let decoded;
|
|
137
|
+
|
|
122
138
|
try {
|
|
123
139
|
decoded = jwt.decode(token);
|
|
124
140
|
} catch {
|
|
125
141
|
decoded = null;
|
|
126
142
|
}
|
|
143
|
+
|
|
127
144
|
const currentTime = Date.now() / 1000;
|
|
128
|
-
if (decoded !== null && Number(decoded.exp) < currentTime) credentials = {
|
|
129
|
-
...credentials,
|
|
145
|
+
if (decoded !== null && Number(decoded.exp) < currentTime) credentials = { ...credentials,
|
|
130
146
|
isNeedRefresh: true
|
|
131
147
|
};
|
|
132
148
|
}
|
|
133
|
-
|
|
134
|
-
|
|
149
|
+
|
|
150
|
+
if (callback) await callback({ ...credentials,
|
|
135
151
|
isCatchCallbackProcess
|
|
136
152
|
});
|
|
137
|
-
return {
|
|
138
|
-
...credentials,
|
|
153
|
+
return { ...credentials,
|
|
139
154
|
isCatchCallbackProcess
|
|
140
155
|
};
|
|
141
156
|
}
|
|
157
|
+
|
|
142
158
|
async refreshCredentials(currentCredentials, callback) {
|
|
143
159
|
const CONTEXT = this;
|
|
160
|
+
|
|
144
161
|
async function finalize(cred) {
|
|
145
162
|
if (callback) await callback(cred);
|
|
146
163
|
return Promise.resolve(cred).then(async res => {
|
|
@@ -148,10 +165,10 @@ class CredentialsProcessing {
|
|
|
148
165
|
return res;
|
|
149
166
|
});
|
|
150
167
|
}
|
|
151
|
-
if (!(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.token) || !(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.refreshToken)) return finalize(CONTEXT.DEFAULT_CREDENTIALS);
|
|
152
168
|
|
|
153
|
-
//! ВНИМАНИЕ! Данный механизм рефреша принят на проекте finturfreactfrontend (админка)
|
|
169
|
+
if (!(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.token) || !(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.refreshToken)) return finalize(CONTEXT.DEFAULT_CREDENTIALS); //! ВНИМАНИЕ! Данный механизм рефреша принят на проекте finturfreactfrontend (админка)
|
|
154
170
|
//! На кабинете он ТОЧНО НЕ ТАКОЙ
|
|
171
|
+
|
|
155
172
|
async function refreshCredentialsByDefault() {
|
|
156
173
|
const {
|
|
157
174
|
token,
|
|
@@ -172,14 +189,15 @@ class CredentialsProcessing {
|
|
|
172
189
|
body,
|
|
173
190
|
redirect: "follow"
|
|
174
191
|
});
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
//? Передавайте собственный refreshCredentials при получении экземляра RESTAPI, если не уверены,
|
|
192
|
+
} //? Передавайте собственный refreshCredentials при получении экземляра RESTAPI, если не уверены,
|
|
178
193
|
//? что механизм рефреша токенов ИМЕННО ТАКОЙ как в ф-и refreshCredentialsByDefault!
|
|
179
194
|
//! currentCredentials передаются в формате класса! ({ token, refreshToken, expires })
|
|
195
|
+
|
|
196
|
+
|
|
180
197
|
const newCredentials = typeof CONTEXT.refreshCredentialsByOuter === "function" ? await CONTEXT.refreshCredentialsByOuter(currentCredentials) : await refreshCredentialsByDefault();
|
|
181
198
|
return finalize(newCredentials);
|
|
182
199
|
}
|
|
200
|
+
|
|
183
201
|
async waitRefresh(isNeedRefresh) {
|
|
184
202
|
return new Promise(resolve => {
|
|
185
203
|
if (!this.getIsTokenStartRefresh()) {
|
|
@@ -195,6 +213,7 @@ class CredentialsProcessing {
|
|
|
195
213
|
}
|
|
196
214
|
});
|
|
197
215
|
}
|
|
216
|
+
|
|
198
217
|
async processCredentials(cred) {
|
|
199
218
|
if (!cred.isNeedRefresh && !cred.isCatchCallbackProcess) return cred;
|
|
200
219
|
const CONTEXT = this;
|
|
@@ -202,12 +221,16 @@ class CredentialsProcessing {
|
|
|
202
221
|
return new Promise(resolve => {
|
|
203
222
|
setTimeout(async () => {
|
|
204
223
|
var _CONTEXT$callbackAfte;
|
|
224
|
+
|
|
205
225
|
const newCredentials = await CONTEXT.getCredentials();
|
|
206
|
-
if (!(newCredentials !== null && newCredentials !== void 0 && newCredentials.token)) await (CONTEXT === null || CONTEXT === void 0
|
|
226
|
+
if (!(newCredentials !== null && newCredentials !== void 0 && newCredentials.token)) await (CONTEXT === null || CONTEXT === void 0 ? void 0 : (_CONTEXT$callbackAfte = CONTEXT.callbackAfterRejectRefresh) === null || _CONTEXT$callbackAfte === void 0 ? void 0 : _CONTEXT$callbackAfte.call(CONTEXT));
|
|
207
227
|
resolve(newCredentials);
|
|
208
228
|
}, 0);
|
|
209
229
|
});
|
|
210
230
|
});
|
|
211
231
|
}
|
|
232
|
+
|
|
212
233
|
}
|
|
213
|
-
|
|
234
|
+
|
|
235
|
+
var _default = CredentialsProcessing;
|
|
236
|
+
exports.default = _default;
|
|
@@ -4,13 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _utils = require("./_utils");
|
|
9
|
+
|
|
8
10
|
//? В этом кклассе собраны полезные добавочные утилиты, которые могут быть использованы другими классами,
|
|
9
11
|
//? но не имеют прямого отношения к реализации прямой ф-ти RESTAPI
|
|
10
12
|
//? Так же утилиты могут быть использованы как библиотечные
|
|
11
13
|
class Utils {
|
|
12
14
|
//! Могут содержаться НЕасинхронные методы!
|
|
13
|
-
|
|
14
15
|
//? Ф-я normalizeQueryParams является нормализатором сложных квери
|
|
15
16
|
//? Например: &key1=&&&===&&&key2====&&&&&&&&key3=....
|
|
16
17
|
//? Для корректной работы на вход нужно подавать НЕ кодированные значения
|
|
@@ -19,10 +20,12 @@ class Utils {
|
|
|
19
20
|
if (settings && !(0, _utils.getIsOnlyAnObject)(settings)) {
|
|
20
21
|
throw new Error("Bad settings [class Utils, normalizeQueryParams]");
|
|
21
22
|
}
|
|
23
|
+
|
|
22
24
|
const getInitialArr = input => {
|
|
23
25
|
const prepareParam = (key, value) => {
|
|
24
26
|
if (!value) return "".concat(key, "=");else if (typeof value === "string" || typeof value === "number") return "".concat(key, "=").concat(value);else if (Array.isArray(value)) return "".concat(key, "=").concat(value.join(""));else return "".concat(key, "=Bad-data-format");
|
|
25
27
|
};
|
|
28
|
+
|
|
26
29
|
if (Array.isArray(input)) {
|
|
27
30
|
return input.map(item => {
|
|
28
31
|
if (typeof item !== "string") return [];
|
|
@@ -38,6 +41,7 @@ class Utils {
|
|
|
38
41
|
});
|
|
39
42
|
} else if ((0, _utils.getIsOnlyAnObject)(input)) return Object.keys(input).map(key => prepareParam(key, input[key]));else if (typeof input === "string") return (input[0] === "?" ? input.slice(1) : input).split("&");else return [];
|
|
40
43
|
};
|
|
44
|
+
|
|
41
45
|
const {
|
|
42
46
|
isEncode = false,
|
|
43
47
|
outputAs = "array"
|
|
@@ -45,19 +49,23 @@ class Utils {
|
|
|
45
49
|
const initialStructure = getInitialArr(queryParams);
|
|
46
50
|
const normalizedStructure = initialStructure.reduce((acc, str, idx) => {
|
|
47
51
|
const lastIndex = acc.result.length - 1;
|
|
52
|
+
|
|
48
53
|
const processToJoin = function (val) {
|
|
49
54
|
let recoverableSymbol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "&";
|
|
50
55
|
const encodedToJoin = "".concat(encodeURIComponent(recoverableSymbol)).concat(encodeURIComponent(val));
|
|
51
56
|
acc.result[lastIndex] = "".concat(acc.result[lastIndex]).concat(encodedToJoin);
|
|
52
57
|
acc.toJoin = null;
|
|
53
58
|
};
|
|
59
|
+
|
|
54
60
|
if (typeof acc.toJoin === "string") processToJoin(acc.toJoin);
|
|
55
61
|
const index = str.indexOf("=");
|
|
62
|
+
|
|
56
63
|
if (index !== -1 && index !== 0) {
|
|
57
64
|
const key = str.slice(0, index);
|
|
58
65
|
acc.result.push("".concat(key, "=").concat(encodeURIComponent(str.slice(index + 1))));
|
|
59
|
-
} else acc.toJoin = str;
|
|
60
|
-
|
|
66
|
+
} else acc.toJoin = str; //? Добивка для последней итерации
|
|
67
|
+
|
|
68
|
+
|
|
61
69
|
if (idx === initialStructure.length - 1 && typeof acc.toJoin === "string") processToJoin(acc.toJoin);
|
|
62
70
|
return acc;
|
|
63
71
|
}, {
|
|
@@ -68,20 +76,22 @@ class Utils {
|
|
|
68
76
|
const [key, value] = item.split("=");
|
|
69
77
|
return [key, !isEncode ? decodeURIComponent(value) : value];
|
|
70
78
|
});
|
|
79
|
+
|
|
71
80
|
switch (outputAs) {
|
|
72
81
|
case "string":
|
|
73
82
|
return outputStructure.length ? "?".concat(outputStructure.map(_ref3 => {
|
|
74
83
|
let [key, value] = _ref3;
|
|
75
84
|
return "".concat(key, "=").concat(value);
|
|
76
85
|
}).join("&")) : "";
|
|
86
|
+
|
|
77
87
|
case "object":
|
|
78
88
|
return outputStructure.reduce((acc, _ref4) => {
|
|
79
89
|
let [key, value] = _ref4;
|
|
80
|
-
return {
|
|
81
|
-
...acc,
|
|
90
|
+
return { ...acc,
|
|
82
91
|
[key]: value
|
|
83
92
|
};
|
|
84
93
|
}, {});
|
|
94
|
+
|
|
85
95
|
default:
|
|
86
96
|
return outputStructure.map(_ref5 => {
|
|
87
97
|
let [key, value] = _ref5;
|
|
@@ -89,5 +99,8 @@ class Utils {
|
|
|
89
99
|
});
|
|
90
100
|
}
|
|
91
101
|
}
|
|
102
|
+
|
|
92
103
|
}
|
|
93
|
-
|
|
104
|
+
|
|
105
|
+
var _default = Utils;
|
|
106
|
+
exports.default = _default;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _jsonwebtoken = _interopRequireDefault(require("jsonwebtoken"));
|
|
9
|
-
|
|
11
|
+
|
|
12
|
+
var _default = {
|
|
10
13
|
jwt: _jsonwebtoken.default
|
|
11
|
-
};
|
|
14
|
+
};
|
|
15
|
+
exports.default = _default;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
@@ -9,19 +10,28 @@ exports.clone = void 0;
|
|
|
9
10
|
exports.getInstanceOfFetchSystem = getInstanceOfFetchSystem;
|
|
10
11
|
exports.getIsOnlyAnObject = getIsOnlyAnObject;
|
|
11
12
|
exports.getResponseClone = void 0;
|
|
13
|
+
|
|
12
14
|
var _AbortableFetch = _interopRequireDefault(require("./AbortableFetch"));
|
|
15
|
+
|
|
13
16
|
function getIsOnlyAnObject(input) {
|
|
14
17
|
return typeof input === "object" && input instanceof Object && !Array.isArray(input);
|
|
15
18
|
}
|
|
19
|
+
|
|
16
20
|
const clone = input => {
|
|
17
21
|
if (input === null || typeof input !== "object") return input;
|
|
18
22
|
const data = input instanceof Array ? [] : {};
|
|
23
|
+
|
|
19
24
|
for (const i in input) data[i] = clone(input[i]);
|
|
25
|
+
|
|
20
26
|
return data;
|
|
21
27
|
};
|
|
28
|
+
|
|
22
29
|
exports.clone = clone;
|
|
30
|
+
|
|
23
31
|
const getResponseClone = async res => typeof (res === null || res === void 0 ? void 0 : res.clone) === "function" ? await res.clone() : clone(res);
|
|
32
|
+
|
|
24
33
|
exports.getResponseClone = getResponseClone;
|
|
34
|
+
|
|
25
35
|
function addCustomMethods(data, prefix) {
|
|
26
36
|
const preparedPrefix = (prefix || "").toString();
|
|
27
37
|
Object.keys(data).forEach(key => {
|
|
@@ -29,45 +39,50 @@ function addCustomMethods(data, prefix) {
|
|
|
29
39
|
if (typeof data[key] === "function" && getIsOnlyAnObject(this)) this[preparedKey] = data[key];
|
|
30
40
|
});
|
|
31
41
|
}
|
|
42
|
+
|
|
32
43
|
async function getInstanceOfFetchSystem(isGetBody) {
|
|
33
44
|
var _API_CONTEXT$addAsCom;
|
|
45
|
+
|
|
34
46
|
const API_CONTEXT = this;
|
|
35
47
|
const CREDENTIALS_CONTEXT = API_CONTEXT.credentialsProcessing;
|
|
36
|
-
let credentials = {};
|
|
37
|
-
|
|
48
|
+
let credentials = {}; //? Наличие credentialsProcessing включает добавление токена в принципе (если авторизованы в системе)
|
|
49
|
+
|
|
38
50
|
if (CREDENTIALS_CONTEXT) {
|
|
39
51
|
//? Метод getCredentials - классовый метод, обертка над getCredentials, переданным при создании экземпляра
|
|
40
52
|
//? В классовом getCredentials уже инкапсулирована логика использования importCredentials
|
|
41
53
|
const cred = await CREDENTIALS_CONTEXT.getCredentials();
|
|
42
54
|
credentials = CREDENTIALS_CONTEXT.isUseRefreshTokensPropcessing ? await CREDENTIALS_CONTEXT.waitRefresh(cred.isNeedRefresh && !CREDENTIALS_CONTEXT.getIsTokenStartRefresh()).then(async () => CREDENTIALS_CONTEXT.processCredentials(await CREDENTIALS_CONTEXT.getCredentials())) : cred;
|
|
43
55
|
}
|
|
56
|
+
|
|
44
57
|
if (API_CONTEXT.addAsCommon && typeof API_CONTEXT.addAsCommon !== "function") {
|
|
45
58
|
throw new Error("addAsCommon must be function [getInstanceOfFetchSystem]");
|
|
46
59
|
}
|
|
60
|
+
|
|
47
61
|
const {
|
|
48
62
|
headers: headersToAbortableFetchInstance,
|
|
49
63
|
queryParameters: queryParamsToAbortableFetchInstance,
|
|
50
64
|
options: optionsToAbortableFetchInstance
|
|
51
65
|
} = (await ((_API_CONTEXT$addAsCom = API_CONTEXT.addAsCommon) === null || _API_CONTEXT$addAsCom === void 0 ? void 0 : _API_CONTEXT$addAsCom.call(API_CONTEXT))) || {};
|
|
66
|
+
|
|
52
67
|
if (headersToAbortableFetchInstance && !getIsOnlyAnObject(headersToAbortableFetchInstance) || optionsToAbortableFetchInstance && !getIsOnlyAnObject(optionsToAbortableFetchInstance) || queryParamsToAbortableFetchInstance && !(typeof queryParamsToAbortableFetchInstance === "string" || getIsOnlyAnObject(queryParamsToAbortableFetchInstance) || Array.isArray(queryParamsToAbortableFetchInstance))) {
|
|
53
68
|
throw new Error("Bad output format from addAsCommon [getInstanceOfFetchSystem]");
|
|
54
|
-
}
|
|
69
|
+
} //? По итогу возвращается экземпляр класса AbortableFetch (который мы конфигурируем большим объектом настроек)
|
|
70
|
+
|
|
55
71
|
|
|
56
|
-
//? По итогу возвращается экземпляр класса AbortableFetch (который мы конфигурируем большим объектом настроек)
|
|
57
72
|
return (CREDENTIALS_CONTEXT !== null && CREDENTIALS_CONTEXT !== void 0 && CREDENTIALS_CONTEXT.isUseRefreshTokensPropcessing ? CREDENTIALS_CONTEXT.waitRefresh() : Promise.resolve()).then(async () => {
|
|
58
73
|
var _CREDENTIALS_CONTEXT$;
|
|
74
|
+
|
|
59
75
|
return new _AbortableFetch.default({
|
|
60
76
|
//? Метод по умолчанию
|
|
61
77
|
method: "GET",
|
|
62
78
|
//? Заголовки по умолчанию
|
|
63
|
-
headers: {
|
|
64
|
-
...headersToAbortableFetchInstance,
|
|
79
|
+
headers: { ...headersToAbortableFetchInstance,
|
|
65
80
|
//? (*) Тут обрабатываются кейсы
|
|
66
81
|
//? - когда нет this.credentialsProcessing
|
|
67
82
|
//? (мы НЕ хотим добавлять токены в принципе, не зашли в верхнюю if-ку)
|
|
68
83
|
//? - когда есть this.credentialsProcessing, но нет credentials.token (не авторизованы)
|
|
69
84
|
//? (зашли в верхнюю if-ку, попробовали получить/обновить креды)
|
|
70
|
-
...(credentials.token ? (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0
|
|
85
|
+
...(credentials.token ? (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : (_CREDENTIALS_CONTEXT$ = CREDENTIALS_CONTEXT.getHeadersForAuthorize) === null || _CREDENTIALS_CONTEXT$ === void 0 ? void 0 : _CREDENTIALS_CONTEXT$.call(CREDENTIALS_CONTEXT, credentials.token)) || {} : {})
|
|
71
86
|
},
|
|
72
87
|
queryParameters: await API_CONTEXT.processQueryParams(queryParamsToAbortableFetchInstance),
|
|
73
88
|
//? Опции по умолчанию
|
|
@@ -79,38 +94,45 @@ async function getInstanceOfFetchSystem(isGetBody) {
|
|
|
79
94
|
//? Каждый запрос (каждый запрос мультизапроса), сделаный методом request этого экземпляра выполнит этот колбек
|
|
80
95
|
everyPromiseCallback: async function everyPromiseCallback(response) {
|
|
81
96
|
var _CREDENTIALS_CONTEXT$2, _CREDENTIALS_CONTEXT$3;
|
|
97
|
+
|
|
82
98
|
//? this - это НЕ API_CONTEXT и НЕ CREDENTIALS_CONTEXT, a итоговый эекземпляр AbortableFetch
|
|
83
99
|
const ABORTABLE_FETCH_INSTANCE = this;
|
|
100
|
+
|
|
84
101
|
if (!response.status) {
|
|
85
102
|
var _request$mesageOption;
|
|
103
|
+
|
|
86
104
|
const request = ABORTABLE_FETCH_INSTANCE.requestInput.find(item => item.path === response.request.path);
|
|
87
|
-
const isUseErrorToast = request === null || request === void 0
|
|
105
|
+
const isUseErrorToast = request === null || request === void 0 ? void 0 : (_request$mesageOption = request.mesageOptions) === null || _request$mesageOption === void 0 ? void 0 : _request$mesageOption.isUseErrorToast;
|
|
106
|
+
|
|
88
107
|
if (isUseErrorToast) {
|
|
89
108
|
var _API_CONTEXT$sendMess;
|
|
90
|
-
|
|
109
|
+
|
|
110
|
+
(_API_CONTEXT$sendMess = API_CONTEXT.sendMessage) === null || _API_CONTEXT$sendMess === void 0 ? void 0 : _API_CONTEXT$sendMess.call(API_CONTEXT, API_CONTEXT.NO_INET, request.mesageOptions, response);
|
|
91
111
|
}
|
|
92
112
|
}
|
|
113
|
+
|
|
93
114
|
return API_CONTEXT.REJECT_CODES.includes(response.status) || CREDENTIALS_CONTEXT !== null && CREDENTIALS_CONTEXT !== void 0 && CREDENTIALS_CONTEXT.isUseRefreshTokensPropcessing && CREDENTIALS_CONTEXT !== null && CREDENTIALS_CONTEXT !== void 0 && (_CREDENTIALS_CONTEXT$2 = CREDENTIALS_CONTEXT.CODES_USING_THE_REFRESH_ATTEMPT) !== null && _CREDENTIALS_CONTEXT$2 !== void 0 && (_CREDENTIALS_CONTEXT$3 = _CREDENTIALS_CONTEXT$2.includes) !== null && _CREDENTIALS_CONTEXT$3 !== void 0 && _CREDENTIALS_CONTEXT$3.call(_CREDENTIALS_CONTEXT$2, response.status) ? Promise.reject(new Error("status:".concat(response.status))) : Promise.resolve(!isGetBody ? response : await API_CONTEXT.getResponseBody(response));
|
|
94
115
|
},
|
|
95
116
|
//? Если хоть один запрос из пачки будет зареджекчен, зареджектится вся пачка.
|
|
96
117
|
//? В этом случае будет выполнен этот колбэк
|
|
97
118
|
catchCallback: async function catchCallback(res) {
|
|
98
119
|
var _CREDENTIALS_CONTEXT$4, _CREDENTIALS_CONTEXT$5;
|
|
120
|
+
|
|
99
121
|
//? this - это НЕ API_CONTEXT и НЕ CREDENTIALS_CONTEXT, a итоговый эекземпляр AbortableFetch
|
|
100
122
|
const ABORTABLE_FETCH_INSTANCE = this;
|
|
101
123
|
const code = Number(res.message.split(":")[1]);
|
|
124
|
+
|
|
102
125
|
if (CREDENTIALS_CONTEXT !== null && CREDENTIALS_CONTEXT !== void 0 && (_CREDENTIALS_CONTEXT$4 = CREDENTIALS_CONTEXT.CODES_USING_THE_REFRESH_ATTEMPT) !== null && _CREDENTIALS_CONTEXT$4 !== void 0 && (_CREDENTIALS_CONTEXT$5 = _CREDENTIALS_CONTEXT$4.includes) !== null && _CREDENTIALS_CONTEXT$5 !== void 0 && _CREDENTIALS_CONTEXT$5.call(_CREDENTIALS_CONTEXT$4, code)) {
|
|
103
126
|
var _CREDENTIALS_CONTEXT$6;
|
|
127
|
+
|
|
104
128
|
const isDoRefresh = !(CREDENTIALS_CONTEXT !== null && CREDENTIALS_CONTEXT !== void 0 && (_CREDENTIALS_CONTEXT$6 = CREDENTIALS_CONTEXT.getIsTokenStartRefresh) !== null && _CREDENTIALS_CONTEXT$6 !== void 0 && _CREDENTIALS_CONTEXT$6.call(CREDENTIALS_CONTEXT));
|
|
105
129
|
return CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : CREDENTIALS_CONTEXT.waitRefresh(isDoRefresh).then(async () => {
|
|
106
130
|
//? Пробуем зарефрешить
|
|
107
|
-
await (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : CREDENTIALS_CONTEXT.processCredentials({
|
|
108
|
-
...(await (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : CREDENTIALS_CONTEXT.getCredentials(true))),
|
|
131
|
+
await (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : CREDENTIALS_CONTEXT.processCredentials({ ...(await (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : CREDENTIALS_CONTEXT.getCredentials(true))),
|
|
109
132
|
isCatchCallbackProcess: isDoRefresh
|
|
110
133
|
}));
|
|
111
134
|
const newCredentials = await CREDENTIALS_CONTEXT.getCredentials();
|
|
112
|
-
ABORTABLE_FETCH_INSTANCE.setHeaders({
|
|
113
|
-
...ABORTABLE_FETCH_INSTANCE.getHeaders(),
|
|
135
|
+
ABORTABLE_FETCH_INSTANCE.setHeaders({ ...ABORTABLE_FETCH_INSTANCE.getHeaders(),
|
|
114
136
|
...(newCredentials !== null && newCredentials !== void 0 && newCredentials.token ? {
|
|
115
137
|
Authorization: "Bearer ".concat(newCredentials === null || newCredentials === void 0 ? void 0 : newCredentials.token)
|
|
116
138
|
} : {})
|
|
@@ -119,6 +141,7 @@ async function getInstanceOfFetchSystem(isGetBody) {
|
|
|
119
141
|
return Promise.reject(res);
|
|
120
142
|
});
|
|
121
143
|
}
|
|
144
|
+
|
|
122
145
|
return Promise.reject(res);
|
|
123
146
|
}
|
|
124
147
|
});
|
|
@@ -4,18 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.OS = exports.MAX_PHONE_LENGTH = exports.MAX_NAME_LENGTH = exports.KEYBOARD_SERVICE_KEYS = exports.KEYBOARD_KEY_CODES = exports.DEFAULT_DATE_MASK_NO_VALUE_SYMBOL = exports.DEFAULT_COLORS = void 0;
|
|
7
|
-
const KEYBOARD_SERVICE_KEYS =
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
7
|
+
const KEYBOARD_SERVICE_KEYS = ["Escape", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "Tab", "CapsLock", "Shift", "Control", "Meta", "Option", "Alt", "ContextMenu", "ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "NumLock", "Backspace", "Delete", "Enter", "Return", "Insert", "Home", "End", "PageUp", "PageDown", "PrintScreen", "ScrollLock", "Pause"];
|
|
8
|
+
exports.KEYBOARD_SERVICE_KEYS = KEYBOARD_SERVICE_KEYS;
|
|
9
|
+
const MAX_PHONE_LENGTH = 10;
|
|
10
|
+
exports.MAX_PHONE_LENGTH = MAX_PHONE_LENGTH;
|
|
11
|
+
const MAX_NAME_LENGTH = 128;
|
|
12
|
+
exports.MAX_NAME_LENGTH = MAX_NAME_LENGTH;
|
|
13
|
+
const DEFAULT_DATE_MASK_NO_VALUE_SYMBOL = "_";
|
|
14
|
+
exports.DEFAULT_DATE_MASK_NO_VALUE_SYMBOL = DEFAULT_DATE_MASK_NO_VALUE_SYMBOL;
|
|
15
|
+
const DEFAULT_COLORS = ["#D9C1FF", "#FFBAF0", "#FFB8CE", "#FFC3A2", "#FFDB7C", "#F9F871", "#C3FCF1", "#F6F2CB", "#E0F8D1", "#B1DFFB", "#8DECFE", "#76F7ED", "#8AFEC8"];
|
|
16
|
+
exports.DEFAULT_COLORS = DEFAULT_COLORS;
|
|
17
|
+
const KEYBOARD_KEY_CODES = {
|
|
13
18
|
Backspace: 8,
|
|
14
19
|
Delete: 46,
|
|
15
20
|
ARROW_LEFT: 37,
|
|
16
21
|
ARROW_RIGHT: 39
|
|
17
22
|
};
|
|
18
|
-
|
|
23
|
+
exports.KEYBOARD_KEY_CODES = KEYBOARD_KEY_CODES;
|
|
24
|
+
const OS = {
|
|
19
25
|
iOS: "iOS",
|
|
20
26
|
Android: "Android",
|
|
21
27
|
WP: "Windows Phone",
|
|
@@ -23,4 +29,5 @@ const OS = exports.OS = {
|
|
|
23
29
|
Windows: "Windows",
|
|
24
30
|
MacOS: "MacOS",
|
|
25
31
|
Unknown: "unknown"
|
|
26
|
-
};
|
|
32
|
+
};
|
|
33
|
+
exports.OS = OS;
|
package/dist/Functions/Portal.js
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
10
|
-
|
|
11
|
-
function
|
|
13
|
+
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
+
|
|
12
18
|
const Portal = _ref => {
|
|
13
19
|
let {
|
|
14
20
|
children,
|
|
@@ -17,14 +23,19 @@ const Portal = _ref => {
|
|
|
17
23
|
const [container] = (0, _react.useState)(() => document.createElement("div"));
|
|
18
24
|
(0, _react.useEffect)(() => {
|
|
19
25
|
var _parent;
|
|
26
|
+
|
|
20
27
|
let parent;
|
|
21
28
|
if (parentSelector) parent = document.querySelector(parentSelector);else parent = document.body;
|
|
22
|
-
(_parent = parent) === null || _parent === void 0
|
|
29
|
+
(_parent = parent) === null || _parent === void 0 ? void 0 : _parent.appendChild(container);
|
|
23
30
|
return () => {
|
|
24
31
|
var _parent2;
|
|
25
|
-
|
|
32
|
+
|
|
33
|
+
(_parent2 = parent) === null || _parent2 === void 0 ? void 0 : _parent2.removeChild(container);
|
|
26
34
|
};
|
|
27
35
|
}, []);
|
|
28
36
|
return /*#__PURE__*/_reactDom.default.createPortal(children, container);
|
|
29
37
|
};
|
|
30
|
-
|
|
38
|
+
|
|
39
|
+
var _default = /*#__PURE__*/_react.default.memo(Portal);
|
|
40
|
+
|
|
41
|
+
exports.default = _default;
|
|
@@ -2,43 +2,55 @@
|
|
|
2
2
|
|
|
3
3
|
(function () {
|
|
4
4
|
Element.prototype._addEventListener = Element.prototype.addEventListener;
|
|
5
|
+
|
|
5
6
|
Element.prototype.addEventListener = function (a, b, c) {
|
|
6
7
|
if (c == undefined) c = false;
|
|
8
|
+
|
|
7
9
|
this._addEventListener(a, b, c);
|
|
10
|
+
|
|
8
11
|
if (!this.eventListenerList) this.eventListenerList = {};
|
|
9
|
-
if (!this.eventListenerList[a]) this.eventListenerList[a] = [];
|
|
10
|
-
|
|
12
|
+
if (!this.eventListenerList[a]) this.eventListenerList[a] = []; //this.removeEventListener(a,b,c); // TODO - handle duplicates..
|
|
13
|
+
|
|
11
14
|
this.eventListenerList[a].push({
|
|
12
15
|
listener: b,
|
|
13
16
|
useCapture: c
|
|
14
17
|
});
|
|
15
18
|
};
|
|
19
|
+
|
|
16
20
|
Element.prototype.getEventListeners = function (a) {
|
|
17
21
|
if (!this.eventListenerList) this.eventListenerList = {};
|
|
18
22
|
if (a == undefined) return this.eventListenerList;
|
|
19
23
|
return this.eventListenerList[a];
|
|
20
24
|
};
|
|
25
|
+
|
|
21
26
|
Element.prototype.clearEventListeners = function (a) {
|
|
22
27
|
if (!this.eventListenerList) this.eventListenerList = {};
|
|
28
|
+
|
|
23
29
|
if (a == undefined) {
|
|
24
30
|
for (const x in this.getEventListeners()) this.clearEventListeners(x);
|
|
31
|
+
|
|
25
32
|
return;
|
|
26
33
|
}
|
|
34
|
+
|
|
27
35
|
const el = this.getEventListeners(a);
|
|
28
36
|
if (el == undefined) return;
|
|
37
|
+
|
|
29
38
|
for (let i = el.length - 1; i >= 0; --i) {
|
|
30
39
|
const ev = el[i];
|
|
31
40
|
this.removeEventListener(a, ev.listener, ev.useCapture);
|
|
32
41
|
}
|
|
33
42
|
};
|
|
43
|
+
|
|
34
44
|
Element.prototype._removeEventListener = Element.prototype.removeEventListener;
|
|
45
|
+
|
|
35
46
|
Element.prototype.removeEventListener = function (a, b, c) {
|
|
36
47
|
if (c == undefined) c = false;
|
|
48
|
+
|
|
37
49
|
this._removeEventListener(a, b, c);
|
|
50
|
+
|
|
38
51
|
if (!this.eventListenerList) this.eventListenerList = {};
|
|
39
|
-
if (!this.eventListenerList[a]) this.eventListenerList[a] = [];
|
|
52
|
+
if (!this.eventListenerList[a]) this.eventListenerList[a] = []; // Find the event in the list
|
|
40
53
|
|
|
41
|
-
// Find the event in the list
|
|
42
54
|
for (let i = 0; i < this.eventListenerList[a].length; i++) {
|
|
43
55
|
if (this.eventListenerList[a][i].listener == b, this.eventListenerList[a][i].useCapture == c) {
|
|
44
56
|
// Hmm..
|
|
@@ -46,6 +58,7 @@
|
|
|
46
58
|
break;
|
|
47
59
|
}
|
|
48
60
|
}
|
|
61
|
+
|
|
49
62
|
if (this.eventListenerList[a].length == 0) delete this.eventListenerList[a];
|
|
50
63
|
};
|
|
51
64
|
})();
|