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