studiokit-scaffolding-js 7.0.12-next.1.4 → 7.0.12-next.2.2
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/lib/components/ActionList.js +170 -34
- package/lib/components/AlertDialog.js +133 -9
- package/lib/components/AlertWithIcon.js +92 -25
- package/lib/components/ConnectedModal.js +43 -13
- package/lib/components/Dropdowns/GroupsDropdown.js +69 -44
- package/lib/components/Dropdowns/ManagedNavDropdown.js +100 -67
- package/lib/components/Dropdowns/UserDropdown.js +111 -21
- package/lib/components/Dropdowns/index.js +27 -9
- package/lib/components/EntityOwnerList.js +52 -18
- package/lib/components/Error.js +106 -11
- package/lib/components/ErrorBoundary.js +134 -35
- package/lib/components/ErrorMessage.js +44 -9
- package/lib/components/Forms/DateField.js +61 -42
- package/lib/components/Forms/TimeField.js +81 -42
- package/lib/components/Forms/index.js +27 -4
- package/lib/components/Groups/CreateEditCopySaveButtons.js +114 -11
- package/lib/components/Groups/ExternalGroups/Attach.js +212 -148
- package/lib/components/Groups/ExternalGroups/Table.js +181 -45
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +5 -1
- package/lib/components/Groups/RosterSyncInfo.js +147 -20
- package/lib/components/HOC/AccessibleAppComponent.js +98 -73
- package/lib/components/HOC/ActivityRequiredComponent.js +92 -49
- package/lib/components/HOC/AsyncComponent.js +54 -39
- package/lib/components/HOC/AuthenticatedComponent.js +58 -38
- package/lib/components/HOC/CollectionComponent.js +170 -110
- package/lib/components/HOC/CollectionFirstItemComponent.js +51 -38
- package/lib/components/HOC/CollectionItemComponent.js +168 -106
- package/lib/components/HOC/ConnectedModalComponent.js +109 -80
- package/lib/components/HOC/DataDependentComponent.js +29 -21
- package/lib/components/HOC/EntityComponent.js +71 -57
- package/lib/components/HOC/FullscreenModalComponent.js +163 -123
- package/lib/components/HOC/GroupActivityRequiredComponent.js +45 -31
- package/lib/components/HOC/GuidComponent.js +29 -22
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +41 -31
- package/lib/components/HOC/ModelErrorRedirectComponent.js +51 -47
- package/lib/components/HOC/SearchPersistorComponent.js +240 -166
- package/lib/components/HOC/UnauthenticatedComponent.js +37 -25
- package/lib/components/HOC/UserComponent.js +12 -7
- package/lib/components/Icons/IconAlphaList.js +33 -5
- package/lib/components/Icons/IconExternalUser.js +33 -5
- package/lib/components/Icons/IconImpersonation.js +33 -5
- package/lib/components/Icons/IconStopImpersonating.js +33 -5
- package/lib/components/Icons/IconTable.js +35 -7
- package/lib/components/Icons/IconTableDeleteCol.js +33 -5
- package/lib/components/Icons/IconTableDeleteRow.js +33 -5
- package/lib/components/Icons/IconTableInsertCol.js +33 -5
- package/lib/components/Icons/IconTableInsertRow.js +33 -5
- package/lib/components/Impersonation/Button.js +77 -13
- package/lib/components/Impersonation/Link.js +77 -13
- package/lib/components/Impersonation/UserDetail.js +66 -9
- package/lib/components/Loading.js +26 -4
- package/lib/components/LockDownBrowser/Check.js +194 -49
- package/lib/components/LockDownBrowser/ExitButton.js +26 -9
- package/lib/components/LockDownBrowser/Launch.js +70 -62
- package/lib/components/Lti/Confirm.js +152 -11
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +170 -33
- package/lib/components/Lti/Launch.js +105 -24
- package/lib/components/Lti/LaunchGroup.js +85 -13
- package/lib/components/ManageTable.js +309 -87
- package/lib/components/ManageTableNoDataComponent.js +42 -4
- package/lib/components/NewVersionAlert.js +82 -46
- package/lib/components/NotFound.js +86 -10
- package/lib/components/Notifications.js +185 -126
- package/lib/components/PaginationNextButton.js +33 -6
- package/lib/components/PaginationPreviousButton.js +33 -6
- package/lib/components/Quill/CustomToolbar.js +432 -218
- package/lib/components/Quill/Formats/Image.js +73 -63
- package/lib/components/Quill/Formats/List.js +45 -45
- package/lib/components/Quill/Formats/Video.js +28 -24
- package/lib/components/Quill/ImageDropModule.js +147 -117
- package/lib/components/Quill/ImageWarning.js +47 -9
- package/lib/components/Quill/ImageWithAltTextModal.js +425 -86
- package/lib/components/Quill/Specs/CustomImageSpec.js +42 -34
- package/lib/components/Quill/Specs/CustomVideoSpec.js +34 -28
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +98 -98
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +52 -47
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +53 -48
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +224 -221
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +80 -83
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +75 -70
- package/lib/components/Quill/TableModule/constants.js +45 -41
- package/lib/components/Quill/TableModule/index.js +362 -301
- package/lib/components/Quill/TableModule/utils.js +42 -38
- package/lib/components/Quill/accessibilityFix.js +234 -232
- package/lib/components/Quill/index.js +34 -28
- package/lib/components/RefreshIndicator/Bordered.js +47 -6
- package/lib/components/RefreshIndicator/Inline.js +47 -8
- package/lib/components/RefreshIndicator/index.js +263 -59
- package/lib/components/SearchControls.js +216 -11
- package/lib/components/SentryRoute.js +11 -6
- package/lib/components/Tables/RoleFilter.js +69 -32
- package/lib/components/Tables/TextFilter.js +62 -13
- package/lib/components/UserRoles/Add.js +199 -96
- package/lib/components/UserRoles/Context.js +11 -7
- package/lib/components/UserRoles/RoleCell.js +181 -72
- package/lib/components/UserRoles/Select.js +157 -17
- package/lib/components/UserRoles/Table.js +221 -80
- package/lib/components/UserRoles/index.js +534 -384
- package/lib/config/eslint/index.js +32 -28
- package/lib/config/eslint/lib/order.js +26 -27
- package/lib/config/eslint/lib/prettier.js +20 -18
- package/lib/config/eslint/lib/typescript.js +93 -112
- package/lib/config/eslint/react.js +24 -14
- package/lib/constants/baseActivity.js +30 -26
- package/lib/constants/baseRole.js +14 -10
- package/lib/constants/configuration.js +33 -29
- package/lib/constants/externalProviderType.js +10 -6
- package/lib/constants/fetchErrorData.js +15 -11
- package/lib/constants/index.js +137 -14
- package/lib/constants/lockDownBrowser.js +28 -24
- package/lib/constants/mockData.js +382 -297
- package/lib/constants/modelStatus.js +15 -11
- package/lib/constants/notificationType.js +12 -8
- package/lib/constants/operatingSystem.js +12 -8
- package/lib/constants/shard.js +11 -7
- package/lib/constants/table.js +21 -21
- package/lib/constants/tier.js +12 -8
- package/lib/constants/userRole.js +15 -5
- package/lib/endpointMappings.js +197 -181
- package/lib/hooks/useCollection.js +82 -62
- package/lib/hooks/useCollectionConfiguration.js +228 -83
- package/lib/hooks/useCollectionItem.js +154 -54
- package/lib/hooks/useGuid.js +20 -8
- package/lib/hooks/usePrevious.js +19 -13
- package/lib/index.js +157 -25
- package/lib/redux/actionCreator.js +50 -28
- package/lib/redux/actions/AuthAction.js +44 -31
- package/lib/redux/actions/ModalAction.js +10 -6
- package/lib/redux/actions/ModelAction.js +77 -39
- package/lib/redux/actions/NotificationAction.js +10 -6
- package/lib/redux/actions/SearchAction.js +9 -5
- package/lib/redux/actions/index.js +60 -7
- package/lib/redux/configureReducers.js +60 -49
- package/lib/redux/configureStore.js +83 -87
- package/lib/redux/helpers.js +6 -2
- package/lib/redux/reducers/authReducer.js +50 -43
- package/lib/redux/reducers/index.js +41 -13
- package/lib/redux/reducers/modalsReducer.js +47 -29
- package/lib/redux/reducers/modelsReducer.js +178 -173
- package/lib/redux/reducers/notificationsReducer.js +24 -18
- package/lib/redux/reducers/searchReducer.js +25 -19
- package/lib/redux/sagas/appInsightsSaga.js +22 -18
- package/lib/redux/sagas/authSaga.js +253 -218
- package/lib/redux/sagas/caliperSaga.js +159 -143
- package/lib/redux/sagas/clockOffsetSaga.js +34 -31
- package/lib/redux/sagas/configurationSaga.js +11 -7
- package/lib/redux/sagas/downtimeApiErrorSaga.js +20 -17
- package/lib/redux/sagas/errorSaga.js +27 -21
- package/lib/redux/sagas/googleAnalyticsSaga.js +28 -24
- package/lib/redux/sagas/identityProviderSaga.js +22 -18
- package/lib/redux/sagas/initialDataLoadSaga.js +37 -28
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +29 -20
- package/lib/redux/sagas/modelFetchSaga.js +355 -322
- package/lib/redux/sagas/noStoreSaga.js +61 -48
- package/lib/redux/sagas/postLoginDataSaga.js +45 -34
- package/lib/redux/sagas/postLoginRedirectSaga.js +27 -27
- package/lib/redux/sagas/rootSaga.js +82 -57
- package/lib/redux/sagas/sentrySaga.js +29 -25
- package/lib/redux/sagas/userIdSaga.js +16 -12
- package/lib/services/codeProviderService.js +25 -19
- package/lib/services/dateService.js +12 -7
- package/lib/services/documentService.js +17 -12
- package/lib/services/fetchService.js +129 -112
- package/lib/services/persistenceService.js +33 -29
- package/lib/services/ticketProviderService.js +29 -23
- package/lib/services/tokenPersistenceService.js +12 -8
- package/lib/services/windowService.js +18 -14
- package/lib/startup.js +132 -114
- package/lib/types/AppConfiguration.js +5 -1
- package/lib/types/Artifact.js +11 -7
- package/lib/types/BaseReduxState.js +5 -1
- package/lib/types/Client.js +5 -1
- package/lib/types/Collection.js +5 -1
- package/lib/types/Configuration.js +5 -1
- package/lib/types/DeepLinkingResponseRequest.js +5 -1
- package/lib/types/DeletableModel.js +5 -1
- package/lib/types/Event.js +5 -1
- package/lib/types/ExternalGroup.js +5 -1
- package/lib/types/ExternalProvider.js +5 -1
- package/lib/types/ExternalTerm.js +5 -1
- package/lib/types/Group.js +5 -1
- package/lib/types/IdentityProvider.js +5 -1
- package/lib/types/LtiLaunch.js +5 -1
- package/lib/types/NameOnlyEntity.js +5 -1
- package/lib/types/Notification.js +5 -1
- package/lib/types/OptionalRecord.js +5 -1
- package/lib/types/OwnerSchedule.js +5 -1
- package/lib/types/PropertyOfType.js +5 -1
- package/lib/types/Quill.js +5 -1
- package/lib/types/RoleDescription.js +5 -1
- package/lib/types/Search.js +5 -1
- package/lib/types/SimpleLocation.js +5 -1
- package/lib/types/UniTime.js +5 -1
- package/lib/types/User.js +5 -1
- package/lib/types/UserRole.js +5 -1
- package/lib/types/auth/AuthState.js +5 -1
- package/lib/types/auth/CasV1LoginRequestBody.js +5 -1
- package/lib/types/auth/ClientCredentials.js +5 -1
- package/lib/types/auth/CodeProviderService.js +5 -1
- package/lib/types/auth/LocalLoginRequestBody.js +5 -1
- package/lib/types/auth/TicketProviderService.js +5 -1
- package/lib/types/auth/TokenPersistenceService.js +5 -1
- package/lib/types/auth/index.js +82 -9
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +313 -30
- package/lib/types/net/EndpointConfig.js +5 -1
- package/lib/types/net/EndpointMapping.js +5 -1
- package/lib/types/net/EndpointMappings.js +5 -1
- package/lib/types/net/ErrorHandler.js +5 -1
- package/lib/types/net/FetchConfig.js +5 -1
- package/lib/types/net/FetchErrorData.js +10 -6
- package/lib/types/net/FetchResult.js +5 -1
- package/lib/types/net/HTTPMethod.js +5 -1
- package/lib/types/net/HTTPStatusCode.js +16 -12
- package/lib/types/net/Metadata.js +5 -1
- package/lib/types/net/Model.js +5 -1
- package/lib/types/net/ModelCollection.js +5 -1
- package/lib/types/net/ModelsState.js +5 -1
- package/lib/types/net/OAuthToken.js +5 -1
- package/lib/types/net/OAuthTokenOrNull.js +5 -1
- package/lib/types/net/TokenAccessFunction.js +5 -1
- package/lib/types/net/index.js +181 -18
- package/lib/utils/baseActivity.js +133 -123
- package/lib/utils/baseRole.js +37 -33
- package/lib/utils/collection.js +425 -298
- package/lib/utils/cookies.js +22 -19
- package/lib/utils/date.js +303 -279
- package/lib/utils/dom.js +176 -165
- package/lib/utils/domainIdentifier.js +9 -5
- package/lib/utils/entityUserRole.js +6 -2
- package/lib/utils/error.js +17 -15
- package/lib/utils/events.js +40 -31
- package/lib/utils/externalGroup.js +22 -18
- package/lib/utils/externalProviders.js +8 -4
- package/lib/utils/externalTerms.js +10 -3
- package/lib/utils/fetch.js +179 -180
- package/lib/utils/group.js +18 -7
- package/lib/utils/groupDates.js +37 -33
- package/lib/utils/groupRoles.js +25 -21
- package/lib/utils/lockDownBrowser.js +15 -11
- package/lib/utils/logger.js +26 -22
- package/lib/utils/lti.js +9 -4
- package/lib/utils/model.js +36 -41
- package/lib/utils/number.js +21 -18
- package/lib/utils/promise.js +28 -21
- package/lib/utils/quill.js +65 -62
- package/lib/utils/route.js +58 -55
- package/lib/utils/search.js +76 -80
- package/lib/utils/shard.js +37 -37
- package/lib/utils/sort.js +50 -42
- package/lib/utils/string.js +13 -8
- package/lib/utils/table.js +38 -33
- package/lib/utils/timezone.js +10 -6
- package/lib/utils/url.js +142 -142
- package/lib/utils/user.js +58 -55
- package/lib/utils/userAgent.js +10 -10
- package/lib/utils/userRole.js +57 -49
- package/package.json +17 -3
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
3
6
|
exports.codeProviderService = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
7
|
+
var _queryString = require("query-string");
|
|
8
|
+
var _windowService = require("./windowService");
|
|
9
|
+
const codeProviderService = exports.codeProviderService = {
|
|
10
|
+
getCode: () => {
|
|
11
|
+
const location = _windowService.windowService.getLocation();
|
|
12
|
+
return (0, _queryString.parse)(location.search).code;
|
|
13
|
+
},
|
|
14
|
+
removeCode: () => {
|
|
15
|
+
const location = _windowService.windowService.getLocation();
|
|
16
|
+
const history = _windowService.windowService.getHistory();
|
|
17
|
+
const parsedSearch = (0, _queryString.parse)(location.search);
|
|
18
|
+
const {
|
|
19
|
+
code,
|
|
20
|
+
...newSearch
|
|
21
|
+
} = parsedSearch;
|
|
22
|
+
let newSearchString = (0, _queryString.stringify)(newSearch);
|
|
23
|
+
if (newSearchString) {
|
|
24
|
+
newSearchString = `?${newSearchString}`;
|
|
22
25
|
}
|
|
26
|
+
history.pushState('', '', `${location.protocol}//${location.host}${location.pathname}${newSearchString}`);
|
|
27
|
+
}
|
|
23
28
|
};
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcXVlcnlTdHJpbmciLCJyZXF1aXJlIiwiX3dpbmRvd1NlcnZpY2UiLCJjb2RlUHJvdmlkZXJTZXJ2aWNlIiwiZXhwb3J0cyIsImdldENvZGUiLCJsb2NhdGlvbiIsIndpbmRvd1NlcnZpY2UiLCJnZXRMb2NhdGlvbiIsInBhcnNlIiwic2VhcmNoIiwiY29kZSIsInJlbW92ZUNvZGUiLCJoaXN0b3J5IiwiZ2V0SGlzdG9yeSIsInBhcnNlZFNlYXJjaCIsIm5ld1NlYXJjaCIsIm5ld1NlYXJjaFN0cmluZyIsInN0cmluZ2lmeSIsInB1c2hTdGF0ZSIsInByb3RvY29sIiwiaG9zdCIsInBhdGhuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2NvZGVQcm92aWRlclNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2UsIHN0cmluZ2lmeSB9IGZyb20gJ3F1ZXJ5LXN0cmluZydcclxuaW1wb3J0IHsgQ29kZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uL3R5cGVzJ1xyXG5pbXBvcnQgeyB3aW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi93aW5kb3dTZXJ2aWNlJ1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvZGVQcm92aWRlclNlcnZpY2U6IENvZGVQcm92aWRlclNlcnZpY2UgPSB7XHJcblx0Z2V0Q29kZTogKCkgPT4ge1xyXG5cdFx0Y29uc3QgbG9jYXRpb24gPSB3aW5kb3dTZXJ2aWNlLmdldExvY2F0aW9uKClcclxuXHRcdHJldHVybiBwYXJzZShsb2NhdGlvbi5zZWFyY2gpLmNvZGUgYXMgc3RyaW5nXHJcblx0fSxcclxuXHRyZW1vdmVDb2RlOiAoKSA9PiB7XHJcblx0XHRjb25zdCBsb2NhdGlvbiA9IHdpbmRvd1NlcnZpY2UuZ2V0TG9jYXRpb24oKVxyXG5cdFx0Y29uc3QgaGlzdG9yeSA9IHdpbmRvd1NlcnZpY2UuZ2V0SGlzdG9yeSgpXHJcblx0XHRjb25zdCBwYXJzZWRTZWFyY2ggPSBwYXJzZShsb2NhdGlvbi5zZWFyY2gpXHJcblx0XHRjb25zdCB7IGNvZGUsIC4uLm5ld1NlYXJjaCB9ID0gcGFyc2VkU2VhcmNoXHJcblx0XHRsZXQgbmV3U2VhcmNoU3RyaW5nID0gc3RyaW5naWZ5KG5ld1NlYXJjaClcclxuXHRcdGlmIChuZXdTZWFyY2hTdHJpbmcpIHtcclxuXHRcdFx0bmV3U2VhcmNoU3RyaW5nID0gYD8ke25ld1NlYXJjaFN0cmluZ31gXHJcblx0XHR9XHJcblx0XHRoaXN0b3J5LnB1c2hTdGF0ZSgnJywgJycsIGAke2xvY2F0aW9uLnByb3RvY29sfS8vJHtsb2NhdGlvbi5ob3N0fSR7bG9jYXRpb24ucGF0aG5hbWV9JHtuZXdTZWFyY2hTdHJpbmd9YClcclxuXHR9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxjQUFBLEdBQUFELE9BQUE7QUFFTyxNQUFNRSxtQkFBd0MsR0FBQUMsT0FBQSxDQUFBRCxtQkFBQSxHQUFHO0VBQ3ZERSxPQUFPLEVBQUVBLENBQUEsS0FBTTtJQUNkLE1BQU1DLFFBQVEsR0FBR0MsNEJBQWEsQ0FBQ0MsV0FBVyxDQUFDLENBQUM7SUFDNUMsT0FBTyxJQUFBQyxrQkFBSyxFQUFDSCxRQUFRLENBQUNJLE1BQU0sQ0FBQyxDQUFDQyxJQUFJO0VBQ25DLENBQUM7RUFDREMsVUFBVSxFQUFFQSxDQUFBLEtBQU07SUFDakIsTUFBTU4sUUFBUSxHQUFHQyw0QkFBYSxDQUFDQyxXQUFXLENBQUMsQ0FBQztJQUM1QyxNQUFNSyxPQUFPLEdBQUdOLDRCQUFhLENBQUNPLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLE1BQU1DLFlBQVksR0FBRyxJQUFBTixrQkFBSyxFQUFDSCxRQUFRLENBQUNJLE1BQU0sQ0FBQztJQUMzQyxNQUFNO01BQUVDLElBQUk7TUFBRSxHQUFHSztJQUFVLENBQUMsR0FBR0QsWUFBWTtJQUMzQyxJQUFJRSxlQUFlLEdBQUcsSUFBQUMsc0JBQVMsRUFBQ0YsU0FBUyxDQUFDO0lBQzFDLElBQUlDLGVBQWUsRUFBRTtNQUNwQkEsZUFBZSxHQUFHLElBQUlBLGVBQWUsRUFBRTtJQUN4QztJQUNBSixPQUFPLENBQUNNLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUdiLFFBQVEsQ0FBQ2MsUUFBUSxLQUFLZCxRQUFRLENBQUNlLElBQUksR0FBR2YsUUFBUSxDQUFDZ0IsUUFBUSxHQUFHTCxlQUFlLEVBQUUsQ0FBQztFQUMxRztBQUNELENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
3
7
|
exports.getLastActivityDate = getLastActivityDate;
|
|
4
|
-
|
|
5
|
-
const local_storage_fallback_1 = tslib_1.__importDefault(require("local-storage-fallback"));
|
|
8
|
+
var _localStorageFallback = _interopRequireDefault(require("local-storage-fallback"));
|
|
6
9
|
const lastActivityDateKey = 'studioKit:caliperService:lastActivityDate';
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Return the `lastActivityDate` set in local storage by "studiokit-caliper-js"
|
|
9
13
|
*/
|
|
10
14
|
function getLastActivityDate() {
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
const lastActivityDateString = _localStorageFallback.default.getItem(lastActivityDateKey);
|
|
16
|
+
return lastActivityDateString ? JSON.parse(lastActivityDateString) : undefined;
|
|
13
17
|
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9jYWxTdG9yYWdlRmFsbGJhY2siLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImxhc3RBY3Rpdml0eURhdGVLZXkiLCJnZXRMYXN0QWN0aXZpdHlEYXRlIiwibGFzdEFjdGl2aXR5RGF0ZVN0cmluZyIsInN0b3JhZ2UiLCJnZXRJdGVtIiwiSlNPTiIsInBhcnNlIiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2RhdGVTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdG9yYWdlIGZyb20gJ2xvY2FsLXN0b3JhZ2UtZmFsbGJhY2snXHJcblxyXG5jb25zdCBsYXN0QWN0aXZpdHlEYXRlS2V5ID0gJ3N0dWRpb0tpdDpjYWxpcGVyU2VydmljZTpsYXN0QWN0aXZpdHlEYXRlJ1xyXG5cclxuLyoqXHJcbiAqIFJldHVybiB0aGUgYGxhc3RBY3Rpdml0eURhdGVgIHNldCBpbiBsb2NhbCBzdG9yYWdlIGJ5IFwic3R1ZGlva2l0LWNhbGlwZXItanNcIlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldExhc3RBY3Rpdml0eURhdGUoKSB7XHJcblx0Y29uc3QgbGFzdEFjdGl2aXR5RGF0ZVN0cmluZyA9IHN0b3JhZ2UuZ2V0SXRlbShsYXN0QWN0aXZpdHlEYXRlS2V5KVxyXG5cdHJldHVybiBsYXN0QWN0aXZpdHlEYXRlU3RyaW5nID8gKEpTT04ucGFyc2UobGFzdEFjdGl2aXR5RGF0ZVN0cmluZykgYXMgc3RyaW5nKSA6IHVuZGVmaW5lZFxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLHFCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxNQUFNQyxtQkFBbUIsR0FBRywyQ0FBMkM7O0FBRXZFO0FBQ0E7QUFDQTtBQUNPLFNBQVNDLG1CQUFtQkEsQ0FBQSxFQUFHO0VBQ3JDLE1BQU1DLHNCQUFzQixHQUFHQyw2QkFBTyxDQUFDQyxPQUFPLENBQUNKLG1CQUFtQixDQUFDO0VBQ25FLE9BQU9FLHNCQUFzQixHQUFJRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0osc0JBQXNCLENBQUMsR0FBY0ssU0FBUztBQUMzRiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
3
6
|
exports.documentService = void 0;
|
|
4
7
|
let activeDocument = null;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A service which wraps custom `document` logic.
|
|
11
|
+
* Allows for testing overrides, while otherwise uses the normal functionality.
|
|
8
12
|
*/
|
|
9
|
-
exports.documentService = {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
const documentService = exports.documentService = {
|
|
14
|
+
setActiveDocument: value => {
|
|
15
|
+
activeDocument = value;
|
|
16
|
+
if (value && value instanceof HTMLElement) {
|
|
17
|
+
value.focus();
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
getActiveDocument: () => activeDocument || document.activeElement
|
|
17
21
|
};
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3RpdmVEb2N1bWVudCIsImRvY3VtZW50U2VydmljZSIsImV4cG9ydHMiLCJzZXRBY3RpdmVEb2N1bWVudCIsInZhbHVlIiwiSFRNTEVsZW1lbnQiLCJmb2N1cyIsImdldEFjdGl2ZURvY3VtZW50IiwiZG9jdW1lbnQiLCJhY3RpdmVFbGVtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2RvY3VtZW50U2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIERvY3VtZW50U2VydmljZSB7XHJcblx0c2V0QWN0aXZlRG9jdW1lbnQ6ICh2YWx1ZTogRWxlbWVudCB8IG51bGwpID0+IHZvaWRcclxuXHRnZXRBY3RpdmVEb2N1bWVudDogKCkgPT4gRWxlbWVudCB8IG51bGxcclxufVxyXG5cclxubGV0IGFjdGl2ZURvY3VtZW50OiBFbGVtZW50IHwgbnVsbCA9IG51bGxcclxuXHJcbi8qKlxyXG4gKiBBIHNlcnZpY2Ugd2hpY2ggd3JhcHMgY3VzdG9tIGBkb2N1bWVudGAgbG9naWMuXHJcbiAqIEFsbG93cyBmb3IgdGVzdGluZyBvdmVycmlkZXMsIHdoaWxlIG90aGVyd2lzZSB1c2VzIHRoZSBub3JtYWwgZnVuY3Rpb25hbGl0eS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSA9IHtcclxuXHRzZXRBY3RpdmVEb2N1bWVudDogKHZhbHVlOiBFbGVtZW50IHwgbnVsbCkgPT4ge1xyXG5cdFx0YWN0aXZlRG9jdW1lbnQgPSB2YWx1ZVxyXG5cdFx0aWYgKHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcclxuXHRcdFx0dmFsdWUuZm9jdXMoKVxyXG5cdFx0fVxyXG5cdH0sXHJcblx0Z2V0QWN0aXZlRG9jdW1lbnQ6ICgpID0+IGFjdGl2ZURvY3VtZW50IHx8IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUtBLElBQUlBLGNBQThCLEdBQUcsSUFBSTs7QUFFekM7QUFDQTtBQUNBO0FBQ0E7QUFDTyxNQUFNQyxlQUFnQyxHQUFBQyxPQUFBLENBQUFELGVBQUEsR0FBRztFQUMvQ0UsaUJBQWlCLEVBQUdDLEtBQXFCLElBQUs7SUFDN0NKLGNBQWMsR0FBR0ksS0FBSztJQUN0QixJQUFJQSxLQUFLLElBQUlBLEtBQUssWUFBWUMsV0FBVyxFQUFFO01BQzFDRCxLQUFLLENBQUNFLEtBQUssQ0FBQyxDQUFDO0lBQ2Q7RUFDRCxDQUFDO0VBQ0RDLGlCQUFpQixFQUFFQSxDQUFBLEtBQU1QLGNBQWMsSUFBSVEsUUFBUSxDQUFDQztBQUNyRCxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,132 +1,149 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
exports
|
|
4
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
5
6
|
exports.constructPath = constructPath;
|
|
7
|
+
exports.getApiRoot = getApiRoot;
|
|
6
8
|
exports.sendFetch = sendFetch;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
exports.setApiRoot = setApiRoot;
|
|
10
|
+
var _lodash = require("lodash");
|
|
11
|
+
var _effects = require("redux-saga/effects");
|
|
12
|
+
var _types = require("../types");
|
|
13
|
+
var _error = require("../utils/error");
|
|
11
14
|
let apiRoot;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
*
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Set and store the `apiRoot`, the default root path for all relative URLs.
|
|
18
|
+
*
|
|
19
|
+
* @param uri The uri to save and prepend later
|
|
16
20
|
*/
|
|
17
21
|
function setApiRoot(uri) {
|
|
18
|
-
|
|
22
|
+
apiRoot = uri;
|
|
19
23
|
}
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Get the `apiRoot`, the default root path for all relative URLs.
|
|
22
27
|
*/
|
|
23
28
|
function getApiRoot() {
|
|
24
|
-
|
|
29
|
+
return apiRoot;
|
|
25
30
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* @
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Combine the `path` and `queryParams` from a FetchConfig into a final path string.
|
|
34
|
+
*
|
|
35
|
+
* Prepend with `apiRoot` if the path does not start with 'http'.
|
|
36
|
+
*
|
|
37
|
+
* @param config The fetch configuration containing the path and query params
|
|
38
|
+
* @returns A path string containing query params and prepended with the `apiRoot`, if needed
|
|
33
39
|
*/
|
|
34
40
|
function constructPath(config) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
return path;
|
|
41
|
+
if (!config.path) {
|
|
42
|
+
throw new Error("'config.path' is required");
|
|
43
|
+
}
|
|
44
|
+
let queryParams;
|
|
45
|
+
if (config.queryParams) {
|
|
46
|
+
queryParams = Object.keys(config.queryParams).map(key => `${encodeURIComponent(key)}=${!!config.queryParams && encodeURIComponent(config.queryParams[key])}`).join('&');
|
|
47
|
+
}
|
|
48
|
+
let path = (0, _lodash.startsWith)(config.path, 'http') ? config.path : `${apiRoot}${config.path}`;
|
|
49
|
+
if (queryParams) {
|
|
50
|
+
path = `${path}?${queryParams}`;
|
|
51
|
+
}
|
|
52
|
+
return path;
|
|
49
53
|
}
|
|
50
54
|
function isContentTypeJson(contentType) {
|
|
51
|
-
|
|
55
|
+
return !!contentType && /application\/json|.*\+json/.test(contentType);
|
|
52
56
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
*
|
|
56
|
-
* *
|
|
57
|
-
* *
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* @
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Send an HTTP request and return a response, handling errors.
|
|
60
|
+
* * Requests default to using GET method.
|
|
61
|
+
* * Content-Type defaults to 'application/json'.
|
|
62
|
+
* * Body is sent as stringified JSON unless the 'application/x-www-form-urlencoded' Content-Type is detected, in which case
|
|
63
|
+
* it's sent as provided.
|
|
64
|
+
* * If it is a 'multipart/form-data', we are assuming that the data is being sent as a FormData, and we do not set the Content-type
|
|
65
|
+
* (https://stackoverflow.com/questions/39280438/fetch-missing-boundary-in-multipart-form-data-post).
|
|
66
|
+
*
|
|
67
|
+
* @param config The configuration used to construct the fetch request
|
|
68
|
+
* @returns The response, parsed as JSON
|
|
64
69
|
*/
|
|
65
70
|
function* sendFetch(config) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
return result;
|
|
71
|
+
const method = config.method || 'GET';
|
|
72
|
+
const credentials = config.credentials || undefined;
|
|
73
|
+
try {
|
|
74
|
+
// construct request
|
|
75
|
+
const path = constructPath(config);
|
|
76
|
+
const headers =
|
|
77
|
+
// setting FormData as the body will set "Content-Type", including "boundary"
|
|
78
|
+
// do not interfere
|
|
79
|
+
config.contentType === 'multipart/form-data' ? (0, _lodash.merge)({}, config.headers) : (0, _lodash.merge)({}, {
|
|
80
|
+
'Content-Type': config.contentType ? config.contentType : 'application/json; charset=utf-8'
|
|
81
|
+
}, config.headers);
|
|
82
|
+
const isBodyJson = !!headers['Content-Type'] && isContentTypeJson(headers['Content-Type']);
|
|
83
|
+
const body = method === 'GET' ? undefined : !isBodyJson ? config.body : JSON.stringify(config.body);
|
|
84
|
+
|
|
85
|
+
// call `fetch`
|
|
86
|
+
const response = yield (0, _effects.call)(fetch, path, {
|
|
87
|
+
method,
|
|
88
|
+
headers,
|
|
89
|
+
body,
|
|
90
|
+
credentials
|
|
91
|
+
});
|
|
92
|
+
if (!response) {
|
|
93
|
+
throw new Error('No response was received');
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// construct a subset of the response object to return
|
|
97
|
+
const result = (_ref => {
|
|
98
|
+
let {
|
|
99
|
+
headers,
|
|
100
|
+
ok,
|
|
101
|
+
redirected,
|
|
102
|
+
status,
|
|
103
|
+
statusText,
|
|
104
|
+
type,
|
|
105
|
+
url,
|
|
106
|
+
bodyUsed
|
|
107
|
+
} = _ref;
|
|
108
|
+
return {
|
|
109
|
+
headers,
|
|
110
|
+
ok,
|
|
111
|
+
redirected,
|
|
112
|
+
status,
|
|
113
|
+
statusText,
|
|
114
|
+
type,
|
|
115
|
+
url,
|
|
116
|
+
bodyUsed,
|
|
117
|
+
data: undefined
|
|
118
|
+
};
|
|
119
|
+
})(response);
|
|
120
|
+
|
|
121
|
+
// If the request was a NoContent (204), use the body (if any) that was PUT in the request as the "result.data",
|
|
122
|
+
// so it gets incorporated correctly into Redux.
|
|
123
|
+
// 200/201 should return a representation of the entity (https://tools.ietf.org/html/rfc7231#section-6.3.1)
|
|
124
|
+
|
|
125
|
+
const isResponseJson = response.headers.has('Content-Type') && isContentTypeJson(response.headers.get('Content-Type'));
|
|
126
|
+
if (response.status === _types.HTTP_STATUS_CODE.NO_CONTENT) {
|
|
127
|
+
result.data = isBodyJson ? config.body : undefined;
|
|
128
|
+
} else {
|
|
129
|
+
result.data = isResponseJson ? yield (0, _effects.call)(() => response.json()) : yield (0, _effects.call)(() => response.text());
|
|
127
130
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
+
if (!response.ok) {
|
|
132
|
+
const errorData = {
|
|
133
|
+
status: result.data?.status || response.status,
|
|
134
|
+
title: result.data?.title || response.statusText,
|
|
135
|
+
detail: result.data?.detail || null,
|
|
136
|
+
type: result.data?.type,
|
|
137
|
+
instance: result.data?.instance,
|
|
138
|
+
traceId: result.data?.traceId,
|
|
139
|
+
errors: result.data?.errors
|
|
140
|
+
};
|
|
141
|
+
result.data = errorData;
|
|
131
142
|
}
|
|
143
|
+
return result;
|
|
144
|
+
} catch (error) {
|
|
145
|
+
const sendFetchError = (0, _error.constructErrorFromCaughtError)(error, 'SendFetchError', config.path ? `${method} ${config.path} failed` : '');
|
|
146
|
+
throw sendFetchError;
|
|
147
|
+
}
|
|
132
148
|
}
|
|
149
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9lZmZlY3RzIiwiX3R5cGVzIiwiX2Vycm9yIiwiYXBpUm9vdCIsInNldEFwaVJvb3QiLCJ1cmkiLCJnZXRBcGlSb290IiwiY29uc3RydWN0UGF0aCIsImNvbmZpZyIsInBhdGgiLCJFcnJvciIsInF1ZXJ5UGFyYW1zIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsImVuY29kZVVSSUNvbXBvbmVudCIsImpvaW4iLCJzdGFydHNXaXRoIiwiaXNDb250ZW50VHlwZUpzb24iLCJjb250ZW50VHlwZSIsInRlc3QiLCJzZW5kRmV0Y2giLCJtZXRob2QiLCJjcmVkZW50aWFscyIsInVuZGVmaW5lZCIsImhlYWRlcnMiLCJtZXJnZSIsImlzQm9keUpzb24iLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsInJlc3BvbnNlIiwiY2FsbCIsImZldGNoIiwicmVzdWx0IiwiX3JlZiIsIm9rIiwicmVkaXJlY3RlZCIsInN0YXR1cyIsInN0YXR1c1RleHQiLCJ0eXBlIiwidXJsIiwiYm9keVVzZWQiLCJkYXRhIiwiaXNSZXNwb25zZUpzb24iLCJoYXMiLCJnZXQiLCJIVFRQX1NUQVRVU19DT0RFIiwiTk9fQ09OVEVOVCIsImpzb24iLCJ0ZXh0IiwiZXJyb3JEYXRhIiwidGl0bGUiLCJkZXRhaWwiLCJpbnN0YW5jZSIsInRyYWNlSWQiLCJlcnJvcnMiLCJlcnJvciIsInNlbmRGZXRjaEVycm9yIiwiY29uc3RydWN0RXJyb3JGcm9tQ2F1Z2h0RXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvZmV0Y2hTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhZ2FJdGVyYXRvciB9IGZyb20gJ0ByZWR1eC1zYWdhL2NvcmUnXHJcbmltcG9ydCB7IG1lcmdlLCBzdGFydHNXaXRoIH0gZnJvbSAnbG9kYXNoJ1xyXG5pbXBvcnQgeyBjYWxsIH0gZnJvbSAncmVkdXgtc2FnYS9lZmZlY3RzJ1xyXG5pbXBvcnQgeyBGZXRjaENvbmZpZywgRmV0Y2hFcnJvckRhdGEsIEZldGNoUmVzdWx0LCBIVFRQX1NUQVRVU19DT0RFLCBIVFRQTWV0aG9kIH0gZnJvbSAnLi4vdHlwZXMnXHJcbmltcG9ydCB7IGNvbnN0cnVjdEVycm9yRnJvbUNhdWdodEVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3InXHJcblxyXG5sZXQgYXBpUm9vdDogc3RyaW5nIHwgdW5kZWZpbmVkXHJcblxyXG4vKipcclxuICogU2V0IGFuZCBzdG9yZSB0aGUgYGFwaVJvb3RgLCB0aGUgZGVmYXVsdCByb290IHBhdGggZm9yIGFsbCByZWxhdGl2ZSBVUkxzLlxyXG4gKlxyXG4gKiBAcGFyYW0gdXJpIFRoZSB1cmkgdG8gc2F2ZSBhbmQgcHJlcGVuZCBsYXRlclxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNldEFwaVJvb3QodXJpOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuXHRhcGlSb290ID0gdXJpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIGBhcGlSb290YCwgdGhlIGRlZmF1bHQgcm9vdCBwYXRoIGZvciBhbGwgcmVsYXRpdmUgVVJMcy5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRBcGlSb290KCkge1xyXG5cdHJldHVybiBhcGlSb290XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb21iaW5lIHRoZSBgcGF0aGAgYW5kIGBxdWVyeVBhcmFtc2AgZnJvbSBhIEZldGNoQ29uZmlnIGludG8gYSBmaW5hbCBwYXRoIHN0cmluZy5cclxuICpcclxuICogUHJlcGVuZCB3aXRoIGBhcGlSb290YCBpZiB0aGUgcGF0aCBkb2VzIG5vdCBzdGFydCB3aXRoICdodHRwJy5cclxuICpcclxuICogQHBhcmFtIGNvbmZpZyBUaGUgZmV0Y2ggY29uZmlndXJhdGlvbiBjb250YWluaW5nIHRoZSBwYXRoIGFuZCBxdWVyeSBwYXJhbXNcclxuICogQHJldHVybnMgQSBwYXRoIHN0cmluZyBjb250YWluaW5nIHF1ZXJ5IHBhcmFtcyBhbmQgcHJlcGVuZGVkIHdpdGggdGhlIGBhcGlSb290YCwgaWYgbmVlZGVkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0UGF0aChjb25maWc6IEZldGNoQ29uZmlnKSB7XHJcblx0aWYgKCFjb25maWcucGF0aCkge1xyXG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiJ2NvbmZpZy5wYXRoJyBpcyByZXF1aXJlZFwiKVxyXG5cdH1cclxuXHRsZXQgcXVlcnlQYXJhbXNcclxuXHRpZiAoY29uZmlnLnF1ZXJ5UGFyYW1zKSB7XHJcblx0XHRxdWVyeVBhcmFtcyA9IE9iamVjdC5rZXlzKGNvbmZpZy5xdWVyeVBhcmFtcylcclxuXHRcdFx0Lm1hcChcclxuXHRcdFx0XHRrZXkgPT5cclxuXHRcdFx0XHRcdGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0keyEhY29uZmlnLnF1ZXJ5UGFyYW1zICYmIGVuY29kZVVSSUNvbXBvbmVudChjb25maWcucXVlcnlQYXJhbXNba2V5XSl9YFxyXG5cdFx0XHQpXHJcblx0XHRcdC5qb2luKCcmJylcclxuXHR9XHJcblxyXG5cdGxldCBwYXRoID0gc3RhcnRzV2l0aChjb25maWcucGF0aCwgJ2h0dHAnKSA/IGNvbmZpZy5wYXRoIDogYCR7YXBpUm9vdH0ke2NvbmZpZy5wYXRofWBcclxuXHRpZiAocXVlcnlQYXJhbXMpIHtcclxuXHRcdHBhdGggPSBgJHtwYXRofT8ke3F1ZXJ5UGFyYW1zfWBcclxuXHR9XHJcblx0cmV0dXJuIHBhdGhcclxufVxyXG5cclxuZnVuY3Rpb24gaXNDb250ZW50VHlwZUpzb24oY29udGVudFR5cGU6IHN0cmluZyB8IG51bGwpIHtcclxuXHRyZXR1cm4gISFjb250ZW50VHlwZSAmJiAvYXBwbGljYXRpb25cXC9qc29ufC4qXFwranNvbi8udGVzdChjb250ZW50VHlwZSlcclxufVxyXG5cclxuLyoqXHJcbiAqIFNlbmQgYW4gSFRUUCByZXF1ZXN0IGFuZCByZXR1cm4gYSByZXNwb25zZSwgaGFuZGxpbmcgZXJyb3JzLlxyXG4gKiAqIFJlcXVlc3RzIGRlZmF1bHQgdG8gdXNpbmcgR0VUIG1ldGhvZC5cclxuICogKiBDb250ZW50LVR5cGUgZGVmYXVsdHMgdG8gJ2FwcGxpY2F0aW9uL2pzb24nLlxyXG4gKiAqIEJvZHkgaXMgc2VudCBhcyBzdHJpbmdpZmllZCBKU09OIHVubGVzcyB0aGUgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcgQ29udGVudC1UeXBlIGlzIGRldGVjdGVkLCBpbiB3aGljaCBjYXNlXHJcbiAqIGl0J3Mgc2VudCBhcyBwcm92aWRlZC5cclxuICogKiBJZiBpdCBpcyBhICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgd2UgYXJlIGFzc3VtaW5nIHRoYXQgdGhlIGRhdGEgaXMgYmVpbmcgc2VudCBhcyBhIEZvcm1EYXRhLCBhbmQgd2UgZG8gbm90IHNldCB0aGUgQ29udGVudC10eXBlXHJcbiAqIChodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zOTI4MDQzOC9mZXRjaC1taXNzaW5nLWJvdW5kYXJ5LWluLW11bHRpcGFydC1mb3JtLWRhdGEtcG9zdCkuXHJcbiAqXHJcbiAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gdXNlZCB0byBjb25zdHJ1Y3QgdGhlIGZldGNoIHJlcXVlc3RcclxuICogQHJldHVybnMgVGhlIHJlc3BvbnNlLCBwYXJzZWQgYXMgSlNPTlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uKiBzZW5kRmV0Y2goY29uZmlnOiBGZXRjaENvbmZpZyk6IFNhZ2FJdGVyYXRvciB7XHJcblx0Y29uc3QgbWV0aG9kOiBIVFRQTWV0aG9kID0gY29uZmlnLm1ldGhvZCB8fCAnR0VUJ1xyXG5cdGNvbnN0IGNyZWRlbnRpYWxzOiBSZXF1ZXN0Q3JlZGVudGlhbHMgfCB1bmRlZmluZWQgPSBjb25maWcuY3JlZGVudGlhbHMgfHwgdW5kZWZpbmVkXHJcblxyXG5cdHRyeSB7XHJcblx0XHQvLyBjb25zdHJ1Y3QgcmVxdWVzdFxyXG5cdFx0Y29uc3QgcGF0aCA9IGNvbnN0cnVjdFBhdGgoY29uZmlnKVxyXG5cdFx0Y29uc3QgaGVhZGVycyA9XHJcblx0XHRcdC8vIHNldHRpbmcgRm9ybURhdGEgYXMgdGhlIGJvZHkgd2lsbCBzZXQgXCJDb250ZW50LVR5cGVcIiwgaW5jbHVkaW5nIFwiYm91bmRhcnlcIlxyXG5cdFx0XHQvLyBkbyBub3QgaW50ZXJmZXJlXHJcblx0XHRcdGNvbmZpZy5jb250ZW50VHlwZSA9PT0gJ211bHRpcGFydC9mb3JtLWRhdGEnXHJcblx0XHRcdFx0PyBtZXJnZSh7fSwgY29uZmlnLmhlYWRlcnMpXHJcblx0XHRcdFx0OiBtZXJnZShcclxuXHRcdFx0XHRcdFx0e30sXHJcblx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHQnQ29udGVudC1UeXBlJzogY29uZmlnLmNvbnRlbnRUeXBlID8gY29uZmlnLmNvbnRlbnRUeXBlIDogJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdGNvbmZpZy5oZWFkZXJzXHJcblx0XHRcdFx0XHQpXHJcblx0XHRjb25zdCBpc0JvZHlKc29uID0gISFoZWFkZXJzWydDb250ZW50LVR5cGUnXSAmJiBpc0NvbnRlbnRUeXBlSnNvbihoZWFkZXJzWydDb250ZW50LVR5cGUnXSlcclxuXHRcdGNvbnN0IGJvZHkgPSBtZXRob2QgPT09ICdHRVQnID8gdW5kZWZpbmVkIDogIWlzQm9keUpzb24gPyAoY29uZmlnLmJvZHkgYXMgc3RyaW5nKSA6IEpTT04uc3RyaW5naWZ5KGNvbmZpZy5ib2R5KVxyXG5cclxuXHRcdC8vIGNhbGwgYGZldGNoYFxyXG5cdFx0Y29uc3QgcmVzcG9uc2U6IFJlc3BvbnNlIHwgdW5kZWZpbmVkID0geWllbGQgY2FsbChmZXRjaCwgcGF0aCwge1xyXG5cdFx0XHRtZXRob2QsXHJcblx0XHRcdGhlYWRlcnMsXHJcblx0XHRcdGJvZHksXHJcblx0XHRcdGNyZWRlbnRpYWxzXHJcblx0XHR9KVxyXG5cclxuXHRcdGlmICghcmVzcG9uc2UpIHtcclxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdObyByZXNwb25zZSB3YXMgcmVjZWl2ZWQnKVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIGNvbnN0cnVjdCBhIHN1YnNldCBvZiB0aGUgcmVzcG9uc2Ugb2JqZWN0IHRvIHJldHVyblxyXG5cdFx0Y29uc3QgcmVzdWx0OiBGZXRjaFJlc3VsdCA9ICgoeyBoZWFkZXJzLCBvaywgcmVkaXJlY3RlZCwgc3RhdHVzLCBzdGF0dXNUZXh0LCB0eXBlLCB1cmwsIGJvZHlVc2VkIH0pID0+ICh7XHJcblx0XHRcdGhlYWRlcnMsXHJcblx0XHRcdG9rLFxyXG5cdFx0XHRyZWRpcmVjdGVkLFxyXG5cdFx0XHRzdGF0dXMsXHJcblx0XHRcdHN0YXR1c1RleHQsXHJcblx0XHRcdHR5cGUsXHJcblx0XHRcdHVybCxcclxuXHRcdFx0Ym9keVVzZWQsXHJcblx0XHRcdGRhdGE6IHVuZGVmaW5lZFxyXG5cdFx0fSkpKHJlc3BvbnNlKVxyXG5cclxuXHRcdC8vIElmIHRoZSByZXF1ZXN0IHdhcyBhIE5vQ29udGVudCAoMjA0KSwgdXNlIHRoZSBib2R5IChpZiBhbnkpIHRoYXQgd2FzIFBVVCBpbiB0aGUgcmVxdWVzdCBhcyB0aGUgXCJyZXN1bHQuZGF0YVwiLFxyXG5cdFx0Ly8gc28gaXQgZ2V0cyBpbmNvcnBvcmF0ZWQgY29ycmVjdGx5IGludG8gUmVkdXguXHJcblx0XHQvLyAyMDAvMjAxIHNob3VsZCByZXR1cm4gYSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZW50aXR5IChodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuMy4xKVxyXG5cclxuXHRcdGNvbnN0IGlzUmVzcG9uc2VKc29uID1cclxuXHRcdFx0cmVzcG9uc2UuaGVhZGVycy5oYXMoJ0NvbnRlbnQtVHlwZScpICYmIGlzQ29udGVudFR5cGVKc29uKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LVR5cGUnKSlcclxuXHJcblx0XHRpZiAocmVzcG9uc2Uuc3RhdHVzID09PSBIVFRQX1NUQVRVU19DT0RFLk5PX0NPTlRFTlQpIHtcclxuXHRcdFx0cmVzdWx0LmRhdGEgPSBpc0JvZHlKc29uID8gY29uZmlnLmJvZHkgOiB1bmRlZmluZWRcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJlc3VsdC5kYXRhID0gaXNSZXNwb25zZUpzb24gPyB5aWVsZCBjYWxsKCgpID0+IHJlc3BvbnNlLmpzb24oKSkgOiB5aWVsZCBjYWxsKCgpID0+IHJlc3BvbnNlLnRleHQoKSlcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoIXJlc3BvbnNlLm9rKSB7XHJcblx0XHRcdGNvbnN0IGVycm9yRGF0YTogRmV0Y2hFcnJvckRhdGEgPSB7XHJcblx0XHRcdFx0c3RhdHVzOiByZXN1bHQuZGF0YT8uc3RhdHVzIHx8IHJlc3BvbnNlLnN0YXR1cyxcclxuXHRcdFx0XHR0aXRsZTogcmVzdWx0LmRhdGE/LnRpdGxlIHx8IHJlc3BvbnNlLnN0YXR1c1RleHQsXHJcblx0XHRcdFx0ZGV0YWlsOiByZXN1bHQuZGF0YT8uZGV0YWlsIHx8IG51bGwsXHJcblx0XHRcdFx0dHlwZTogcmVzdWx0LmRhdGE/LnR5cGUsXHJcblx0XHRcdFx0aW5zdGFuY2U6IHJlc3VsdC5kYXRhPy5pbnN0YW5jZSxcclxuXHRcdFx0XHR0cmFjZUlkOiByZXN1bHQuZGF0YT8udHJhY2VJZCxcclxuXHRcdFx0XHRlcnJvcnM6IHJlc3VsdC5kYXRhPy5lcnJvcnNcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXN1bHQuZGF0YSA9IGVycm9yRGF0YVxyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiByZXN1bHRcclxuXHR9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xyXG5cdFx0Y29uc3Qgc2VuZEZldGNoRXJyb3IgPSBjb25zdHJ1Y3RFcnJvckZyb21DYXVnaHRFcnJvcihcclxuXHRcdFx0ZXJyb3IsXHJcblx0XHRcdCdTZW5kRmV0Y2hFcnJvcicsXHJcblx0XHRcdGNvbmZpZy5wYXRoID8gYCR7bWV0aG9kfSAke2NvbmZpZy5wYXRofSBmYWlsZWRgIDogJydcclxuXHRcdClcclxuXHRcdHRocm93IHNlbmRGZXRjaEVycm9yXHJcblx0fVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBRUEsSUFBSUksT0FBMkI7O0FBRS9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQyxVQUFVQSxDQUFDQyxHQUF1QixFQUFFO0VBQ25ERixPQUFPLEdBQUdFLEdBQUc7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQyxVQUFVQSxDQUFBLEVBQUc7RUFDNUIsT0FBT0gsT0FBTztBQUNmOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTSSxhQUFhQSxDQUFDQyxNQUFtQixFQUFFO0VBQ2xELElBQUksQ0FBQ0EsTUFBTSxDQUFDQyxJQUFJLEVBQUU7SUFDakIsTUFBTSxJQUFJQyxLQUFLLENBQUMsMkJBQTJCLENBQUM7RUFDN0M7RUFDQSxJQUFJQyxXQUFXO0VBQ2YsSUFBSUgsTUFBTSxDQUFDRyxXQUFXLEVBQUU7SUFDdkJBLFdBQVcsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUNMLE1BQU0sQ0FBQ0csV0FBVyxDQUFDLENBQzNDRyxHQUFHLENBQ0hDLEdBQUcsSUFDRixHQUFHQyxrQkFBa0IsQ0FBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDUCxNQUFNLENBQUNHLFdBQVcsSUFBSUssa0JBQWtCLENBQUNSLE1BQU0sQ0FBQ0csV0FBVyxDQUFDSSxHQUFHLENBQUMsQ0FBQyxFQUNuRyxDQUFDLENBQ0FFLElBQUksQ0FBQyxHQUFHLENBQUM7RUFDWjtFQUVBLElBQUlSLElBQUksR0FBRyxJQUFBUyxrQkFBVSxFQUFDVixNQUFNLENBQUNDLElBQUksRUFBRSxNQUFNLENBQUMsR0FBR0QsTUFBTSxDQUFDQyxJQUFJLEdBQUcsR0FBR04sT0FBTyxHQUFHSyxNQUFNLENBQUNDLElBQUksRUFBRTtFQUNyRixJQUFJRSxXQUFXLEVBQUU7SUFDaEJGLElBQUksR0FBRyxHQUFHQSxJQUFJLElBQUlFLFdBQVcsRUFBRTtFQUNoQztFQUNBLE9BQU9GLElBQUk7QUFDWjtBQUVBLFNBQVNVLGlCQUFpQkEsQ0FBQ0MsV0FBMEIsRUFBRTtFQUN0RCxPQUFPLENBQUMsQ0FBQ0EsV0FBVyxJQUFJLDRCQUE0QixDQUFDQyxJQUFJLENBQUNELFdBQVcsQ0FBQztBQUN2RTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxVQUFVRSxTQUFTQSxDQUFDZCxNQUFtQixFQUFnQjtFQUM3RCxNQUFNZSxNQUFrQixHQUFHZixNQUFNLENBQUNlLE1BQU0sSUFBSSxLQUFLO0VBQ2pELE1BQU1DLFdBQTJDLEdBQUdoQixNQUFNLENBQUNnQixXQUFXLElBQUlDLFNBQVM7RUFFbkYsSUFBSTtJQUNIO0lBQ0EsTUFBTWhCLElBQUksR0FBR0YsYUFBYSxDQUFDQyxNQUFNLENBQUM7SUFDbEMsTUFBTWtCLE9BQU87SUFDWjtJQUNBO0lBQ0FsQixNQUFNLENBQUNZLFdBQVcsS0FBSyxxQkFBcUIsR0FDekMsSUFBQU8sYUFBSyxFQUFDLENBQUMsQ0FBQyxFQUFFbkIsTUFBTSxDQUFDa0IsT0FBTyxDQUFDLEdBQ3pCLElBQUFDLGFBQUssRUFDTCxDQUFDLENBQUMsRUFDRjtNQUNDLGNBQWMsRUFBRW5CLE1BQU0sQ0FBQ1ksV0FBVyxHQUFHWixNQUFNLENBQUNZLFdBQVcsR0FBRztJQUMzRCxDQUFDLEVBQ0RaLE1BQU0sQ0FBQ2tCLE9BQ1IsQ0FBQztJQUNKLE1BQU1FLFVBQVUsR0FBRyxDQUFDLENBQUNGLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSVAsaUJBQWlCLENBQUNPLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxRixNQUFNRyxJQUFJLEdBQUdOLE1BQU0sS0FBSyxLQUFLLEdBQUdFLFNBQVMsR0FBRyxDQUFDRyxVQUFVLEdBQUlwQixNQUFNLENBQUNxQixJQUFJLEdBQWNDLElBQUksQ0FBQ0MsU0FBUyxDQUFDdkIsTUFBTSxDQUFDcUIsSUFBSSxDQUFDOztJQUUvRztJQUNBLE1BQU1HLFFBQThCLEdBQUcsTUFBTSxJQUFBQyxhQUFJLEVBQUNDLEtBQUssRUFBRXpCLElBQUksRUFBRTtNQUM5RGMsTUFBTTtNQUNORyxPQUFPO01BQ1BHLElBQUk7TUFDSkw7SUFDRCxDQUFDLENBQUM7SUFFRixJQUFJLENBQUNRLFFBQVEsRUFBRTtNQUNkLE1BQU0sSUFBSXRCLEtBQUssQ0FBQywwQkFBMEIsQ0FBQztJQUM1Qzs7SUFFQTtJQUNBLE1BQU15QixNQUFtQixHQUFHLENBQUNDLElBQUE7TUFBQSxJQUFDO1FBQUVWLE9BQU87UUFBRVcsRUFBRTtRQUFFQyxVQUFVO1FBQUVDLE1BQU07UUFBRUMsVUFBVTtRQUFFQyxJQUFJO1FBQUVDLEdBQUc7UUFBRUM7TUFBUyxDQUFDLEdBQUFQLElBQUE7TUFBQSxPQUFNO1FBQ3ZHVixPQUFPO1FBQ1BXLEVBQUU7UUFDRkMsVUFBVTtRQUNWQyxNQUFNO1FBQ05DLFVBQVU7UUFDVkMsSUFBSTtRQUNKQyxHQUFHO1FBQ0hDLFFBQVE7UUFDUkMsSUFBSSxFQUFFbkI7TUFDUCxDQUFDO0lBQUEsQ0FBQyxFQUFFTyxRQUFRLENBQUM7O0lBRWI7SUFDQTtJQUNBOztJQUVBLE1BQU1hLGNBQWMsR0FDbkJiLFFBQVEsQ0FBQ04sT0FBTyxDQUFDb0IsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJM0IsaUJBQWlCLENBQUNhLFFBQVEsQ0FBQ04sT0FBTyxDQUFDcUIsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRWhHLElBQUlmLFFBQVEsQ0FBQ08sTUFBTSxLQUFLUyx1QkFBZ0IsQ0FBQ0MsVUFBVSxFQUFFO01BQ3BEZCxNQUFNLENBQUNTLElBQUksR0FBR2hCLFVBQVUsR0FBR3BCLE1BQU0sQ0FBQ3FCLElBQUksR0FBR0osU0FBUztJQUNuRCxDQUFDLE1BQU07TUFDTlUsTUFBTSxDQUFDUyxJQUFJLEdBQUdDLGNBQWMsR0FBRyxNQUFNLElBQUFaLGFBQUksRUFBQyxNQUFNRCxRQUFRLENBQUNrQixJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxJQUFBakIsYUFBSSxFQUFDLE1BQU1ELFFBQVEsQ0FBQ21CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckc7SUFFQSxJQUFJLENBQUNuQixRQUFRLENBQUNLLEVBQUUsRUFBRTtNQUNqQixNQUFNZSxTQUF5QixHQUFHO1FBQ2pDYixNQUFNLEVBQUVKLE1BQU0sQ0FBQ1MsSUFBSSxFQUFFTCxNQUFNLElBQUlQLFFBQVEsQ0FBQ08sTUFBTTtRQUM5Q2MsS0FBSyxFQUFFbEIsTUFBTSxDQUFDUyxJQUFJLEVBQUVTLEtBQUssSUFBSXJCLFFBQVEsQ0FBQ1EsVUFBVTtRQUNoRGMsTUFBTSxFQUFFbkIsTUFBTSxDQUFDUyxJQUFJLEVBQUVVLE1BQU0sSUFBSSxJQUFJO1FBQ25DYixJQUFJLEVBQUVOLE1BQU0sQ0FBQ1MsSUFBSSxFQUFFSCxJQUFJO1FBQ3ZCYyxRQUFRLEVBQUVwQixNQUFNLENBQUNTLElBQUksRUFBRVcsUUFBUTtRQUMvQkMsT0FBTyxFQUFFckIsTUFBTSxDQUFDUyxJQUFJLEVBQUVZLE9BQU87UUFDN0JDLE1BQU0sRUFBRXRCLE1BQU0sQ0FBQ1MsSUFBSSxFQUFFYTtNQUN0QixDQUFDO01BQ0R0QixNQUFNLENBQUNTLElBQUksR0FBR1EsU0FBUztJQUN4QjtJQUVBLE9BQU9qQixNQUFNO0VBQ2QsQ0FBQyxDQUFDLE9BQU91QixLQUFjLEVBQUU7SUFDeEIsTUFBTUMsY0FBYyxHQUFHLElBQUFDLG9DQUE2QixFQUNuREYsS0FBSyxFQUNMLGdCQUFnQixFQUNoQmxELE1BQU0sQ0FBQ0MsSUFBSSxHQUFHLEdBQUdjLE1BQU0sSUFBSWYsTUFBTSxDQUFDQyxJQUFJLFNBQVMsR0FBRyxFQUNuRCxDQUFDO0lBQ0QsTUFBTWtELGNBQWM7RUFDckI7QUFDRCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,42 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.returnUrlKey = exports.persistenceService = exports.isCasGatewayRequestedKey = exports.identityProviderKey = void 0;
|
|
8
|
+
var _localStorageFallback = _interopRequireDefault(require("local-storage-fallback"));
|
|
6
9
|
const tokenKey = '@authStore:oauthToken';
|
|
7
10
|
const caliperTokenKey = 'studioKit:caliperService:token';
|
|
8
|
-
exports.returnUrlKey = 'studioKit:login:returnUrl';
|
|
9
|
-
exports.identityProviderKey = 'studioKit:auth:identityProvider';
|
|
10
|
-
exports.isCasGatewayRequestedKey = 'studioKit:auth:isCasGatewayRequested';
|
|
11
|
-
const getItem =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
const returnUrlKey = exports.returnUrlKey = 'studioKit:login:returnUrl';
|
|
12
|
+
const identityProviderKey = exports.identityProviderKey = 'studioKit:auth:identityProvider';
|
|
13
|
+
const isCasGatewayRequestedKey = exports.isCasGatewayRequestedKey = 'studioKit:auth:isCasGatewayRequested';
|
|
14
|
+
const getItem = key => {
|
|
15
|
+
const itemValue = _localStorageFallback.default.getItem(key);
|
|
16
|
+
if (!itemValue) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return JSON.parse(itemValue);
|
|
17
20
|
};
|
|
18
21
|
const setItem = (key, item) => {
|
|
19
|
-
|
|
22
|
+
_localStorageFallback.default.setItem(key, JSON.stringify(item));
|
|
20
23
|
};
|
|
21
|
-
const removeItem =
|
|
22
|
-
|
|
24
|
+
const removeItem = key => {
|
|
25
|
+
_localStorageFallback.default.removeItem(key);
|
|
23
26
|
};
|
|
24
27
|
const getPersistedToken = () => {
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
const token = getItem(tokenKey);
|
|
29
|
+
return token;
|
|
27
30
|
};
|
|
28
|
-
const persistToken =
|
|
29
|
-
|
|
31
|
+
const persistToken = token => {
|
|
32
|
+
setItem(tokenKey, token);
|
|
30
33
|
};
|
|
31
34
|
const getPersistedCaliperToken = () => {
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
const token = getItem(caliperTokenKey);
|
|
36
|
+
return token;
|
|
34
37
|
};
|
|
35
|
-
exports.persistenceService = {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
const persistenceService = exports.persistenceService = {
|
|
39
|
+
getItem,
|
|
40
|
+
setItem,
|
|
41
|
+
removeItem,
|
|
42
|
+
getPersistedToken,
|
|
43
|
+
persistToken,
|
|
44
|
+
getPersistedCaliperToken
|
|
42
45
|
};
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9jYWxTdG9yYWdlRmFsbGJhY2siLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsInRva2VuS2V5IiwiY2FsaXBlclRva2VuS2V5IiwicmV0dXJuVXJsS2V5IiwiZXhwb3J0cyIsImlkZW50aXR5UHJvdmlkZXJLZXkiLCJpc0Nhc0dhdGV3YXlSZXF1ZXN0ZWRLZXkiLCJnZXRJdGVtIiwia2V5IiwiaXRlbVZhbHVlIiwic3RvcmFnZSIsIkpTT04iLCJwYXJzZSIsInNldEl0ZW0iLCJpdGVtIiwic3RyaW5naWZ5IiwicmVtb3ZlSXRlbSIsImdldFBlcnNpc3RlZFRva2VuIiwidG9rZW4iLCJwZXJzaXN0VG9rZW4iLCJnZXRQZXJzaXN0ZWRDYWxpcGVyVG9rZW4iLCJwZXJzaXN0ZW5jZVNlcnZpY2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvcGVyc2lzdGVuY2VTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdG9yYWdlIGZyb20gJ2xvY2FsLXN0b3JhZ2UtZmFsbGJhY2snXHJcbmltcG9ydCB7IENhbGlwZXJUb2tlbiB9IGZyb20gJ3N0dWRpb2tpdC1jYWxpcGVyLWpzL2xpYi90eXBlcydcclxuaW1wb3J0IHsgT0F1dGhUb2tlbk9yTnVsbCwgVG9rZW5QZXJzaXN0ZW5jZVNlcnZpY2UgfSBmcm9tICcuLi90eXBlcydcclxuXHJcbmNvbnN0IHRva2VuS2V5ID0gJ0BhdXRoU3RvcmU6b2F1dGhUb2tlbidcclxuY29uc3QgY2FsaXBlclRva2VuS2V5ID0gJ3N0dWRpb0tpdDpjYWxpcGVyU2VydmljZTp0b2tlbidcclxuZXhwb3J0IGNvbnN0IHJldHVyblVybEtleSA9ICdzdHVkaW9LaXQ6bG9naW46cmV0dXJuVXJsJ1xyXG5leHBvcnQgY29uc3QgaWRlbnRpdHlQcm92aWRlcktleSA9ICdzdHVkaW9LaXQ6YXV0aDppZGVudGl0eVByb3ZpZGVyJ1xyXG5leHBvcnQgY29uc3QgaXNDYXNHYXRld2F5UmVxdWVzdGVkS2V5ID0gJ3N0dWRpb0tpdDphdXRoOmlzQ2FzR2F0ZXdheVJlcXVlc3RlZCdcclxuXHJcbmNvbnN0IGdldEl0ZW0gPSAoa2V5OiBzdHJpbmcpID0+IHtcclxuXHRjb25zdCBpdGVtVmFsdWUgPSBzdG9yYWdlLmdldEl0ZW0oa2V5KVxyXG5cdGlmICghaXRlbVZhbHVlKSB7XHJcblx0XHRyZXR1cm4gbnVsbFxyXG5cdH1cclxuXHRyZXR1cm4gSlNPTi5wYXJzZShpdGVtVmFsdWUpXHJcbn1cclxuXHJcbmNvbnN0IHNldEl0ZW0gPSAoa2V5OiBzdHJpbmcsIGl0ZW06IGFueSkgPT4ge1xyXG5cdHN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KGl0ZW0pKVxyXG59XHJcblxyXG5jb25zdCByZW1vdmVJdGVtID0gKGtleTogc3RyaW5nKSA9PiB7XHJcblx0c3RvcmFnZS5yZW1vdmVJdGVtKGtleSlcclxufVxyXG5cclxuY29uc3QgZ2V0UGVyc2lzdGVkVG9rZW4gPSAoKSA9PiB7XHJcblx0Y29uc3QgdG9rZW46IE9BdXRoVG9rZW5Pck51bGwgPSBnZXRJdGVtKHRva2VuS2V5KVxyXG5cdHJldHVybiB0b2tlblxyXG59XHJcblxyXG5jb25zdCBwZXJzaXN0VG9rZW4gPSAodG9rZW46IE9BdXRoVG9rZW5Pck51bGwpID0+IHtcclxuXHRzZXRJdGVtKHRva2VuS2V5LCB0b2tlbilcclxufVxyXG5cclxuY29uc3QgZ2V0UGVyc2lzdGVkQ2FsaXBlclRva2VuID0gKCkgPT4ge1xyXG5cdGNvbnN0IHRva2VuOiBDYWxpcGVyVG9rZW4gfCBudWxsID0gZ2V0SXRlbShjYWxpcGVyVG9rZW5LZXkpXHJcblx0cmV0dXJuIHRva2VuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVuY2VTZXJ2aWNlIGV4dGVuZHMgVG9rZW5QZXJzaXN0ZW5jZVNlcnZpY2Uge1xyXG5cdGdldEl0ZW06IChrZXk6IHN0cmluZykgPT4gYW55XHJcblx0c2V0SXRlbTogKGtleTogc3RyaW5nLCBpdGVtOiBhbnkpID0+IHZvaWRcclxuXHRyZW1vdmVJdGVtOiAoa2V5OiBzdHJpbmcpID0+IHZvaWRcclxuXHRnZXRQZXJzaXN0ZWRDYWxpcGVyVG9rZW46ICgpID0+IENhbGlwZXJUb2tlbiB8IG51bGxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHBlcnNpc3RlbmNlU2VydmljZTogUGVyc2lzdGVuY2VTZXJ2aWNlID0ge1xyXG5cdGdldEl0ZW0sXHJcblx0c2V0SXRlbSxcclxuXHRyZW1vdmVJdGVtLFxyXG5cdGdldFBlcnNpc3RlZFRva2VuLFxyXG5cdHBlcnNpc3RUb2tlbixcclxuXHRnZXRQZXJzaXN0ZWRDYWxpcGVyVG9rZW5cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxxQkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBSUEsTUFBTUMsUUFBUSxHQUFHLHVCQUF1QjtBQUN4QyxNQUFNQyxlQUFlLEdBQUcsZ0NBQWdDO0FBQ2pELE1BQU1DLFlBQVksR0FBQUMsT0FBQSxDQUFBRCxZQUFBLEdBQUcsMkJBQTJCO0FBQ2hELE1BQU1FLG1CQUFtQixHQUFBRCxPQUFBLENBQUFDLG1CQUFBLEdBQUcsaUNBQWlDO0FBQzdELE1BQU1DLHdCQUF3QixHQUFBRixPQUFBLENBQUFFLHdCQUFBLEdBQUcsc0NBQXNDO0FBRTlFLE1BQU1DLE9BQU8sR0FBSUMsR0FBVyxJQUFLO0VBQ2hDLE1BQU1DLFNBQVMsR0FBR0MsNkJBQU8sQ0FBQ0gsT0FBTyxDQUFDQyxHQUFHLENBQUM7RUFDdEMsSUFBSSxDQUFDQyxTQUFTLEVBQUU7SUFDZixPQUFPLElBQUk7RUFDWjtFQUNBLE9BQU9FLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxTQUFTLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU1JLE9BQU8sR0FBR0EsQ0FBQ0wsR0FBVyxFQUFFTSxJQUFTLEtBQUs7RUFDM0NKLDZCQUFPLENBQUNHLE9BQU8sQ0FBQ0wsR0FBRyxFQUFFRyxJQUFJLENBQUNJLFNBQVMsQ0FBQ0QsSUFBSSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU1FLFVBQVUsR0FBSVIsR0FBVyxJQUFLO0VBQ25DRSw2QkFBTyxDQUFDTSxVQUFVLENBQUNSLEdBQUcsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTVMsaUJBQWlCLEdBQUdBLENBQUEsS0FBTTtFQUMvQixNQUFNQyxLQUF1QixHQUFHWCxPQUFPLENBQUNOLFFBQVEsQ0FBQztFQUNqRCxPQUFPaUIsS0FBSztBQUNiLENBQUM7QUFFRCxNQUFNQyxZQUFZLEdBQUlELEtBQXVCLElBQUs7RUFDakRMLE9BQU8sQ0FBQ1osUUFBUSxFQUFFaUIsS0FBSyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxNQUFNRSx3QkFBd0IsR0FBR0EsQ0FBQSxLQUFNO0VBQ3RDLE1BQU1GLEtBQTBCLEdBQUdYLE9BQU8sQ0FBQ0wsZUFBZSxDQUFDO0VBQzNELE9BQU9nQixLQUFLO0FBQ2IsQ0FBQztBQVNNLE1BQU1HLGtCQUFzQyxHQUFBakIsT0FBQSxDQUFBaUIsa0JBQUEsR0FBRztFQUNyRGQsT0FBTztFQUNQTSxPQUFPO0VBQ1BHLFVBQVU7RUFDVkMsaUJBQWlCO0VBQ2pCRSxZQUFZO0VBQ1pDO0FBQ0QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
3
6
|
exports.ticketProviderService = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
7
|
+
var _queryString = require("query-string");
|
|
8
|
+
var _windowService = require("./windowService");
|
|
9
|
+
const ticketProviderService = exports.ticketProviderService = {
|
|
10
|
+
getTicket: () => {
|
|
11
|
+
const location = _windowService.windowService.getLocation();
|
|
12
|
+
return (0, _queryString.parse)(location.search).ticket;
|
|
13
|
+
},
|
|
14
|
+
getAppServiceName: () => {
|
|
15
|
+
const location = _windowService.windowService.getLocation();
|
|
16
|
+
return `${location.protocol}//${location.host}/`;
|
|
17
|
+
},
|
|
18
|
+
removeTicket: () => {
|
|
19
|
+
const location = _windowService.windowService.getLocation();
|
|
20
|
+
const history = _windowService.windowService.getHistory();
|
|
21
|
+
const parsedSearch = (0, _queryString.parse)(location.search);
|
|
22
|
+
const {
|
|
23
|
+
ticket,
|
|
24
|
+
...newSearch
|
|
25
|
+
} = parsedSearch;
|
|
26
|
+
let newSearchString = (0, _queryString.stringify)(newSearch);
|
|
27
|
+
if (newSearchString) {
|
|
28
|
+
newSearchString = `?${newSearchString}`;
|
|
26
29
|
}
|
|
30
|
+
history.pushState('', '', `${location.protocol}//${location.host}${location.pathname}${newSearchString}`);
|
|
31
|
+
}
|
|
27
32
|
};
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcXVlcnlTdHJpbmciLCJyZXF1aXJlIiwiX3dpbmRvd1NlcnZpY2UiLCJ0aWNrZXRQcm92aWRlclNlcnZpY2UiLCJleHBvcnRzIiwiZ2V0VGlja2V0IiwibG9jYXRpb24iLCJ3aW5kb3dTZXJ2aWNlIiwiZ2V0TG9jYXRpb24iLCJwYXJzZSIsInNlYXJjaCIsInRpY2tldCIsImdldEFwcFNlcnZpY2VOYW1lIiwicHJvdG9jb2wiLCJob3N0IiwicmVtb3ZlVGlja2V0IiwiaGlzdG9yeSIsImdldEhpc3RvcnkiLCJwYXJzZWRTZWFyY2giLCJuZXdTZWFyY2giLCJuZXdTZWFyY2hTdHJpbmciLCJzdHJpbmdpZnkiLCJwdXNoU3RhdGUiLCJwYXRobmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy90aWNrZXRQcm92aWRlclNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2UsIHN0cmluZ2lmeSB9IGZyb20gJ3F1ZXJ5LXN0cmluZydcclxuaW1wb3J0IHsgVGlja2V0UHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdHlwZXMnXHJcbmltcG9ydCB7IHdpbmRvd1NlcnZpY2UgfSBmcm9tICcuL3dpbmRvd1NlcnZpY2UnXHJcblxyXG5leHBvcnQgY29uc3QgdGlja2V0UHJvdmlkZXJTZXJ2aWNlOiBUaWNrZXRQcm92aWRlclNlcnZpY2UgPSB7XHJcblx0Z2V0VGlja2V0OiAoKSA9PiB7XHJcblx0XHRjb25zdCBsb2NhdGlvbiA9IHdpbmRvd1NlcnZpY2UuZ2V0TG9jYXRpb24oKVxyXG5cdFx0cmV0dXJuIHBhcnNlKGxvY2F0aW9uLnNlYXJjaCkudGlja2V0IGFzIHN0cmluZ1xyXG5cdH0sXHJcblx0Z2V0QXBwU2VydmljZU5hbWU6ICgpID0+IHtcclxuXHRcdGNvbnN0IGxvY2F0aW9uID0gd2luZG93U2VydmljZS5nZXRMb2NhdGlvbigpXHJcblx0XHRyZXR1cm4gYCR7bG9jYXRpb24ucHJvdG9jb2x9Ly8ke2xvY2F0aW9uLmhvc3R9L2BcclxuXHR9LFxyXG5cdHJlbW92ZVRpY2tldDogKCkgPT4ge1xyXG5cdFx0Y29uc3QgbG9jYXRpb24gPSB3aW5kb3dTZXJ2aWNlLmdldExvY2F0aW9uKClcclxuXHRcdGNvbnN0IGhpc3RvcnkgPSB3aW5kb3dTZXJ2aWNlLmdldEhpc3RvcnkoKVxyXG5cdFx0Y29uc3QgcGFyc2VkU2VhcmNoID0gcGFyc2UobG9jYXRpb24uc2VhcmNoKVxyXG5cdFx0Y29uc3QgeyB0aWNrZXQsIC4uLm5ld1NlYXJjaCB9ID0gcGFyc2VkU2VhcmNoXHJcblx0XHRsZXQgbmV3U2VhcmNoU3RyaW5nID0gc3RyaW5naWZ5KG5ld1NlYXJjaClcclxuXHRcdGlmIChuZXdTZWFyY2hTdHJpbmcpIHtcclxuXHRcdFx0bmV3U2VhcmNoU3RyaW5nID0gYD8ke25ld1NlYXJjaFN0cmluZ31gXHJcblx0XHR9XHJcblx0XHRoaXN0b3J5LnB1c2hTdGF0ZSgnJywgJycsIGAke2xvY2F0aW9uLnByb3RvY29sfS8vJHtsb2NhdGlvbi5ob3N0fSR7bG9jYXRpb24ucGF0aG5hbWV9JHtuZXdTZWFyY2hTdHJpbmd9YClcclxuXHR9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxjQUFBLEdBQUFELE9BQUE7QUFFTyxNQUFNRSxxQkFBNEMsR0FBQUMsT0FBQSxDQUFBRCxxQkFBQSxHQUFHO0VBQzNERSxTQUFTLEVBQUVBLENBQUEsS0FBTTtJQUNoQixNQUFNQyxRQUFRLEdBQUdDLDRCQUFhLENBQUNDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLE9BQU8sSUFBQUMsa0JBQUssRUFBQ0gsUUFBUSxDQUFDSSxNQUFNLENBQUMsQ0FBQ0MsTUFBTTtFQUNyQyxDQUFDO0VBQ0RDLGlCQUFpQixFQUFFQSxDQUFBLEtBQU07SUFDeEIsTUFBTU4sUUFBUSxHQUFHQyw0QkFBYSxDQUFDQyxXQUFXLENBQUMsQ0FBQztJQUM1QyxPQUFPLEdBQUdGLFFBQVEsQ0FBQ08sUUFBUSxLQUFLUCxRQUFRLENBQUNRLElBQUksR0FBRztFQUNqRCxDQUFDO0VBQ0RDLFlBQVksRUFBRUEsQ0FBQSxLQUFNO0lBQ25CLE1BQU1ULFFBQVEsR0FBR0MsNEJBQWEsQ0FBQ0MsV0FBVyxDQUFDLENBQUM7SUFDNUMsTUFBTVEsT0FBTyxHQUFHVCw0QkFBYSxDQUFDVSxVQUFVLENBQUMsQ0FBQztJQUMxQyxNQUFNQyxZQUFZLEdBQUcsSUFBQVQsa0JBQUssRUFBQ0gsUUFBUSxDQUFDSSxNQUFNLENBQUM7SUFDM0MsTUFBTTtNQUFFQyxNQUFNO01BQUUsR0FBR1E7SUFBVSxDQUFDLEdBQUdELFlBQVk7SUFDN0MsSUFBSUUsZUFBZSxHQUFHLElBQUFDLHNCQUFTLEVBQUNGLFNBQVMsQ0FBQztJQUMxQyxJQUFJQyxlQUFlLEVBQUU7TUFDcEJBLGVBQWUsR0FBRyxJQUFJQSxlQUFlLEVBQUU7SUFDeEM7SUFDQUosT0FBTyxDQUFDTSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHaEIsUUFBUSxDQUFDTyxRQUFRLEtBQUtQLFFBQVEsQ0FBQ1EsSUFBSSxHQUFHUixRQUFRLENBQUNpQixRQUFRLEdBQUdILGVBQWUsRUFBRSxDQUFDO0VBQzFHO0FBQ0QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
3
6
|
exports.tokenPersistenceService = void 0;
|
|
4
7
|
let storedToken = null;
|
|
5
|
-
exports.tokenPersistenceService = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const tokenPersistenceService = exports.tokenPersistenceService = {
|
|
9
|
+
getPersistedToken: () => {
|
|
10
|
+
return storedToken;
|
|
11
|
+
},
|
|
12
|
+
persistToken: token => {
|
|
13
|
+
storedToken = token;
|
|
14
|
+
}
|
|
12
15
|
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9yZWRUb2tlbiIsInRva2VuUGVyc2lzdGVuY2VTZXJ2aWNlIiwiZXhwb3J0cyIsImdldFBlcnNpc3RlZFRva2VuIiwicGVyc2lzdFRva2VuIiwidG9rZW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvdG9rZW5QZXJzaXN0ZW5jZVNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT0F1dGhUb2tlbk9yTnVsbCwgVG9rZW5QZXJzaXN0ZW5jZVNlcnZpY2UgfSBmcm9tICcuLi90eXBlcydcclxuXHJcbmxldCBzdG9yZWRUb2tlbjogT0F1dGhUb2tlbk9yTnVsbCA9IG51bGxcclxuXHJcbmV4cG9ydCBjb25zdCB0b2tlblBlcnNpc3RlbmNlU2VydmljZTogVG9rZW5QZXJzaXN0ZW5jZVNlcnZpY2UgPSB7XHJcblx0Z2V0UGVyc2lzdGVkVG9rZW46ICgpID0+IHtcclxuXHRcdHJldHVybiBzdG9yZWRUb2tlblxyXG5cdH0sXHJcblxyXG5cdHBlcnNpc3RUb2tlbjogdG9rZW4gPT4ge1xyXG5cdFx0c3RvcmVkVG9rZW4gPSB0b2tlblxyXG5cdH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLElBQUlBLFdBQTZCLEdBQUcsSUFBSTtBQUVqQyxNQUFNQyx1QkFBZ0QsR0FBQUMsT0FBQSxDQUFBRCx1QkFBQSxHQUFHO0VBQy9ERSxpQkFBaUIsRUFBRUEsQ0FBQSxLQUFNO0lBQ3hCLE9BQU9ILFdBQVc7RUFDbkIsQ0FBQztFQUVESSxZQUFZLEVBQUVDLEtBQUssSUFBSTtJQUN0QkwsV0FBVyxHQUFHSyxLQUFLO0VBQ3BCO0FBQ0QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|