studiokit-scaffolding-js 7.0.12-next.1.3 → 7.0.12-next.2.1

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