oidc-spa 7.1.10 → 7.2.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/backend.js +235 -352
- package/backend.js.map +1 -1
- package/core/AuthResponse.js +12 -49
- package/core/AuthResponse.js.map +1 -1
- package/core/Oidc.d.ts +1 -2
- package/core/Oidc.js.map +1 -1
- package/core/OidcInitializationError.d.ts +0 -13
- package/core/OidcInitializationError.js +8 -318
- package/core/OidcInitializationError.js.map +1 -1
- package/core/OidcMetadata.js +1 -1
- package/core/OidcMetadata.js.map +1 -1
- package/core/StateData.d.ts +5 -5
- package/core/StateData.js +25 -25
- package/core/StateData.js.map +1 -1
- package/core/configId.js +1 -1
- package/core/configId.js.map +1 -1
- package/core/createOidc.d.ts +8 -0
- package/core/createOidc.js +1030 -1292
- package/core/createOidc.js.map +1 -1
- package/core/diagnostic.d.ts +14 -0
- package/core/diagnostic.js +214 -0
- package/core/diagnostic.js.map +1 -0
- package/core/evtIsUserActive.js +26 -27
- package/core/evtIsUserActive.js.map +1 -1
- package/core/handleOidcCallback.js +99 -154
- package/core/handleOidcCallback.js.map +1 -1
- package/core/iframeMessageProtection.d.ts +1 -1
- package/core/iframeMessageProtection.js +40 -106
- package/core/iframeMessageProtection.js.map +1 -1
- package/core/index.d.ts +1 -1
- package/core/index.js +3 -3
- package/core/index.js.map +1 -1
- package/core/initialLocationHref.js +1 -1
- package/core/initialLocationHref.js.map +1 -1
- package/core/isNewBrowserSession.js +8 -8
- package/core/isNewBrowserSession.js.map +1 -1
- package/core/loginOrGoToAuthServer.d.ts +1 -1
- package/core/loginOrGoToAuthServer.js +188 -310
- package/core/loginOrGoToAuthServer.js.map +1 -1
- package/core/loginPropagationToOtherTabs.js +15 -16
- package/core/loginPropagationToOtherTabs.js.map +1 -1
- package/core/loginSilent.d.ts +2 -3
- package/core/loginSilent.js +118 -214
- package/core/loginSilent.js.map +1 -1
- package/core/logoutPropagationToOtherTabs.js +15 -16
- package/core/logoutPropagationToOtherTabs.js.map +1 -1
- package/core/oidcClientTsUserToTokens.d.ts +1 -1
- package/core/oidcClientTsUserToTokens.js +75 -72
- package/core/oidcClientTsUserToTokens.js.map +1 -1
- package/core/ongoingLoginOrRefreshProcesses.js +23 -89
- package/core/ongoingLoginOrRefreshProcesses.js.map +1 -1
- package/core/persistedAuthState.js +13 -13
- package/core/persistedAuthState.js.map +1 -1
- package/entrypoint.js +9 -9
- package/entrypoint.js.map +1 -1
- package/esm/core/AuthResponse.d.ts +5 -0
- package/{src/core/AuthResponse.ts → esm/core/AuthResponse.js} +3 -9
- package/esm/core/AuthResponse.js.map +1 -0
- package/esm/core/Oidc.d.ts +126 -0
- package/esm/core/Oidc.js +2 -0
- package/esm/core/Oidc.js.map +1 -0
- package/esm/core/OidcInitializationError.d.ts +7 -0
- package/esm/core/OidcInitializationError.js +17 -0
- package/esm/core/OidcInitializationError.js.map +1 -0
- package/{src/core/OidcMetadata.ts → esm/core/OidcMetadata.d.ts} +0 -5
- package/esm/core/OidcMetadata.js +3 -0
- package/esm/core/OidcMetadata.js.map +1 -0
- package/esm/core/StateData.d.ts +42 -0
- package/esm/core/StateData.js +55 -0
- package/esm/core/StateData.js.map +1 -0
- package/esm/core/configId.d.ts +4 -0
- package/esm/core/configId.js +4 -0
- package/esm/core/configId.js.map +1 -0
- package/esm/core/createOidc.d.ts +132 -0
- package/{src/core/createOidc.ts → esm/core/createOidc.js} +282 -826
- package/esm/core/createOidc.js.map +1 -0
- package/esm/core/diagnostic.d.ts +14 -0
- package/{src/core/OidcInitializationError.ts → esm/core/diagnostic.js} +40 -117
- package/esm/core/diagnostic.js.map +1 -0
- package/esm/core/evtIsUserActive.d.ts +5 -0
- package/{src/core/evtIsUserActive.ts → esm/core/evtIsUserActive.js} +14 -46
- package/esm/core/evtIsUserActive.js.map +1 -0
- package/esm/core/handleOidcCallback.d.ts +13 -0
- package/{src/core/handleOidcCallback.ts → esm/core/handleOidcCallback.js} +56 -131
- package/esm/core/handleOidcCallback.js.map +1 -0
- package/esm/core/iframeMessageProtection.d.ts +20 -0
- package/{src/core/iframeMessageProtection.ts → esm/core/iframeMessageProtection.js} +14 -49
- package/esm/core/iframeMessageProtection.js.map +1 -0
- package/{src/core/index.ts → esm/core/index.d.ts} +1 -1
- package/esm/core/index.js +4 -0
- package/esm/core/index.js.map +1 -0
- package/esm/core/initialLocationHref.d.ts +1 -0
- package/{src/core/initialLocationHref.ts → esm/core/initialLocationHref.js} +1 -1
- package/esm/core/initialLocationHref.js.map +1 -0
- package/esm/core/isNewBrowserSession.d.ts +9 -0
- package/{src/core/isNewBrowserSession.ts → esm/core/isNewBrowserSession.js} +3 -15
- package/esm/core/isNewBrowserSession.js.map +1 -0
- package/esm/core/loginOrGoToAuthServer.d.ts +40 -0
- package/{src/core/loginOrGoToAuthServer.ts → esm/core/loginOrGoToAuthServer.js} +60 -168
- package/esm/core/loginOrGoToAuthServer.js.map +1 -0
- package/esm/core/loginPropagationToOtherTabs.d.ts +8 -0
- package/{src/core/loginPropagationToOtherTabs.ts → esm/core/loginPropagationToOtherTabs.js} +7 -25
- package/esm/core/loginPropagationToOtherTabs.js.map +1 -0
- package/esm/core/loginSilent.d.ts +28 -0
- package/esm/core/loginSilent.js +125 -0
- package/esm/core/loginSilent.js.map +1 -0
- package/esm/core/logoutPropagationToOtherTabs.d.ts +10 -0
- package/{src/core/logoutPropagationToOtherTabs.ts → esm/core/logoutPropagationToOtherTabs.js} +8 -28
- package/esm/core/logoutPropagationToOtherTabs.js.map +1 -0
- package/esm/core/oidcClientTsUserToTokens.d.ts +11 -0
- package/esm/core/oidcClientTsUserToTokens.js +155 -0
- package/esm/core/oidcClientTsUserToTokens.js.map +1 -0
- package/esm/core/ongoingLoginOrRefreshProcesses.d.ts +6 -0
- package/{src/core/ongoingLoginOrRefreshProcesses.ts → esm/core/ongoingLoginOrRefreshProcesses.js} +6 -24
- package/esm/core/ongoingLoginOrRefreshProcesses.js.map +1 -0
- package/esm/core/persistedAuthState.d.ts +28 -0
- package/esm/core/persistedAuthState.js +64 -0
- package/esm/core/persistedAuthState.js.map +1 -0
- package/esm/entrypoint.d.ts +7 -0
- package/{src/entrypoint.ts → esm/entrypoint.js} +3 -26
- package/esm/entrypoint.js.map +1 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -0
- package/esm/keycloak/index.d.ts +3 -0
- package/esm/keycloak/index.js +3 -0
- package/esm/keycloak/index.js.map +1 -0
- package/esm/keycloak/isKeycloak.d.ts +3 -0
- package/esm/keycloak/isKeycloak.js +17 -0
- package/esm/keycloak/isKeycloak.js.map +1 -0
- package/esm/keycloak/keycloak-js/Keycloak.d.ts +284 -0
- package/esm/keycloak/keycloak-js/Keycloak.js +774 -0
- package/esm/keycloak/keycloak-js/Keycloak.js.map +1 -0
- package/esm/keycloak/keycloak-js/index.d.ts +2 -0
- package/esm/keycloak/keycloak-js/index.js +2 -0
- package/esm/keycloak/keycloak-js/index.js.map +1 -0
- package/esm/keycloak/keycloak-js/types.d.ts +361 -0
- package/esm/keycloak/keycloak-js/types.js +2 -0
- package/esm/keycloak/keycloak-js/types.js.map +1 -0
- package/esm/keycloak/keycloakIssuerUriParsed.d.ts +9 -0
- package/esm/keycloak/keycloakIssuerUriParsed.js +16 -0
- package/esm/keycloak/keycloakIssuerUriParsed.js.map +1 -0
- package/esm/keycloak/keycloakUtils.d.ts +37 -0
- package/esm/keycloak/keycloakUtils.js +44 -0
- package/esm/keycloak/keycloakUtils.js.map +1 -0
- package/esm/keycloak-js.d.ts +1 -0
- package/esm/keycloak-js.js +2 -0
- package/esm/keycloak-js.js.map +1 -0
- package/esm/mock/index.js +2 -0
- package/esm/mock/index.js.map +1 -0
- package/esm/mock/oidc.d.ts +19 -0
- package/{src/mock/oidc.ts → esm/mock/oidc.js} +28 -88
- package/esm/mock/oidc.js.map +1 -0
- package/esm/mock/react.d.ts +58 -0
- package/esm/mock/react.js +7 -0
- package/esm/mock/react.js.map +1 -0
- package/esm/react/index.js +2 -0
- package/esm/react/index.js.map +1 -0
- package/esm/react/react.d.ts +102 -0
- package/esm/react/react.js +221 -0
- package/esm/react/react.js.map +1 -0
- package/esm/tools/Deferred.d.ts +14 -0
- package/esm/tools/Deferred.js +23 -0
- package/esm/tools/Deferred.js.map +1 -0
- package/esm/tools/EphemeralSessionStorage.d.ts +12 -0
- package/{src/tools/EphemeralSessionStorage.ts → esm/tools/EphemeralSessionStorage.js} +30 -112
- package/esm/tools/EphemeralSessionStorage.js.map +1 -0
- package/esm/tools/Evt.d.ts +11 -0
- package/{src/tools/Evt.ts → esm/tools/Evt.js} +7 -25
- package/esm/tools/Evt.js.map +1 -0
- package/esm/tools/StatefulEvt.d.ts +12 -0
- package/esm/tools/StatefulEvt.js +21 -0
- package/esm/tools/StatefulEvt.js.map +1 -0
- package/esm/tools/ValueOrAsyncGetter.js +2 -0
- package/esm/tools/ValueOrAsyncGetter.js.map +1 -0
- package/esm/tools/asymmetricEncryption.d.ts +18 -0
- package/esm/tools/asymmetricEncryption.js +85 -0
- package/esm/tools/asymmetricEncryption.js.map +1 -0
- package/esm/tools/base64.d.ts +2 -0
- package/{src/tools/base64.ts → esm/tools/base64.js} +3 -3
- package/esm/tools/base64.js.map +1 -0
- package/esm/tools/createObjectThatThrowsIfAccessed.d.ts +8 -0
- package/{src/tools/createObjectThatThrowsIfAccessed.ts → esm/tools/createObjectThatThrowsIfAccessed.js} +7 -18
- package/esm/tools/createObjectThatThrowsIfAccessed.js.map +1 -0
- package/esm/tools/decodeJwt.d.ts +25 -0
- package/esm/tools/decodeJwt.js +60 -0
- package/esm/tools/decodeJwt.js.map +1 -0
- package/esm/tools/generateUrlSafeRandom.d.ts +3 -0
- package/{src/tools/generateUrlSafeRandom.ts → esm/tools/generateUrlSafeRandom.js} +5 -8
- package/esm/tools/generateUrlSafeRandom.js.map +1 -0
- package/esm/tools/getDownlinkAndRtt.d.ts +4 -0
- package/{src/tools/getDownlinkAndRtt.ts → esm/tools/getDownlinkAndRtt.js} +6 -10
- package/esm/tools/getDownlinkAndRtt.js.map +1 -0
- package/esm/tools/getIsOnline.d.ts +7 -0
- package/{src/tools/getIsOnline.ts → esm/tools/getIsOnline.js} +3 -9
- package/esm/tools/getIsOnline.js.map +1 -0
- package/esm/tools/getIsValidRemoteJson.d.ts +1 -0
- package/esm/tools/getIsValidRemoteJson.js +15 -0
- package/esm/tools/getIsValidRemoteJson.js.map +1 -0
- package/esm/tools/getPrUserInteraction.d.ts +4 -0
- package/{src/tools/getPrUserInteraction.ts → esm/tools/getPrUserInteraction.js} +2 -6
- package/esm/tools/getPrUserInteraction.js.map +1 -0
- package/esm/tools/getUserEnvironmentInfo.d.ts +1 -0
- package/esm/tools/getUserEnvironmentInfo.js +50 -0
- package/esm/tools/getUserEnvironmentInfo.js.map +1 -0
- package/esm/tools/haveSharedParentDomain.d.ts +4 -0
- package/{src/tools/haveSharedParentDomain.ts → esm/tools/haveSharedParentDomain.js} +3 -5
- package/esm/tools/haveSharedParentDomain.js.map +1 -0
- package/esm/tools/isDev.d.ts +1 -0
- package/{src/tools/isDev.ts → esm/tools/isDev.js} +5 -12
- package/esm/tools/isDev.js.map +1 -0
- package/esm/tools/parseKeycloakIssuerUri.d.ts +30 -0
- package/esm/tools/parseKeycloakIssuerUri.js +33 -0
- package/esm/tools/parseKeycloakIssuerUri.js.map +1 -0
- package/esm/tools/readExpirationTimeInJwt.d.ts +1 -0
- package/{src/tools/readExpirationTimeInJwt.ts → esm/tools/readExpirationTimeInJwt.js} +6 -7
- package/esm/tools/readExpirationTimeInJwt.js.map +1 -0
- package/esm/tools/startCountdown.d.ts +11 -0
- package/{src/tools/startCountdown.ts → esm/tools/startCountdown.js} +6 -17
- package/esm/tools/startCountdown.js.map +1 -0
- package/esm/tools/subscribeToUserInteraction.d.ts +6 -0
- package/{src/tools/subscribeToUserInteraction.ts → esm/tools/subscribeToUserInteraction.js} +4 -13
- package/esm/tools/subscribeToUserInteraction.js.map +1 -0
- package/esm/tools/toFullyQualifiedUrl.d.ts +10 -0
- package/{src/tools/toFullyQualifiedUrl.ts → esm/tools/toFullyQualifiedUrl.js} +7 -25
- package/esm/tools/toFullyQualifiedUrl.js.map +1 -0
- package/esm/tools/toHumanReadableDuration.d.ts +1 -0
- package/{src/tools/toHumanReadableDuration.ts → esm/tools/toHumanReadableDuration.js} +8 -5
- package/esm/tools/toHumanReadableDuration.js.map +1 -0
- package/esm/tools/urlSearchParams.d.ts +19 -0
- package/{src/tools/urlSearchParams.ts → esm/tools/urlSearchParams.js} +24 -70
- package/esm/tools/urlSearchParams.js.map +1 -0
- package/esm/tools/workerTimers.d.ts +5 -0
- package/{src/tools/workerTimers.ts → esm/tools/workerTimers.js} +7 -27
- package/esm/tools/workerTimers.js.map +1 -0
- package/esm/vendor/frontend/oidc-client-ts.d.ts +1 -0
- package/esm/vendor/frontend/oidc-client-ts.js +3636 -0
- package/{src/vendor/frontend/tsafe.ts → esm/vendor/frontend/tsafe.d.ts} +1 -0
- package/esm/vendor/frontend/tsafe.js +1 -0
- package/esm/vendor/frontend/worker-timers.js +1 -0
- package/index.d.ts +1 -1
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/keycloak/index.d.ts +3 -0
- package/keycloak/index.js +8 -0
- package/keycloak/index.js.map +1 -0
- package/keycloak/isKeycloak.d.ts +3 -0
- package/keycloak/isKeycloak.js +20 -0
- package/keycloak/isKeycloak.js.map +1 -0
- package/keycloak/keycloak-js/Keycloak.d.ts +284 -0
- package/keycloak/keycloak-js/Keycloak.js +778 -0
- package/keycloak/keycloak-js/Keycloak.js.map +1 -0
- package/keycloak/keycloak-js/index.d.ts +2 -0
- package/keycloak/keycloak-js/index.js +6 -0
- package/keycloak/keycloak-js/index.js.map +1 -0
- package/keycloak/keycloak-js/types.d.ts +361 -0
- package/keycloak/keycloak-js/types.js +3 -0
- package/keycloak/keycloak-js/types.js.map +1 -0
- package/keycloak/keycloakIssuerUriParsed.d.ts +9 -0
- package/keycloak/keycloakIssuerUriParsed.js +19 -0
- package/keycloak/keycloakIssuerUriParsed.js.map +1 -0
- package/keycloak/keycloakUtils.d.ts +37 -0
- package/keycloak/keycloakUtils.js +47 -0
- package/keycloak/keycloakUtils.js.map +1 -0
- package/keycloak-js.d.ts +1 -0
- package/keycloak-js.js +18 -0
- package/keycloak-js.js.map +1 -0
- package/mock/index.js.map +1 -1
- package/mock/oidc.js +147 -194
- package/mock/oidc.js.map +1 -1
- package/mock/react.js +2 -2
- package/mock/react.js.map +1 -1
- package/package.json +74 -299
- package/react/index.js.map +1 -1
- package/react/react.js +133 -244
- package/react/react.js.map +1 -1
- package/tools/Deferred.js +13 -35
- package/tools/Deferred.js.map +1 -1
- package/tools/EphemeralSessionStorage.js +46 -48
- package/tools/EphemeralSessionStorage.js.map +1 -1
- package/tools/Evt.js +14 -14
- package/tools/Evt.js.map +1 -1
- package/tools/StatefulEvt.js +5 -5
- package/tools/StatefulEvt.js.map +1 -1
- package/tools/ValueOrAsyncGetter.js.map +1 -1
- package/tools/asymmetricEncryption.js +81 -172
- package/tools/asymmetricEncryption.js.map +1 -1
- package/tools/base64.js +2 -2
- package/tools/base64.js.map +1 -1
- package/tools/createObjectThatThrowsIfAccessed.js +13 -61
- package/tools/createObjectThatThrowsIfAccessed.js.map +1 -1
- package/tools/decodeJwt.d.ts +25 -2
- package/tools/decodeJwt.js +61 -3
- package/tools/decodeJwt.js.map +1 -1
- package/tools/generateUrlSafeRandom.js +5 -30
- package/tools/generateUrlSafeRandom.js.map +1 -1
- package/tools/getDownlinkAndRtt.js +8 -30
- package/tools/getDownlinkAndRtt.js.map +1 -1
- package/tools/getIsOnline.js +3 -3
- package/tools/getIsOnline.js.map +1 -1
- package/tools/getIsValidRemoteJson.js +12 -59
- package/tools/getIsValidRemoteJson.js.map +1 -1
- package/tools/getPrUserInteraction.js +4 -4
- package/tools/getPrUserInteraction.js.map +1 -1
- package/tools/getUserEnvironmentInfo.js +17 -12
- package/tools/getUserEnvironmentInfo.js.map +1 -1
- package/tools/haveSharedParentDomain.js +5 -5
- package/tools/haveSharedParentDomain.js.map +1 -1
- package/tools/isDev.js +2 -2
- package/tools/isDev.js.map +1 -1
- package/tools/parseKeycloakIssuerUri.d.ts +2 -0
- package/tools/parseKeycloakIssuerUri.js +11 -42
- package/tools/parseKeycloakIssuerUri.js.map +1 -1
- package/tools/readExpirationTimeInJwt.js +4 -4
- package/tools/readExpirationTimeInJwt.js.map +1 -1
- package/tools/startCountdown.js +17 -65
- package/tools/startCountdown.js.map +1 -1
- package/tools/subscribeToUserInteraction.js +17 -66
- package/tools/subscribeToUserInteraction.js.map +1 -1
- package/tools/toFullyQualifiedUrl.js +7 -7
- package/tools/toFullyQualifiedUrl.js.map +1 -1
- package/tools/toHumanReadableDuration.js +13 -13
- package/tools/toHumanReadableDuration.js.map +1 -1
- package/tools/urlSearchParams.js +28 -50
- package/tools/urlSearchParams.js.map +1 -1
- package/tools/workerTimers.js +10 -10
- package/tools/workerTimers.js.map +1 -1
- package/vendor/frontend/oidc-client-ts.d.ts +1 -0
- package/vendor/frontend/oidc-client-ts.js +3686 -0
- package/vendor/frontend/tsafe.d.ts +1 -0
- package/vendor/frontend/tsafe.js +1 -1
- package/LICENSE +0 -21
- package/README.md +0 -185
- package/core/trustedFetch.d.ts +0 -2
- package/core/trustedFetch.js +0 -12
- package/core/trustedFetch.js.map +0 -1
- package/src/backend.ts +0 -391
- package/src/core/Oidc.ts +0 -141
- package/src/core/StateData.ts +0 -118
- package/src/core/configId.ts +0 -3
- package/src/core/loginSilent.ts +0 -206
- package/src/core/oidcClientTsUserToTokens.ts +0 -229
- package/src/core/persistedAuthState.ts +0 -122
- package/src/core/trustedFetch.ts +0 -9
- package/src/index.ts +0 -7
- package/src/mock/react.tsx +0 -11
- package/src/react/react.tsx +0 -460
- package/src/tools/Deferred.ts +0 -39
- package/src/tools/StatefulEvt.ts +0 -38
- package/src/tools/asymmetricEncryption.ts +0 -184
- package/src/tools/decodeJwt.ts +0 -2
- package/src/tools/getIsValidRemoteJson.ts +0 -18
- package/src/tools/getUserEnvironmentInfo.ts +0 -42
- package/src/tools/parseKeycloakIssuerUri.ts +0 -68
- package/src/vendor/backend/evt.ts +0 -2
- package/src/vendor/backend/jsonwebtoken.ts +0 -1
- package/src/vendor/backend/node-fetch.ts +0 -2
- package/src/vendor/backend/node-jose.ts +0 -1
- package/src/vendor/backend/tsafe.ts +0 -5
- package/src/vendor/backend/zod.ts +0 -1
- package/src/vendor/frontend/oidc-client-ts-and-jwt-decode.ts +0 -4
- package/vendor/frontend/oidc-client-ts-and-jwt-decode.d.ts +0 -3
- package/vendor/frontend/oidc-client-ts-and-jwt-decode.js +0 -3
- /package/{src/mock/index.ts → esm/mock/index.d.ts} +0 -0
- /package/{src/react/index.ts → esm/react/index.d.ts} +0 -0
- /package/{src/tools/ValueOrAsyncGetter.ts → esm/tools/ValueOrAsyncGetter.d.ts} +0 -0
- /package/{src/vendor/frontend/worker-timers.ts → esm/vendor/frontend/worker-timers.d.ts} +0 -0
|
@@ -1,24 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
3
|
exports.parseKeycloakIssuerUri = parseKeycloakIssuerUri;
|
|
20
|
-
|
|
4
|
+
const keycloak_1 = require("../keycloak");
|
|
21
5
|
/**
|
|
6
|
+
* @deprecated: Use `import { ... } from "oidc-spa/keycloak"` instead.
|
|
7
|
+
*
|
|
22
8
|
* Return undefined if the issuerUri doesn't match the expected shape of a Keycloak issuerUri
|
|
23
9
|
*
|
|
24
10
|
* Example:
|
|
@@ -34,34 +20,17 @@ var toFullyQualifiedUrl_1 = require("./toFullyQualifiedUrl");
|
|
|
34
20
|
* }
|
|
35
21
|
* */
|
|
36
22
|
function parseKeycloakIssuerUri(issuerUri) {
|
|
37
|
-
|
|
38
|
-
var split = url.pathname.split("/realms/");
|
|
39
|
-
if (split.length !== 2) {
|
|
23
|
+
if (!(0, keycloak_1.isKeycloak)({ issuerUri })) {
|
|
40
24
|
return undefined;
|
|
41
25
|
}
|
|
42
|
-
|
|
43
|
-
var getAdminConsoleUrl = function (realm) {
|
|
44
|
-
return "".concat(url.origin).concat(kcHttpRelativePath, "/admin/").concat(realm, "/console");
|
|
45
|
-
};
|
|
26
|
+
const keycloakUtils = (0, keycloak_1.createKeycloakUtils)({ issuerUri });
|
|
46
27
|
return {
|
|
47
|
-
origin:
|
|
48
|
-
realm: realm,
|
|
49
|
-
kcHttpRelativePath: kcHttpRelativePath
|
|
50
|
-
adminConsoleUrl:
|
|
51
|
-
adminConsoleUrl_master:
|
|
52
|
-
getAccountUrl:
|
|
53
|
-
var clientId = _a.clientId, backToAppFromAccountUrl = _a.backToAppFromAccountUrl, locale = _a.locale;
|
|
54
|
-
var accountUrlObj = new URL("".concat(url.origin).concat(kcHttpRelativePath, "/realms/").concat(realm, "/account"));
|
|
55
|
-
accountUrlObj.searchParams.set("referrer", clientId);
|
|
56
|
-
accountUrlObj.searchParams.set("referrer_uri", (0, toFullyQualifiedUrl_1.toFullyQualifiedUrl)({
|
|
57
|
-
urlish: backToAppFromAccountUrl,
|
|
58
|
-
doAssertNoQueryParams: false
|
|
59
|
-
}));
|
|
60
|
-
if (locale !== undefined) {
|
|
61
|
-
accountUrlObj.searchParams.set("kc_locale", locale);
|
|
62
|
-
}
|
|
63
|
-
return accountUrlObj.href;
|
|
64
|
-
}
|
|
28
|
+
origin: keycloakUtils.issuerUriParsed.origin,
|
|
29
|
+
realm: keycloakUtils.issuerUriParsed.realm,
|
|
30
|
+
kcHttpRelativePath: keycloakUtils.issuerUriParsed.kcHttpRelativePath,
|
|
31
|
+
adminConsoleUrl: keycloakUtils.adminConsoleUrl,
|
|
32
|
+
adminConsoleUrl_master: keycloakUtils.adminConsoleUrl_master,
|
|
33
|
+
getAccountUrl: keycloakUtils.getAccountUrl
|
|
65
34
|
};
|
|
66
35
|
}
|
|
67
36
|
//# sourceMappingURL=parseKeycloakIssuerUri.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseKeycloakIssuerUri.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"parseKeycloakIssuerUri.js","sourceRoot":"","sources":["../../src/tools/parseKeycloakIssuerUri.ts"],"names":[],"mappings":";;AAmBA,wDA6BC;AAhDD,0CAA8D;AAE9D;;;;;;;;;;;;;;;;KAgBK;AACL,SAAgB,sBAAsB,CAAC,SAAiB;IAepD,IAAI,CAAC,IAAA,qBAAU,EAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,8BAAmB,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzD,OAAO;QACH,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,MAAM;QAC5C,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,KAAK;QAC1C,kBAAkB,EAAE,aAAa,CAAC,eAAe,CAAC,kBAAkB;QACpE,eAAe,EAAE,aAAa,CAAC,eAAe;QAC9C,sBAAsB,EAAE,aAAa,CAAC,sBAAsB;QAC5D,aAAa,EAAE,aAAa,CAAC,aAAa;KAC7C,CAAC;AACN,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.readExpirationTimeInJwt = readExpirationTimeInJwt;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const decodeJwt_1 = require("./decodeJwt");
|
|
5
|
+
const tsafe_1 = require("../vendor/frontend/tsafe");
|
|
6
6
|
// Return undefined if token provided wasn't a JWT or if it hasn't an exp claim number
|
|
7
7
|
function readExpirationTimeInJwt(token) {
|
|
8
|
-
|
|
8
|
+
let exp;
|
|
9
9
|
try {
|
|
10
10
|
exp = (0, decodeJwt_1.decodeJwt)(token).exp;
|
|
11
11
|
(0, tsafe_1.assert)(typeof exp === "number");
|
|
12
12
|
}
|
|
13
|
-
catch
|
|
13
|
+
catch {
|
|
14
14
|
return undefined;
|
|
15
15
|
}
|
|
16
16
|
return exp * 1000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readExpirationTimeInJwt.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"readExpirationTimeInJwt.js","sourceRoot":"","sources":["../../src/tools/readExpirationTimeInJwt.ts"],"names":[],"mappings":";;AAIA,0DAWC;AAfD,2CAAwC;AACxC,oDAAkD;AAElD,sFAAsF;AACtF,SAAgB,uBAAuB,CAAC,KAAa;IACjD,IAAI,GAAW,CAAC;IAEhB,IAAI,CAAC;QACD,GAAG,GAAG,IAAA,qBAAS,EAAkB,KAAK,CAAC,CAAC,GAAG,CAAC;QAC5C,IAAA,cAAM,EAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,GAAG,IAAI,CAAC;AACtB,CAAC"}
|
package/tools/startCountdown.js
CHANGED
|
@@ -1,76 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
3
|
exports.createStartCountdown = createStartCountdown;
|
|
40
|
-
|
|
4
|
+
const workerTimers_1 = require("../tools/workerTimers");
|
|
41
5
|
function createStartCountdown(params) {
|
|
42
|
-
|
|
6
|
+
const { tickCallback } = params;
|
|
43
7
|
function startCountdown(params) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return [4 /*yield*/, new Promise(function (resolve) {
|
|
58
|
-
timer = (0, workerTimers_1.setTimeout)(resolve, 1000);
|
|
59
|
-
})];
|
|
60
|
-
case 2:
|
|
61
|
-
_a.sent();
|
|
62
|
-
secondsLeft--;
|
|
63
|
-
return [3 /*break*/, 1];
|
|
64
|
-
case 3: return [2 /*return*/];
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
}); })();
|
|
68
|
-
var stopCountdown = function () {
|
|
8
|
+
const { countDownFromSeconds } = params;
|
|
9
|
+
let timer;
|
|
10
|
+
(async () => {
|
|
11
|
+
let secondsLeft = Math.floor(countDownFromSeconds);
|
|
12
|
+
while (secondsLeft >= 0) {
|
|
13
|
+
tickCallback({ secondsLeft });
|
|
14
|
+
await new Promise(resolve => {
|
|
15
|
+
timer = (0, workerTimers_1.setTimeout)(resolve, 1000);
|
|
16
|
+
});
|
|
17
|
+
secondsLeft--;
|
|
18
|
+
}
|
|
19
|
+
})();
|
|
20
|
+
const stopCountdown = () => {
|
|
69
21
|
(0, workerTimers_1.clearTimeout)(timer);
|
|
70
22
|
tickCallback({ secondsLeft: undefined });
|
|
71
23
|
};
|
|
72
|
-
return { stopCountdown
|
|
24
|
+
return { stopCountdown };
|
|
73
25
|
}
|
|
74
|
-
return { startCountdown
|
|
26
|
+
return { startCountdown };
|
|
75
27
|
}
|
|
76
28
|
//# sourceMappingURL=startCountdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startCountdown.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"startCountdown.js","sourceRoot":"","sources":["../../src/tools/startCountdown.ts"],"names":[],"mappings":";;AAEA,oDAiCC;AAnCD,wDAAiE;AAEjE,SAAgB,oBAAoB,CAAC,MAEpC;IACG,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEhC,SAAS,cAAc,CAAC,MAAwC;QAC5D,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC;QAExC,IAAI,KAAoC,CAAC;QAEzC,CAAC,KAAK,IAAI,EAAE;YACR,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAEnD,OAAO,WAAW,IAAI,CAAC,EAAE,CAAC;gBACtB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;gBAE9B,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;oBAC9B,KAAK,GAAG,IAAA,yBAAU,EAAC,OAAO,EAAE,IAAK,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBAEH,WAAW,EAAE,CAAC;YAClB,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,aAAa,GAAG,GAAG,EAAE;YACvB,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;YACpB,YAAY,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,OAAO,EAAE,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -1,76 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
3
|
exports.subscribeToUserInteraction = subscribeToUserInteraction;
|
|
40
|
-
|
|
4
|
+
const getPrUserInteraction_1 = require("./getPrUserInteraction");
|
|
41
5
|
function subscribeToUserInteraction(params) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
(function callee() {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
case 1:
|
|
54
|
-
_b.sent();
|
|
55
|
-
params.callback();
|
|
56
|
-
return [4 /*yield*/, new Promise(function (resolve) {
|
|
57
|
-
var timer = setTimeout(resolve, throttleMs);
|
|
58
|
-
cleanups.add(function () {
|
|
59
|
-
clearTimeout(timer);
|
|
60
|
-
});
|
|
61
|
-
})];
|
|
62
|
-
case 2:
|
|
63
|
-
_b.sent();
|
|
64
|
-
cleanups.clear();
|
|
65
|
-
callee();
|
|
66
|
-
return [2 /*return*/];
|
|
67
|
-
}
|
|
6
|
+
const { throttleMs } = params;
|
|
7
|
+
const cleanups = new Set();
|
|
8
|
+
(async function callee() {
|
|
9
|
+
const { cancelPrUserInteraction, prUserInteraction } = (0, getPrUserInteraction_1.getPrUserInteraction)();
|
|
10
|
+
cleanups.add(cancelPrUserInteraction);
|
|
11
|
+
await prUserInteraction;
|
|
12
|
+
params.callback();
|
|
13
|
+
await new Promise(resolve => {
|
|
14
|
+
const timer = setTimeout(resolve, throttleMs);
|
|
15
|
+
cleanups.add(() => {
|
|
16
|
+
clearTimeout(timer);
|
|
68
17
|
});
|
|
69
18
|
});
|
|
19
|
+
cleanups.clear();
|
|
20
|
+
callee();
|
|
70
21
|
})();
|
|
71
|
-
|
|
72
|
-
Array.from(cleanups).forEach(
|
|
22
|
+
const unsubscribeFromUserInteraction = () => {
|
|
23
|
+
Array.from(cleanups).forEach(cleanup => cleanup());
|
|
73
24
|
};
|
|
74
|
-
return { unsubscribeFromUserInteraction
|
|
25
|
+
return { unsubscribeFromUserInteraction };
|
|
75
26
|
}
|
|
76
27
|
//# sourceMappingURL=subscribeToUserInteraction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribeToUserInteraction.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"subscribeToUserInteraction.js","sourceRoot":"","sources":["../../src/tools/subscribeToUserInteraction.ts"],"names":[],"mappings":";;AAEA,gEA8BC;AAhCD,iEAA8D;AAE9D,SAAgB,0BAA0B,CAAC,MAAoD;IAC3F,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE9B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAc,CAAC;IAEvC,CAAC,KAAK,UAAU,MAAM;QAClB,MAAM,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,GAAG,IAAA,2CAAoB,GAAE,CAAC;QAE9E,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAEtC,MAAM,iBAAiB,CAAC;QAExB,MAAM,CAAC,QAAQ,EAAE,CAAC;QAElB,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC9C,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE;gBACd,YAAY,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,EAAE,CAAC;IACb,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,8BAA8B,GAAG,GAAG,EAAE;QACxC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toFullyQualifiedUrl = toFullyQualifiedUrl;
|
|
4
4
|
function toFullyQualifiedUrl(params) {
|
|
5
|
-
|
|
5
|
+
let url;
|
|
6
6
|
if (params.urlish.includes("://")) {
|
|
7
7
|
url = params.urlish;
|
|
8
8
|
}
|
|
9
9
|
else {
|
|
10
|
-
|
|
10
|
+
let path = params.urlish;
|
|
11
11
|
if (!path.startsWith("/")) {
|
|
12
|
-
path =
|
|
12
|
+
path = `/${path}`;
|
|
13
13
|
}
|
|
14
|
-
url =
|
|
14
|
+
url = `${window.location.origin}${path}`;
|
|
15
15
|
}
|
|
16
16
|
{
|
|
17
|
-
|
|
17
|
+
const urlObj = new URL(url);
|
|
18
18
|
urlObj.pathname = urlObj.pathname
|
|
19
19
|
// Make sure there is no double slash like in `https://example.com//foo//bar`
|
|
20
20
|
.replace(/\/\//g, "/");
|
|
@@ -25,11 +25,11 @@ function toFullyQualifiedUrl(params) {
|
|
|
25
25
|
// Note: `searchParams.size` can be `undefined` in some runtime environments.
|
|
26
26
|
// See https://github.com/keycloakify/oidc-spa/issues/63#issue-3080503083
|
|
27
27
|
if (new URL(url).searchParams.size) {
|
|
28
|
-
throw new Error(
|
|
28
|
+
throw new Error(`The ${params.urlish} URL should not have query parameters`);
|
|
29
29
|
}
|
|
30
30
|
if (params.doOutputWithTrailingSlash) {
|
|
31
31
|
if (!url.endsWith("/")) {
|
|
32
|
-
url =
|
|
32
|
+
url = `${url}/`;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toFullyQualifiedUrl.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"toFullyQualifiedUrl.js","sourceRoot":"","sources":["../../src/tools/toFullyQualifiedUrl.ts"],"names":[],"mappings":";;AAYA,kDA6CC;AA7CD,SAAgB,mBAAmB,CAAC,MAAc;IAC9C,IAAI,GAAW,CAAC;IAEhB,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,CAAC;SAAM,CAAC;QACJ,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,CAAC;QACG,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5B,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ;YAC7B,6EAA6E;aAC5E,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAE3B,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC/B,yCAAyC;QACzC,6EAA6E;QAC7E,yEAAyE;QACzE,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,OAAO,MAAM,CAAC,MAAM,uCAAuC,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;YACpB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toHumanReadableDuration = toHumanReadableDuration;
|
|
4
4
|
function toHumanReadableDuration(milliseconds) {
|
|
5
|
-
|
|
5
|
+
const seconds = Math.floor(milliseconds / 1000);
|
|
6
6
|
if (seconds < 60) {
|
|
7
|
-
return
|
|
7
|
+
return `${Math.round(milliseconds / 1000)} seconds`;
|
|
8
8
|
}
|
|
9
9
|
else if (seconds < 3600) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return
|
|
10
|
+
const minutes = Math.floor(seconds / 60);
|
|
11
|
+
const remainingSeconds = seconds % 60;
|
|
12
|
+
return `${minutes} minutes ${remainingSeconds} seconds`;
|
|
13
13
|
}
|
|
14
14
|
else if (seconds < 86400) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return
|
|
15
|
+
const hours = Math.floor(seconds / 3600);
|
|
16
|
+
const remainingMinutes = Math.floor((seconds % 3600) / 60);
|
|
17
|
+
const remainingSeconds = seconds % 60;
|
|
18
|
+
return `${hours} hours ${remainingMinutes} minutes ${remainingSeconds} seconds`;
|
|
19
19
|
}
|
|
20
20
|
else {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return
|
|
21
|
+
const days = Math.floor(seconds / 86400);
|
|
22
|
+
const remainingHours = Math.floor((seconds % 86400) / 3600);
|
|
23
|
+
const remainingMinutes = Math.floor((seconds % 3600) / 60);
|
|
24
|
+
return `${days} days ${remainingHours} hours ${remainingMinutes} minutes`;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=toHumanReadableDuration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toHumanReadableDuration.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"toHumanReadableDuration.js","sourceRoot":"","sources":["../../src/tools/toHumanReadableDuration.ts"],"names":[],"mappings":";;AAAA,0DAoBC;AApBD,SAAgB,uBAAuB,CAAC,YAAoB;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAEhD,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACf,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;IACxD,CAAC;SAAM,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACzC,MAAM,gBAAgB,GAAG,OAAO,GAAG,EAAE,CAAC;QACtC,OAAO,GAAG,OAAO,YAAY,gBAAgB,UAAU,CAAC;IAC5D,CAAC;SAAM,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,OAAO,GAAG,EAAE,CAAC;QACtC,OAAO,GAAG,KAAK,UAAU,gBAAgB,YAAY,gBAAgB,UAAU,CAAC;IACpF,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3D,OAAO,GAAG,IAAI,SAAS,cAAc,UAAU,gBAAgB,UAAU,CAAC;IAC9E,CAAC;AACL,CAAC"}
|
package/tools/urlSearchParams.js
CHANGED
|
@@ -1,48 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
3
|
exports.addOrUpdateSearchParam = addOrUpdateSearchParam;
|
|
20
4
|
exports.getSearchParam = getSearchParam;
|
|
21
5
|
exports.getAllSearchParams = getAllSearchParams;
|
|
22
6
|
function getAllSearchParams_encoded(url) {
|
|
23
|
-
|
|
7
|
+
let search;
|
|
24
8
|
{
|
|
25
|
-
|
|
9
|
+
const [url_withoutHash] = url.split("#");
|
|
26
10
|
search = url_withoutHash.split("?")[1];
|
|
27
11
|
}
|
|
28
12
|
if (search === undefined) {
|
|
29
13
|
return {};
|
|
30
14
|
}
|
|
31
|
-
return Object.fromEntries(search.split("&").map(
|
|
32
|
-
|
|
15
|
+
return Object.fromEntries(search.split("&").map(part => {
|
|
16
|
+
const [name, value_encoded] = part.split("=");
|
|
33
17
|
return [name, value_encoded];
|
|
34
18
|
}));
|
|
35
19
|
}
|
|
36
20
|
function addOrUpdateOrRemoveSearchParam_encoded(params) {
|
|
37
|
-
|
|
38
|
-
|
|
21
|
+
const { url, name, value_encoded } = params;
|
|
22
|
+
const value_encodedByName = getAllSearchParams_encoded(url);
|
|
39
23
|
if (value_encoded === undefined) {
|
|
40
24
|
delete value_encodedByName[name];
|
|
41
25
|
}
|
|
42
26
|
else {
|
|
43
27
|
value_encodedByName[name] = value_encoded;
|
|
44
28
|
}
|
|
45
|
-
|
|
29
|
+
let search;
|
|
46
30
|
update_search: {
|
|
47
31
|
if (Object.keys(value_encodedByName).length === 0) {
|
|
48
32
|
search = "";
|
|
@@ -52,60 +36,54 @@ function addOrUpdateOrRemoveSearchParam_encoded(params) {
|
|
|
52
36
|
search =
|
|
53
37
|
"?" +
|
|
54
38
|
Object.entries(value_encodedByName)
|
|
55
|
-
.map(
|
|
56
|
-
var _b = __read(_a, 2), name = _b[0], value_encoded = _b[1];
|
|
57
|
-
return "".concat(name, "=").concat(value_encoded);
|
|
58
|
-
})
|
|
39
|
+
.map(([name, value_encoded]) => `${name}=${value_encoded}`)
|
|
59
40
|
.join("&");
|
|
60
41
|
}
|
|
61
42
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return
|
|
43
|
+
const [url_withoutHash, hash] = url.split("#");
|
|
44
|
+
const [url_withoutHash_withoutSearch] = url_withoutHash.split("?");
|
|
45
|
+
return `${url_withoutHash_withoutSearch}${search}${hash ? "#" + hash : ""}`;
|
|
65
46
|
}
|
|
66
47
|
function addOrUpdateSearchParam(params) {
|
|
67
|
-
|
|
68
|
-
|
|
48
|
+
const { url, name, value, encodeMethod } = params;
|
|
49
|
+
let value_encoded = encodeURIComponent(value);
|
|
69
50
|
if (encodeMethod === "www-form") {
|
|
70
51
|
value_encoded = value_encoded.replace(/%20/g, "+");
|
|
71
52
|
}
|
|
72
53
|
return addOrUpdateOrRemoveSearchParam_encoded({
|
|
73
|
-
url
|
|
74
|
-
name
|
|
75
|
-
value_encoded
|
|
54
|
+
url,
|
|
55
|
+
name,
|
|
56
|
+
value_encoded
|
|
76
57
|
});
|
|
77
58
|
}
|
|
78
59
|
function decodeSearchParamValue(value_encoded) {
|
|
79
60
|
return decodeURIComponent(value_encoded.replace(/\+/g, "%20"));
|
|
80
61
|
}
|
|
81
62
|
function getSearchParam(params) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
63
|
+
const { url, name } = params;
|
|
64
|
+
const encodedValueByName = getAllSearchParams_encoded(url);
|
|
65
|
+
const value_encoded = encodedValueByName[name];
|
|
85
66
|
if (value_encoded === undefined) {
|
|
86
67
|
return {
|
|
87
68
|
wasPresent: false
|
|
88
69
|
};
|
|
89
70
|
}
|
|
90
|
-
|
|
91
|
-
url
|
|
92
|
-
name
|
|
71
|
+
const url_withoutTheParam = addOrUpdateOrRemoveSearchParam_encoded({
|
|
72
|
+
url,
|
|
73
|
+
name,
|
|
93
74
|
value_encoded: undefined
|
|
94
75
|
});
|
|
95
76
|
return {
|
|
96
77
|
wasPresent: true,
|
|
97
78
|
value: decodeSearchParamValue(value_encoded),
|
|
98
|
-
url_withoutTheParam
|
|
79
|
+
url_withoutTheParam
|
|
99
80
|
};
|
|
100
81
|
}
|
|
101
82
|
function getAllSearchParams(url) {
|
|
102
|
-
|
|
103
|
-
return Object.fromEntries(Object.entries(encodedValueByName).map(
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
decodeSearchParamValue(value_encoded)
|
|
108
|
-
];
|
|
109
|
-
}));
|
|
83
|
+
const encodedValueByName = getAllSearchParams_encoded(url);
|
|
84
|
+
return Object.fromEntries(Object.entries(encodedValueByName).map(([name, value_encoded]) => [
|
|
85
|
+
name,
|
|
86
|
+
decodeSearchParamValue(value_encoded)
|
|
87
|
+
]));
|
|
110
88
|
}
|
|
111
89
|
//# sourceMappingURL=urlSearchParams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlSearchParams.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"urlSearchParams.js","sourceRoot":"","sources":["../../src/tools/urlSearchParams.ts"],"names":[],"mappings":"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"}
|
package/tools/workerTimers.js
CHANGED
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setTimeout = setTimeout;
|
|
4
4
|
exports.clearTimeout = clearTimeout;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const worker_timers_1 = require("../vendor/frontend/worker-timers");
|
|
6
|
+
const clearByTimerHandle = new WeakMap();
|
|
7
7
|
function setTimeout(callback, delay) {
|
|
8
|
-
|
|
8
|
+
const callback_actual = () => {
|
|
9
9
|
window.removeEventListener("pageshow", onPageshow);
|
|
10
10
|
clearByTimerHandle.delete(timerHandle);
|
|
11
11
|
callback();
|
|
12
12
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
clearByTimerHandle.set(timerHandle,
|
|
13
|
+
let timerHandle_n = worker_timers_1.workerTimers.setTimeout(callback_actual, delay);
|
|
14
|
+
const timerHandle = {};
|
|
15
|
+
clearByTimerHandle.set(timerHandle, () => {
|
|
16
16
|
clearByTimerHandle.delete(timerHandle);
|
|
17
17
|
worker_timers_1.workerTimers.clearTimeout(timerHandle_n);
|
|
18
18
|
window.removeEventListener("pageshow", onPageshow);
|
|
19
19
|
});
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const start = Date.now();
|
|
21
|
+
const onPageshow = () => {
|
|
22
22
|
worker_timers_1.workerTimers.clearTimeout(timerHandle_n);
|
|
23
|
-
|
|
23
|
+
const elapsed = Date.now() - start;
|
|
24
24
|
if (elapsed < delay) {
|
|
25
25
|
timerHandle_n = worker_timers_1.workerTimers.setTimeout(callback_actual, delay - elapsed);
|
|
26
26
|
}
|
|
@@ -32,7 +32,7 @@ function setTimeout(callback, delay) {
|
|
|
32
32
|
return timerHandle;
|
|
33
33
|
}
|
|
34
34
|
function clearTimeout(handle) {
|
|
35
|
-
|
|
35
|
+
const clear = clearByTimerHandle.get(handle);
|
|
36
36
|
if (clear === undefined) {
|
|
37
37
|
return;
|
|
38
38
|
}
|