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.
Files changed (367) hide show
  1. package/backend.js +235 -352
  2. package/backend.js.map +1 -1
  3. package/core/AuthResponse.js +12 -49
  4. package/core/AuthResponse.js.map +1 -1
  5. package/core/Oidc.d.ts +1 -2
  6. package/core/Oidc.js.map +1 -1
  7. package/core/OidcInitializationError.d.ts +0 -13
  8. package/core/OidcInitializationError.js +8 -318
  9. package/core/OidcInitializationError.js.map +1 -1
  10. package/core/OidcMetadata.js +1 -1
  11. package/core/OidcMetadata.js.map +1 -1
  12. package/core/StateData.d.ts +5 -5
  13. package/core/StateData.js +25 -25
  14. package/core/StateData.js.map +1 -1
  15. package/core/configId.js +1 -1
  16. package/core/configId.js.map +1 -1
  17. package/core/createOidc.d.ts +8 -0
  18. package/core/createOidc.js +1030 -1292
  19. package/core/createOidc.js.map +1 -1
  20. package/core/diagnostic.d.ts +14 -0
  21. package/core/diagnostic.js +214 -0
  22. package/core/diagnostic.js.map +1 -0
  23. package/core/evtIsUserActive.js +26 -27
  24. package/core/evtIsUserActive.js.map +1 -1
  25. package/core/handleOidcCallback.js +99 -154
  26. package/core/handleOidcCallback.js.map +1 -1
  27. package/core/iframeMessageProtection.d.ts +1 -1
  28. package/core/iframeMessageProtection.js +40 -106
  29. package/core/iframeMessageProtection.js.map +1 -1
  30. package/core/index.d.ts +1 -1
  31. package/core/index.js +3 -3
  32. package/core/index.js.map +1 -1
  33. package/core/initialLocationHref.js +1 -1
  34. package/core/initialLocationHref.js.map +1 -1
  35. package/core/isNewBrowserSession.js +8 -8
  36. package/core/isNewBrowserSession.js.map +1 -1
  37. package/core/loginOrGoToAuthServer.d.ts +1 -1
  38. package/core/loginOrGoToAuthServer.js +188 -310
  39. package/core/loginOrGoToAuthServer.js.map +1 -1
  40. package/core/loginPropagationToOtherTabs.js +15 -16
  41. package/core/loginPropagationToOtherTabs.js.map +1 -1
  42. package/core/loginSilent.d.ts +2 -3
  43. package/core/loginSilent.js +118 -214
  44. package/core/loginSilent.js.map +1 -1
  45. package/core/logoutPropagationToOtherTabs.js +15 -16
  46. package/core/logoutPropagationToOtherTabs.js.map +1 -1
  47. package/core/oidcClientTsUserToTokens.d.ts +1 -1
  48. package/core/oidcClientTsUserToTokens.js +75 -72
  49. package/core/oidcClientTsUserToTokens.js.map +1 -1
  50. package/core/ongoingLoginOrRefreshProcesses.js +23 -89
  51. package/core/ongoingLoginOrRefreshProcesses.js.map +1 -1
  52. package/core/persistedAuthState.js +13 -13
  53. package/core/persistedAuthState.js.map +1 -1
  54. package/entrypoint.js +9 -9
  55. package/entrypoint.js.map +1 -1
  56. package/esm/core/AuthResponse.d.ts +5 -0
  57. package/{src/core/AuthResponse.ts → esm/core/AuthResponse.js} +3 -9
  58. package/esm/core/AuthResponse.js.map +1 -0
  59. package/esm/core/Oidc.d.ts +126 -0
  60. package/esm/core/Oidc.js +2 -0
  61. package/esm/core/Oidc.js.map +1 -0
  62. package/esm/core/OidcInitializationError.d.ts +7 -0
  63. package/esm/core/OidcInitializationError.js +17 -0
  64. package/esm/core/OidcInitializationError.js.map +1 -0
  65. package/{src/core/OidcMetadata.ts → esm/core/OidcMetadata.d.ts} +0 -5
  66. package/esm/core/OidcMetadata.js +3 -0
  67. package/esm/core/OidcMetadata.js.map +1 -0
  68. package/esm/core/StateData.d.ts +42 -0
  69. package/esm/core/StateData.js +55 -0
  70. package/esm/core/StateData.js.map +1 -0
  71. package/esm/core/configId.d.ts +4 -0
  72. package/esm/core/configId.js +4 -0
  73. package/esm/core/configId.js.map +1 -0
  74. package/esm/core/createOidc.d.ts +132 -0
  75. package/{src/core/createOidc.ts → esm/core/createOidc.js} +282 -826
  76. package/esm/core/createOidc.js.map +1 -0
  77. package/esm/core/diagnostic.d.ts +14 -0
  78. package/{src/core/OidcInitializationError.ts → esm/core/diagnostic.js} +40 -117
  79. package/esm/core/diagnostic.js.map +1 -0
  80. package/esm/core/evtIsUserActive.d.ts +5 -0
  81. package/{src/core/evtIsUserActive.ts → esm/core/evtIsUserActive.js} +14 -46
  82. package/esm/core/evtIsUserActive.js.map +1 -0
  83. package/esm/core/handleOidcCallback.d.ts +13 -0
  84. package/{src/core/handleOidcCallback.ts → esm/core/handleOidcCallback.js} +56 -131
  85. package/esm/core/handleOidcCallback.js.map +1 -0
  86. package/esm/core/iframeMessageProtection.d.ts +20 -0
  87. package/{src/core/iframeMessageProtection.ts → esm/core/iframeMessageProtection.js} +14 -49
  88. package/esm/core/iframeMessageProtection.js.map +1 -0
  89. package/{src/core/index.ts → esm/core/index.d.ts} +1 -1
  90. package/esm/core/index.js +4 -0
  91. package/esm/core/index.js.map +1 -0
  92. package/esm/core/initialLocationHref.d.ts +1 -0
  93. package/{src/core/initialLocationHref.ts → esm/core/initialLocationHref.js} +1 -1
  94. package/esm/core/initialLocationHref.js.map +1 -0
  95. package/esm/core/isNewBrowserSession.d.ts +9 -0
  96. package/{src/core/isNewBrowserSession.ts → esm/core/isNewBrowserSession.js} +3 -15
  97. package/esm/core/isNewBrowserSession.js.map +1 -0
  98. package/esm/core/loginOrGoToAuthServer.d.ts +40 -0
  99. package/{src/core/loginOrGoToAuthServer.ts → esm/core/loginOrGoToAuthServer.js} +60 -168
  100. package/esm/core/loginOrGoToAuthServer.js.map +1 -0
  101. package/esm/core/loginPropagationToOtherTabs.d.ts +8 -0
  102. package/{src/core/loginPropagationToOtherTabs.ts → esm/core/loginPropagationToOtherTabs.js} +7 -25
  103. package/esm/core/loginPropagationToOtherTabs.js.map +1 -0
  104. package/esm/core/loginSilent.d.ts +28 -0
  105. package/esm/core/loginSilent.js +125 -0
  106. package/esm/core/loginSilent.js.map +1 -0
  107. package/esm/core/logoutPropagationToOtherTabs.d.ts +10 -0
  108. package/{src/core/logoutPropagationToOtherTabs.ts → esm/core/logoutPropagationToOtherTabs.js} +8 -28
  109. package/esm/core/logoutPropagationToOtherTabs.js.map +1 -0
  110. package/esm/core/oidcClientTsUserToTokens.d.ts +11 -0
  111. package/esm/core/oidcClientTsUserToTokens.js +155 -0
  112. package/esm/core/oidcClientTsUserToTokens.js.map +1 -0
  113. package/esm/core/ongoingLoginOrRefreshProcesses.d.ts +6 -0
  114. package/{src/core/ongoingLoginOrRefreshProcesses.ts → esm/core/ongoingLoginOrRefreshProcesses.js} +6 -24
  115. package/esm/core/ongoingLoginOrRefreshProcesses.js.map +1 -0
  116. package/esm/core/persistedAuthState.d.ts +28 -0
  117. package/esm/core/persistedAuthState.js +64 -0
  118. package/esm/core/persistedAuthState.js.map +1 -0
  119. package/esm/entrypoint.d.ts +7 -0
  120. package/{src/entrypoint.ts → esm/entrypoint.js} +3 -26
  121. package/esm/entrypoint.js.map +1 -0
  122. package/esm/index.d.ts +1 -0
  123. package/esm/index.js +2 -0
  124. package/esm/index.js.map +1 -0
  125. package/esm/keycloak/index.d.ts +3 -0
  126. package/esm/keycloak/index.js +3 -0
  127. package/esm/keycloak/index.js.map +1 -0
  128. package/esm/keycloak/isKeycloak.d.ts +3 -0
  129. package/esm/keycloak/isKeycloak.js +17 -0
  130. package/esm/keycloak/isKeycloak.js.map +1 -0
  131. package/esm/keycloak/keycloak-js/Keycloak.d.ts +284 -0
  132. package/esm/keycloak/keycloak-js/Keycloak.js +774 -0
  133. package/esm/keycloak/keycloak-js/Keycloak.js.map +1 -0
  134. package/esm/keycloak/keycloak-js/index.d.ts +2 -0
  135. package/esm/keycloak/keycloak-js/index.js +2 -0
  136. package/esm/keycloak/keycloak-js/index.js.map +1 -0
  137. package/esm/keycloak/keycloak-js/types.d.ts +361 -0
  138. package/esm/keycloak/keycloak-js/types.js +2 -0
  139. package/esm/keycloak/keycloak-js/types.js.map +1 -0
  140. package/esm/keycloak/keycloakIssuerUriParsed.d.ts +9 -0
  141. package/esm/keycloak/keycloakIssuerUriParsed.js +16 -0
  142. package/esm/keycloak/keycloakIssuerUriParsed.js.map +1 -0
  143. package/esm/keycloak/keycloakUtils.d.ts +37 -0
  144. package/esm/keycloak/keycloakUtils.js +44 -0
  145. package/esm/keycloak/keycloakUtils.js.map +1 -0
  146. package/esm/keycloak-js.d.ts +1 -0
  147. package/esm/keycloak-js.js +2 -0
  148. package/esm/keycloak-js.js.map +1 -0
  149. package/esm/mock/index.js +2 -0
  150. package/esm/mock/index.js.map +1 -0
  151. package/esm/mock/oidc.d.ts +19 -0
  152. package/{src/mock/oidc.ts → esm/mock/oidc.js} +28 -88
  153. package/esm/mock/oidc.js.map +1 -0
  154. package/esm/mock/react.d.ts +58 -0
  155. package/esm/mock/react.js +7 -0
  156. package/esm/mock/react.js.map +1 -0
  157. package/esm/react/index.js +2 -0
  158. package/esm/react/index.js.map +1 -0
  159. package/esm/react/react.d.ts +102 -0
  160. package/esm/react/react.js +221 -0
  161. package/esm/react/react.js.map +1 -0
  162. package/esm/tools/Deferred.d.ts +14 -0
  163. package/esm/tools/Deferred.js +23 -0
  164. package/esm/tools/Deferred.js.map +1 -0
  165. package/esm/tools/EphemeralSessionStorage.d.ts +12 -0
  166. package/{src/tools/EphemeralSessionStorage.ts → esm/tools/EphemeralSessionStorage.js} +30 -112
  167. package/esm/tools/EphemeralSessionStorage.js.map +1 -0
  168. package/esm/tools/Evt.d.ts +11 -0
  169. package/{src/tools/Evt.ts → esm/tools/Evt.js} +7 -25
  170. package/esm/tools/Evt.js.map +1 -0
  171. package/esm/tools/StatefulEvt.d.ts +12 -0
  172. package/esm/tools/StatefulEvt.js +21 -0
  173. package/esm/tools/StatefulEvt.js.map +1 -0
  174. package/esm/tools/ValueOrAsyncGetter.js +2 -0
  175. package/esm/tools/ValueOrAsyncGetter.js.map +1 -0
  176. package/esm/tools/asymmetricEncryption.d.ts +18 -0
  177. package/esm/tools/asymmetricEncryption.js +85 -0
  178. package/esm/tools/asymmetricEncryption.js.map +1 -0
  179. package/esm/tools/base64.d.ts +2 -0
  180. package/{src/tools/base64.ts → esm/tools/base64.js} +3 -3
  181. package/esm/tools/base64.js.map +1 -0
  182. package/esm/tools/createObjectThatThrowsIfAccessed.d.ts +8 -0
  183. package/{src/tools/createObjectThatThrowsIfAccessed.ts → esm/tools/createObjectThatThrowsIfAccessed.js} +7 -18
  184. package/esm/tools/createObjectThatThrowsIfAccessed.js.map +1 -0
  185. package/esm/tools/decodeJwt.d.ts +25 -0
  186. package/esm/tools/decodeJwt.js +60 -0
  187. package/esm/tools/decodeJwt.js.map +1 -0
  188. package/esm/tools/generateUrlSafeRandom.d.ts +3 -0
  189. package/{src/tools/generateUrlSafeRandom.ts → esm/tools/generateUrlSafeRandom.js} +5 -8
  190. package/esm/tools/generateUrlSafeRandom.js.map +1 -0
  191. package/esm/tools/getDownlinkAndRtt.d.ts +4 -0
  192. package/{src/tools/getDownlinkAndRtt.ts → esm/tools/getDownlinkAndRtt.js} +6 -10
  193. package/esm/tools/getDownlinkAndRtt.js.map +1 -0
  194. package/esm/tools/getIsOnline.d.ts +7 -0
  195. package/{src/tools/getIsOnline.ts → esm/tools/getIsOnline.js} +3 -9
  196. package/esm/tools/getIsOnline.js.map +1 -0
  197. package/esm/tools/getIsValidRemoteJson.d.ts +1 -0
  198. package/esm/tools/getIsValidRemoteJson.js +15 -0
  199. package/esm/tools/getIsValidRemoteJson.js.map +1 -0
  200. package/esm/tools/getPrUserInteraction.d.ts +4 -0
  201. package/{src/tools/getPrUserInteraction.ts → esm/tools/getPrUserInteraction.js} +2 -6
  202. package/esm/tools/getPrUserInteraction.js.map +1 -0
  203. package/esm/tools/getUserEnvironmentInfo.d.ts +1 -0
  204. package/esm/tools/getUserEnvironmentInfo.js +50 -0
  205. package/esm/tools/getUserEnvironmentInfo.js.map +1 -0
  206. package/esm/tools/haveSharedParentDomain.d.ts +4 -0
  207. package/{src/tools/haveSharedParentDomain.ts → esm/tools/haveSharedParentDomain.js} +3 -5
  208. package/esm/tools/haveSharedParentDomain.js.map +1 -0
  209. package/esm/tools/isDev.d.ts +1 -0
  210. package/{src/tools/isDev.ts → esm/tools/isDev.js} +5 -12
  211. package/esm/tools/isDev.js.map +1 -0
  212. package/esm/tools/parseKeycloakIssuerUri.d.ts +30 -0
  213. package/esm/tools/parseKeycloakIssuerUri.js +33 -0
  214. package/esm/tools/parseKeycloakIssuerUri.js.map +1 -0
  215. package/esm/tools/readExpirationTimeInJwt.d.ts +1 -0
  216. package/{src/tools/readExpirationTimeInJwt.ts → esm/tools/readExpirationTimeInJwt.js} +6 -7
  217. package/esm/tools/readExpirationTimeInJwt.js.map +1 -0
  218. package/esm/tools/startCountdown.d.ts +11 -0
  219. package/{src/tools/startCountdown.ts → esm/tools/startCountdown.js} +6 -17
  220. package/esm/tools/startCountdown.js.map +1 -0
  221. package/esm/tools/subscribeToUserInteraction.d.ts +6 -0
  222. package/{src/tools/subscribeToUserInteraction.ts → esm/tools/subscribeToUserInteraction.js} +4 -13
  223. package/esm/tools/subscribeToUserInteraction.js.map +1 -0
  224. package/esm/tools/toFullyQualifiedUrl.d.ts +10 -0
  225. package/{src/tools/toFullyQualifiedUrl.ts → esm/tools/toFullyQualifiedUrl.js} +7 -25
  226. package/esm/tools/toFullyQualifiedUrl.js.map +1 -0
  227. package/esm/tools/toHumanReadableDuration.d.ts +1 -0
  228. package/{src/tools/toHumanReadableDuration.ts → esm/tools/toHumanReadableDuration.js} +8 -5
  229. package/esm/tools/toHumanReadableDuration.js.map +1 -0
  230. package/esm/tools/urlSearchParams.d.ts +19 -0
  231. package/{src/tools/urlSearchParams.ts → esm/tools/urlSearchParams.js} +24 -70
  232. package/esm/tools/urlSearchParams.js.map +1 -0
  233. package/esm/tools/workerTimers.d.ts +5 -0
  234. package/{src/tools/workerTimers.ts → esm/tools/workerTimers.js} +7 -27
  235. package/esm/tools/workerTimers.js.map +1 -0
  236. package/esm/vendor/frontend/oidc-client-ts.d.ts +1 -0
  237. package/esm/vendor/frontend/oidc-client-ts.js +3636 -0
  238. package/{src/vendor/frontend/tsafe.ts → esm/vendor/frontend/tsafe.d.ts} +1 -0
  239. package/esm/vendor/frontend/tsafe.js +1 -0
  240. package/esm/vendor/frontend/worker-timers.js +1 -0
  241. package/index.d.ts +1 -1
  242. package/index.js +1 -2
  243. package/index.js.map +1 -1
  244. package/keycloak/index.d.ts +3 -0
  245. package/keycloak/index.js +8 -0
  246. package/keycloak/index.js.map +1 -0
  247. package/keycloak/isKeycloak.d.ts +3 -0
  248. package/keycloak/isKeycloak.js +20 -0
  249. package/keycloak/isKeycloak.js.map +1 -0
  250. package/keycloak/keycloak-js/Keycloak.d.ts +284 -0
  251. package/keycloak/keycloak-js/Keycloak.js +778 -0
  252. package/keycloak/keycloak-js/Keycloak.js.map +1 -0
  253. package/keycloak/keycloak-js/index.d.ts +2 -0
  254. package/keycloak/keycloak-js/index.js +6 -0
  255. package/keycloak/keycloak-js/index.js.map +1 -0
  256. package/keycloak/keycloak-js/types.d.ts +361 -0
  257. package/keycloak/keycloak-js/types.js +3 -0
  258. package/keycloak/keycloak-js/types.js.map +1 -0
  259. package/keycloak/keycloakIssuerUriParsed.d.ts +9 -0
  260. package/keycloak/keycloakIssuerUriParsed.js +19 -0
  261. package/keycloak/keycloakIssuerUriParsed.js.map +1 -0
  262. package/keycloak/keycloakUtils.d.ts +37 -0
  263. package/keycloak/keycloakUtils.js +47 -0
  264. package/keycloak/keycloakUtils.js.map +1 -0
  265. package/keycloak-js.d.ts +1 -0
  266. package/keycloak-js.js +18 -0
  267. package/keycloak-js.js.map +1 -0
  268. package/mock/index.js.map +1 -1
  269. package/mock/oidc.js +147 -194
  270. package/mock/oidc.js.map +1 -1
  271. package/mock/react.js +2 -2
  272. package/mock/react.js.map +1 -1
  273. package/package.json +74 -299
  274. package/react/index.js.map +1 -1
  275. package/react/react.js +133 -244
  276. package/react/react.js.map +1 -1
  277. package/tools/Deferred.js +13 -35
  278. package/tools/Deferred.js.map +1 -1
  279. package/tools/EphemeralSessionStorage.js +46 -48
  280. package/tools/EphemeralSessionStorage.js.map +1 -1
  281. package/tools/Evt.js +14 -14
  282. package/tools/Evt.js.map +1 -1
  283. package/tools/StatefulEvt.js +5 -5
  284. package/tools/StatefulEvt.js.map +1 -1
  285. package/tools/ValueOrAsyncGetter.js.map +1 -1
  286. package/tools/asymmetricEncryption.js +81 -172
  287. package/tools/asymmetricEncryption.js.map +1 -1
  288. package/tools/base64.js +2 -2
  289. package/tools/base64.js.map +1 -1
  290. package/tools/createObjectThatThrowsIfAccessed.js +13 -61
  291. package/tools/createObjectThatThrowsIfAccessed.js.map +1 -1
  292. package/tools/decodeJwt.d.ts +25 -2
  293. package/tools/decodeJwt.js +61 -3
  294. package/tools/decodeJwt.js.map +1 -1
  295. package/tools/generateUrlSafeRandom.js +5 -30
  296. package/tools/generateUrlSafeRandom.js.map +1 -1
  297. package/tools/getDownlinkAndRtt.js +8 -30
  298. package/tools/getDownlinkAndRtt.js.map +1 -1
  299. package/tools/getIsOnline.js +3 -3
  300. package/tools/getIsOnline.js.map +1 -1
  301. package/tools/getIsValidRemoteJson.js +12 -59
  302. package/tools/getIsValidRemoteJson.js.map +1 -1
  303. package/tools/getPrUserInteraction.js +4 -4
  304. package/tools/getPrUserInteraction.js.map +1 -1
  305. package/tools/getUserEnvironmentInfo.js +17 -12
  306. package/tools/getUserEnvironmentInfo.js.map +1 -1
  307. package/tools/haveSharedParentDomain.js +5 -5
  308. package/tools/haveSharedParentDomain.js.map +1 -1
  309. package/tools/isDev.js +2 -2
  310. package/tools/isDev.js.map +1 -1
  311. package/tools/parseKeycloakIssuerUri.d.ts +2 -0
  312. package/tools/parseKeycloakIssuerUri.js +11 -42
  313. package/tools/parseKeycloakIssuerUri.js.map +1 -1
  314. package/tools/readExpirationTimeInJwt.js +4 -4
  315. package/tools/readExpirationTimeInJwt.js.map +1 -1
  316. package/tools/startCountdown.js +17 -65
  317. package/tools/startCountdown.js.map +1 -1
  318. package/tools/subscribeToUserInteraction.js +17 -66
  319. package/tools/subscribeToUserInteraction.js.map +1 -1
  320. package/tools/toFullyQualifiedUrl.js +7 -7
  321. package/tools/toFullyQualifiedUrl.js.map +1 -1
  322. package/tools/toHumanReadableDuration.js +13 -13
  323. package/tools/toHumanReadableDuration.js.map +1 -1
  324. package/tools/urlSearchParams.js +28 -50
  325. package/tools/urlSearchParams.js.map +1 -1
  326. package/tools/workerTimers.js +10 -10
  327. package/tools/workerTimers.js.map +1 -1
  328. package/vendor/frontend/oidc-client-ts.d.ts +1 -0
  329. package/vendor/frontend/oidc-client-ts.js +3686 -0
  330. package/vendor/frontend/tsafe.d.ts +1 -0
  331. package/vendor/frontend/tsafe.js +1 -1
  332. package/LICENSE +0 -21
  333. package/README.md +0 -185
  334. package/core/trustedFetch.d.ts +0 -2
  335. package/core/trustedFetch.js +0 -12
  336. package/core/trustedFetch.js.map +0 -1
  337. package/src/backend.ts +0 -391
  338. package/src/core/Oidc.ts +0 -141
  339. package/src/core/StateData.ts +0 -118
  340. package/src/core/configId.ts +0 -3
  341. package/src/core/loginSilent.ts +0 -206
  342. package/src/core/oidcClientTsUserToTokens.ts +0 -229
  343. package/src/core/persistedAuthState.ts +0 -122
  344. package/src/core/trustedFetch.ts +0 -9
  345. package/src/index.ts +0 -7
  346. package/src/mock/react.tsx +0 -11
  347. package/src/react/react.tsx +0 -460
  348. package/src/tools/Deferred.ts +0 -39
  349. package/src/tools/StatefulEvt.ts +0 -38
  350. package/src/tools/asymmetricEncryption.ts +0 -184
  351. package/src/tools/decodeJwt.ts +0 -2
  352. package/src/tools/getIsValidRemoteJson.ts +0 -18
  353. package/src/tools/getUserEnvironmentInfo.ts +0 -42
  354. package/src/tools/parseKeycloakIssuerUri.ts +0 -68
  355. package/src/vendor/backend/evt.ts +0 -2
  356. package/src/vendor/backend/jsonwebtoken.ts +0 -1
  357. package/src/vendor/backend/node-fetch.ts +0 -2
  358. package/src/vendor/backend/node-jose.ts +0 -1
  359. package/src/vendor/backend/tsafe.ts +0 -5
  360. package/src/vendor/backend/zod.ts +0 -1
  361. package/src/vendor/frontend/oidc-client-ts-and-jwt-decode.ts +0 -4
  362. package/vendor/frontend/oidc-client-ts-and-jwt-decode.d.ts +0 -3
  363. package/vendor/frontend/oidc-client-ts-and-jwt-decode.js +0 -3
  364. /package/{src/mock/index.ts → esm/mock/index.d.ts} +0 -0
  365. /package/{src/react/index.ts → esm/react/index.d.ts} +0 -0
  366. /package/{src/tools/ValueOrAsyncGetter.ts → esm/tools/ValueOrAsyncGetter.d.ts} +0 -0
  367. /package/{src/vendor/frontend/worker-timers.ts → esm/vendor/frontend/worker-timers.d.ts} +0 -0
@@ -0,0 +1,60 @@
1
+ // Copy pasted jwt-decode v4.0.0
2
+ export class InvalidTokenError extends Error {
3
+ }
4
+ InvalidTokenError.prototype.name = "InvalidTokenError";
5
+ function b64DecodeUnicode(str) {
6
+ return decodeURIComponent(atob(str).replace(/(.)/g, (_m, p) => {
7
+ let code = p.charCodeAt(0).toString(16).toUpperCase();
8
+ if (code.length < 2) {
9
+ code = "0" + code;
10
+ }
11
+ return "%" + code;
12
+ }));
13
+ }
14
+ function base64UrlDecode(str) {
15
+ let output = str.replace(/-/g, "+").replace(/_/g, "/");
16
+ switch (output.length % 4) {
17
+ case 0:
18
+ break;
19
+ case 2:
20
+ output += "==";
21
+ break;
22
+ case 3:
23
+ output += "=";
24
+ break;
25
+ default:
26
+ throw new Error("base64 string is not of the correct length");
27
+ }
28
+ try {
29
+ return b64DecodeUnicode(output);
30
+ }
31
+ catch (err) {
32
+ return atob(output);
33
+ }
34
+ }
35
+ function jwtDecode(token, options) {
36
+ if (typeof token !== "string") {
37
+ throw new InvalidTokenError("Invalid token specified: must be a string");
38
+ }
39
+ options || (options = {});
40
+ const pos = options.header === true ? 0 : 1;
41
+ const part = token.split(".")[pos];
42
+ if (typeof part !== "string") {
43
+ throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);
44
+ }
45
+ let decoded;
46
+ try {
47
+ decoded = base64UrlDecode(part);
48
+ }
49
+ catch (e) {
50
+ throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);
51
+ }
52
+ try {
53
+ return JSON.parse(decoded);
54
+ }
55
+ catch (e) {
56
+ throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);
57
+ }
58
+ }
59
+ export const decodeJwt = jwtDecode;
60
+ //# sourceMappingURL=decodeJwt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decodeJwt.js","sourceRoot":"","sources":["../../../src/tools/decodeJwt.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAsBhC,MAAM,OAAO,iBAAkB,SAAQ,KAAK;CAAG;AAE/C,iBAAiB,CAAC,SAAS,CAAC,IAAI,GAAG,mBAAmB,CAAC;AAEvD,SAAS,gBAAgB,CAAC,GAAW;IACjC,OAAO,kBAAkB,CACrB,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,IAAI,GAAI,CAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,GAAG,GAAG,IAAI,CAAC;IACtB,CAAC,CAAC,CACL,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAChC,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvD,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC;YACF,MAAM;QACV,KAAK,CAAC;YACF,MAAM,IAAI,IAAI,CAAC;YACf,MAAM;QACV,KAAK,CAAC;YACF,MAAM,IAAI,GAAG,CAAC;YACd,MAAM;QACV;YACI,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;AACL,CAAC;AAID,SAAS,SAAS,CAA6B,KAAa,EAAE,OAA0B;IACpF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,iBAAiB,CAAC,2CAA2C,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,KAAP,OAAO,GAAK,EAAE,EAAC;IAEf,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,iBAAiB,CAAC,0CAA0C,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACD,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,iBAAiB,CACvB,qDAAqD,GAAG,GAAG,CAAC,KAAM,CAAW,CAAC,OAAO,GAAG,CAC3F,CAAC;IACN,CAAC;IAED,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;IACpC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,iBAAiB,CACvB,mDAAmD,GAAG,GAAG,CAAC,KAAM,CAAW,CAAC,OAAO,GAAG,CACzF,CAAC;IACN,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function generateUrlSafeRandom(params: {
2
+ length: number;
3
+ }): string;
@@ -1,26 +1,23 @@
1
- export function generateUrlSafeRandom(params: { length: number }): string {
1
+ export function generateUrlSafeRandom(params) {
2
2
  const { length } = params;
3
-
4
3
  // Compute required byte length before encoding
5
4
  const byteLength = Math.ceil((length * 3) / 4);
6
-
7
- const crypto = window.crypto || (window as any).msCrypto;
5
+ const crypto = window.crypto || window.msCrypto;
8
6
  const array = new Uint8Array(byteLength);
9
7
  crypto.getRandomValues(array);
10
-
11
8
  // Encode and apply Base64URL transformations
12
9
  let base64url = btoa(String.fromCharCode(...array))
13
10
  .replace(/\+/g, "-") // Base64URL encoding
14
11
  .replace(/\//g, "_")
15
12
  .replace(/=+$/, ""); // Remove padding
16
-
17
13
  // Trim or regenerate if too short
18
14
  if (base64url.length > length) {
19
15
  return base64url.substring(0, length);
20
- } else if (base64url.length < length) {
16
+ }
17
+ else if (base64url.length < length) {
21
18
  // If trimming removes too much, recursively generate more
22
19
  return base64url + generateUrlSafeRandom({ length: length - base64url.length });
23
20
  }
24
-
25
21
  return base64url;
26
22
  }
23
+ //# sourceMappingURL=generateUrlSafeRandom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateUrlSafeRandom.js","sourceRoot":"","sources":["../../../src/tools/generateUrlSafeRandom.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,MAA0B;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE1B,+CAA+C;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAK,MAAc,CAAC,QAAQ,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAE9B,6CAA6C;IAC7C,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;SAC9C,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,qBAAqB;SACzC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;IAE1C,kCAAkC;IAClC,IAAI,SAAS,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;QACnC,0DAA0D;QAC1D,OAAO,SAAS,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function getDownlinkAndRtt(): {
2
+ downlink: number;
3
+ rtt: number;
4
+ } | undefined;
@@ -1,22 +1,18 @@
1
1
  import { assert } from "../vendor/frontend/tsafe";
2
-
3
- export function getDownlinkAndRtt(): { downlink: number; rtt: number } | undefined {
2
+ export function getDownlinkAndRtt() {
4
3
  if (!(window.navigator instanceof Object)) {
5
4
  return undefined;
6
5
  }
7
-
8
- const navigator: any = window.navigator;
9
-
10
- for (const key of ["connection", "mozConnection", "webkitConnection"] as const) {
6
+ const navigator = window.navigator;
7
+ for (const key of ["connection", "mozConnection", "webkitConnection"]) {
11
8
  try {
12
9
  const { downlink, rtt } = navigator[key];
13
-
14
10
  assert(typeof downlink === "number", "768860");
15
11
  assert(typeof rtt === "number", "945829");
16
-
17
12
  return { downlink, rtt };
18
- } catch {}
13
+ }
14
+ catch { }
19
15
  }
20
-
21
16
  return undefined;
22
17
  }
18
+ //# sourceMappingURL=getDownlinkAndRtt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDownlinkAndRtt.js","sourceRoot":"","sources":["../../../src/tools/getDownlinkAndRtt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,MAAM,UAAU,iBAAiB;IAC7B,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,YAAY,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,SAAS,GAAQ,MAAM,CAAC,SAAS,CAAC;IAExC,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAU,EAAE,CAAC;QAC7E,IAAI,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAEzC,MAAM,CAAC,OAAO,QAAQ,KAAK,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE1C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function getIsOnline(): {
2
+ isOnline: true;
3
+ prOnline?: never;
4
+ } | {
5
+ isOnline: false;
6
+ prOnline: Promise<void>;
7
+ };
@@ -1,20 +1,14 @@
1
1
  import { Deferred } from "../tools/Deferred";
2
-
3
- export function getIsOnline():
4
- | { isOnline: true; prOnline?: never }
5
- | { isOnline: false; prOnline: Promise<void> } {
2
+ export function getIsOnline() {
6
3
  if (navigator.onLine) {
7
4
  return { isOnline: true };
8
5
  }
9
-
10
- const dOnline = new Deferred<void>();
11
-
6
+ const dOnline = new Deferred();
12
7
  const onOnline = () => {
13
8
  window.removeEventListener("online", onOnline);
14
9
  dOnline.resolve();
15
10
  };
16
-
17
11
  window.addEventListener("online", onOnline);
18
-
19
12
  return { isOnline: false, prOnline: dOnline.pr };
20
13
  }
14
+ //# sourceMappingURL=getIsOnline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIsOnline.js","sourceRoot":"","sources":["../../../src/tools/getIsOnline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,UAAU,WAAW;IAGvB,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,QAAQ,EAAQ,CAAC;IAErC,MAAM,QAAQ,GAAG,GAAG,EAAE;QAClB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function getIsValidRemoteJson(url: string): Promise<boolean>;
@@ -0,0 +1,15 @@
1
+ export function getIsValidRemoteJson(url) {
2
+ return fetch(url).then(async (response) => {
3
+ if (!response.ok) {
4
+ return false;
5
+ }
6
+ try {
7
+ await response.json();
8
+ }
9
+ catch {
10
+ return false;
11
+ }
12
+ return true;
13
+ }, () => false);
14
+ }
15
+ //# sourceMappingURL=getIsValidRemoteJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIsValidRemoteJson.js","sourceRoot":"","sources":["../../../src/tools/getIsValidRemoteJson.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAClB,KAAK,EAAC,QAAQ,EAAC,EAAE;QACb,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,EACD,GAAG,EAAE,CAAC,KAAK,CACd,CAAC;AACN,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function getPrUserInteraction(): {
2
+ prUserInteraction: Promise<void>;
3
+ cancelPrUserInteraction: () => void;
4
+ };
@@ -1,27 +1,23 @@
1
1
  import { Deferred } from "./Deferred";
2
-
3
2
  export function getPrUserInteraction() {
4
- const d = new Deferred<void>();
5
-
3
+ const d = new Deferred();
6
4
  const callback = () => {
7
5
  d.resolve();
8
6
  cleanup();
9
7
  };
10
-
11
8
  const cleanup = () => {
12
9
  window.document.removeEventListener("mousemove", callback, false);
13
10
  window.document.removeEventListener("keydown", callback, false);
14
11
  window.document.removeEventListener("touchstart", callback, false);
15
12
  window.document.removeEventListener("touchend", callback, false);
16
13
  };
17
-
18
14
  window.document.addEventListener("mousemove", callback, false);
19
15
  window.document.addEventListener("keydown", callback, false);
20
16
  window.document.addEventListener("touchstart", callback, false);
21
17
  window.document.addEventListener("touchend", callback, false);
22
-
23
18
  return {
24
19
  prUserInteraction: d.pr,
25
20
  cancelPrUserInteraction: cleanup
26
21
  };
27
22
  }
23
+ //# sourceMappingURL=getPrUserInteraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPrUserInteraction.js","sourceRoot":"","sources":["../../../src/tools/getPrUserInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,UAAU,oBAAoB;IAChC,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAQ,CAAC;IAE/B,MAAM,QAAQ,GAAG,GAAG,EAAE;QAClB,CAAC,CAAC,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE9D,OAAO;QACH,iBAAiB,EAAE,CAAC,CAAC,EAAE;QACvB,uBAAuB,EAAE,OAAO;KACnC,CAAC;AACN,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function getUserEnvironmentInfo(): string;
@@ -0,0 +1,50 @@
1
+ export function getUserEnvironmentInfo() {
2
+ function safeGet(getter, fallback = "Unknown") {
3
+ try {
4
+ const value = getter();
5
+ return value != null ? String(value) : fallback;
6
+ }
7
+ catch {
8
+ return fallback;
9
+ }
10
+ }
11
+ const ua = safeGet(() => navigator.userAgent);
12
+ const platform = safeGet(() => navigator.platform);
13
+ const language = safeGet(() => navigator.language || navigator.userLanguage);
14
+ const screenSize = safeGet(() => `${screen.width}x${screen.height}`);
15
+ const timezone = safeGet(() => Intl.DateTimeFormat().resolvedOptions().timeZone);
16
+ const browser = (() => {
17
+ if (ua.includes("Firefox/"))
18
+ return "Firefox";
19
+ if (ua.includes("Edg/"))
20
+ return "Edge";
21
+ if (ua.includes("Chrome/") && !ua.includes("Edg/"))
22
+ return "Chrome";
23
+ if (ua.includes("Safari/") && !ua.includes("Chrome/"))
24
+ return "Safari";
25
+ if (ua.includes("OPR/") || ua.includes("Opera/"))
26
+ return "Opera";
27
+ return "Unknown";
28
+ })();
29
+ const os = (() => {
30
+ if (platform.startsWith("Win"))
31
+ return "Windows";
32
+ if (platform.startsWith("Mac"))
33
+ return "macOS";
34
+ if (platform.startsWith("Linux"))
35
+ return "Linux";
36
+ if (/Android/.test(ua))
37
+ return "Android";
38
+ if (/iPhone|iPad|iPod/.test(ua))
39
+ return "iOS";
40
+ return "Unknown";
41
+ })();
42
+ return `Browser: ${browser}
43
+ OS: ${os}
44
+ Platform: ${platform}
45
+ Language: ${language}
46
+ Screen: ${screenSize}
47
+ Timezone: ${timezone}
48
+ User Agent: ${ua}`;
49
+ }
50
+ //# sourceMappingURL=getUserEnvironmentInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserEnvironmentInfo.js","sourceRoot":"","sources":["../../../src/tools/getUserEnvironmentInfo.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sBAAsB;IAClC,SAAS,OAAO,CAAI,MAAe,EAAE,WAAmB,SAAS;QAC7D,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;YACvB,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,QAAQ,CAAC;QACpB,CAAC;IACL,CAAC;IAED,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAK,SAAiB,CAAC,YAAY,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;IAEjF,MAAM,OAAO,GAAW,CAAC,GAAG,EAAE;QAC1B,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACvC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpE,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,QAAQ,CAAC;QACvE,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QACjE,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,EAAE,GAAW,CAAC,GAAG,EAAE;QACrB,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;QAC/C,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QACjD,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,YAAY,OAAO;MACxB,EAAE;YACI,QAAQ;YACR,QAAQ;UACV,UAAU;YACR,QAAQ;cACN,EAAE,EAAE,CAAC;AACnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function getHaveSharedParentDomain(params: {
2
+ url1: string;
3
+ url2: string;
4
+ }): boolean;
@@ -1,13 +1,11 @@
1
- export function getHaveSharedParentDomain(params: { url1: string; url2: string }): boolean {
1
+ export function getHaveSharedParentDomain(params) {
2
2
  const { url1, url2 } = params;
3
-
4
3
  const url1Domain = new URL(url1).hostname;
5
4
  const url2Domain = new URL(url2).hostname;
6
-
7
- const getLevel2Domain = (url: string): string => {
5
+ const getLevel2Domain = (url) => {
8
6
  const parts = url.split(".");
9
7
  return parts.slice(parts.length - 2).join(".");
10
8
  };
11
-
12
9
  return getLevel2Domain(url1Domain) === getLevel2Domain(url2Domain);
13
10
  }
11
+ //# sourceMappingURL=haveSharedParentDomain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"haveSharedParentDomain.js","sourceRoot":"","sources":["../../../src/tools/haveSharedParentDomain.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB,CAAC,MAAsC;IAC5E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAE9B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAE1C,MAAM,eAAe,GAAG,CAAC,GAAW,EAAU,EAAE;QAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,OAAO,eAAe,CAAC,UAAU,CAAC,KAAK,eAAe,CAAC,UAAU,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function getIsDev(): boolean;
@@ -1,30 +1,23 @@
1
- let cache: boolean | undefined = undefined;
2
-
3
- export function getIsDev(): boolean {
1
+ let cache = undefined;
2
+ export function getIsDev() {
4
3
  if (cache !== undefined) {
5
4
  return cache;
6
5
  }
7
-
8
6
  const isDev = (() => {
9
7
  if (/https?:\/\/localhost/.test(window.location.href)) {
10
8
  return true;
11
9
  }
12
-
13
- if (
14
- typeof process === "object" &&
10
+ if (typeof process === "object" &&
15
11
  process !== null &&
16
12
  process.env instanceof Object &&
17
- process.env.NODE_ENV !== "production"
18
- ) {
13
+ process.env.NODE_ENV !== "production") {
19
14
  return true;
20
15
  }
21
-
22
16
  if (document.querySelector('script[type="module"][src="/@vite/client"]') !== null) {
23
17
  return true;
24
18
  }
25
-
26
19
  return false;
27
20
  })();
28
-
29
21
  return (cache = isDev);
30
22
  }
23
+ //# sourceMappingURL=isDev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isDev.js","sourceRoot":"","sources":["../../../src/tools/isDev.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAwB,SAAS,CAAC;AAE3C,MAAM,UAAU,QAAQ;IACpB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;QAChB,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IACI,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,KAAK,IAAI;YAChB,OAAO,CAAC,GAAG,YAAY,MAAM;YAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EACvC,CAAC;YACC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,QAAQ,CAAC,aAAa,CAAC,4CAA4C,CAAC,KAAK,IAAI,EAAE,CAAC;YAChF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @deprecated: Use `import { ... } from "oidc-spa/keycloak"` instead.
3
+ *
4
+ * Return undefined if the issuerUri doesn't match the expected shape of a Keycloak issuerUri
5
+ *
6
+ * Example:
7
+ *
8
+ * `parseKeycloakIssuerUri("https://auth.my-company.com/auth/realms/myrealm")` returns:
9
+ * {
10
+ * origin: "https://auth.my-company.com",
11
+ * realm: "myrealm",
12
+ * kcHttpRelativePath: "/auth",
13
+ * adminConsoleUrl: "https://auth.my-company.com/auth/admin/myrealm/console",
14
+ * getAccountUrl: ({ thisAppDisplayName, backToAppFromAccountUrl }) =>
15
+ * `https://auth.my-company.com/auth/realms/myrealm/account?referrer=${thisAppDisplayName}&referrer_uri=${backToAppFromAccountUrl}`
16
+ * }
17
+ * */
18
+ export declare function parseKeycloakIssuerUri(issuerUri: string): undefined | {
19
+ origin: string;
20
+ realm: string;
21
+ /** If defined starts with / and end with no `/` */
22
+ kcHttpRelativePath: string | undefined;
23
+ adminConsoleUrl: string;
24
+ adminConsoleUrl_master: string;
25
+ getAccountUrl: (params: {
26
+ clientId: string;
27
+ backToAppFromAccountUrl: string;
28
+ locale?: string;
29
+ }) => string;
30
+ };
@@ -0,0 +1,33 @@
1
+ import { isKeycloak, createKeycloakUtils } from "../keycloak";
2
+ /**
3
+ * @deprecated: Use `import { ... } from "oidc-spa/keycloak"` instead.
4
+ *
5
+ * Return undefined if the issuerUri doesn't match the expected shape of a Keycloak issuerUri
6
+ *
7
+ * Example:
8
+ *
9
+ * `parseKeycloakIssuerUri("https://auth.my-company.com/auth/realms/myrealm")` returns:
10
+ * {
11
+ * origin: "https://auth.my-company.com",
12
+ * realm: "myrealm",
13
+ * kcHttpRelativePath: "/auth",
14
+ * adminConsoleUrl: "https://auth.my-company.com/auth/admin/myrealm/console",
15
+ * getAccountUrl: ({ thisAppDisplayName, backToAppFromAccountUrl }) =>
16
+ * `https://auth.my-company.com/auth/realms/myrealm/account?referrer=${thisAppDisplayName}&referrer_uri=${backToAppFromAccountUrl}`
17
+ * }
18
+ * */
19
+ export function parseKeycloakIssuerUri(issuerUri) {
20
+ if (!isKeycloak({ issuerUri })) {
21
+ return undefined;
22
+ }
23
+ const keycloakUtils = createKeycloakUtils({ issuerUri });
24
+ return {
25
+ origin: keycloakUtils.issuerUriParsed.origin,
26
+ realm: keycloakUtils.issuerUriParsed.realm,
27
+ kcHttpRelativePath: keycloakUtils.issuerUriParsed.kcHttpRelativePath,
28
+ adminConsoleUrl: keycloakUtils.adminConsoleUrl,
29
+ adminConsoleUrl_master: keycloakUtils.adminConsoleUrl_master,
30
+ getAccountUrl: keycloakUtils.getAccountUrl
31
+ };
32
+ }
33
+ //# sourceMappingURL=parseKeycloakIssuerUri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseKeycloakIssuerUri.js","sourceRoot":"","sources":["../../../src/tools/parseKeycloakIssuerUri.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;;;;;;;;;;;;;KAgBK;AACL,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IAepD,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,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"}
@@ -0,0 +1 @@
1
+ export declare function readExpirationTimeInJwt(token: string): number | undefined;
@@ -1,16 +1,15 @@
1
1
  import { decodeJwt } from "./decodeJwt";
2
2
  import { assert } from "../vendor/frontend/tsafe";
3
-
4
3
  // Return undefined if token provided wasn't a JWT or if it hasn't an exp claim number
5
- export function readExpirationTimeInJwt(token: string): number | undefined {
6
- let exp: number;
7
-
4
+ export function readExpirationTimeInJwt(token) {
5
+ let exp;
8
6
  try {
9
- exp = decodeJwt<{ exp: number }>(token).exp;
7
+ exp = decodeJwt(token).exp;
10
8
  assert(typeof exp === "number");
11
- } catch {
9
+ }
10
+ catch {
12
11
  return undefined;
13
12
  }
14
-
15
13
  return exp * 1000;
16
14
  }
15
+ //# sourceMappingURL=readExpirationTimeInJwt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readExpirationTimeInJwt.js","sourceRoot":"","sources":["../../../src/tools/readExpirationTimeInJwt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,sFAAsF;AACtF,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACjD,IAAI,GAAW,CAAC;IAEhB,IAAI,CAAC;QACD,GAAG,GAAG,SAAS,CAAkB,KAAK,CAAC,CAAC,GAAG,CAAC;QAC5C,MAAM,CAAC,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"}
@@ -0,0 +1,11 @@
1
+ export declare function createStartCountdown(params: {
2
+ tickCallback: (params: {
3
+ secondsLeft: number | undefined;
4
+ }) => void;
5
+ }): {
6
+ startCountdown: (params: {
7
+ countDownFromSeconds: number;
8
+ }) => {
9
+ stopCountdown: () => void;
10
+ };
11
+ };
@@ -1,36 +1,25 @@
1
1
  import { setTimeout, clearTimeout } from "../tools/workerTimers";
2
-
3
- export function createStartCountdown(params: {
4
- tickCallback: (params: { secondsLeft: number | undefined }) => void;
5
- }) {
2
+ export function createStartCountdown(params) {
6
3
  const { tickCallback } = params;
7
-
8
- function startCountdown(params: { countDownFromSeconds: number }) {
4
+ function startCountdown(params) {
9
5
  const { countDownFromSeconds } = params;
10
-
11
- let timer: ReturnType<typeof setTimeout>;
12
-
6
+ let timer;
13
7
  (async () => {
14
8
  let secondsLeft = Math.floor(countDownFromSeconds);
15
-
16
9
  while (secondsLeft >= 0) {
17
10
  tickCallback({ secondsLeft });
18
-
19
- await new Promise<void>(resolve => {
20
- timer = setTimeout(resolve, 1_000);
11
+ await new Promise(resolve => {
12
+ timer = setTimeout(resolve, 1000);
21
13
  });
22
-
23
14
  secondsLeft--;
24
15
  }
25
16
  })();
26
-
27
17
  const stopCountdown = () => {
28
18
  clearTimeout(timer);
29
19
  tickCallback({ secondsLeft: undefined });
30
20
  };
31
-
32
21
  return { stopCountdown };
33
22
  }
34
-
35
23
  return { startCountdown };
36
24
  }
25
+ //# sourceMappingURL=startCountdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startCountdown.js","sourceRoot":"","sources":["../../../src/tools/startCountdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,UAAU,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,UAAU,CAAC,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,YAAY,CAAC,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"}
@@ -0,0 +1,6 @@
1
+ export declare function subscribeToUserInteraction(params: {
2
+ throttleMs: number;
3
+ callback: () => void;
4
+ }): {
5
+ unsubscribeFromUserInteraction: () => void;
6
+ };
@@ -1,33 +1,24 @@
1
1
  import { getPrUserInteraction } from "./getPrUserInteraction";
2
-
3
- export function subscribeToUserInteraction(params: { throttleMs: number; callback: () => void }) {
2
+ export function subscribeToUserInteraction(params) {
4
3
  const { throttleMs } = params;
5
-
6
- const cleanups = new Set<() => void>();
7
-
4
+ const cleanups = new Set();
8
5
  (async function callee() {
9
6
  const { cancelPrUserInteraction, prUserInteraction } = getPrUserInteraction();
10
-
11
7
  cleanups.add(cancelPrUserInteraction);
12
-
13
8
  await prUserInteraction;
14
-
15
9
  params.callback();
16
-
17
- await new Promise<void>(resolve => {
10
+ await new Promise(resolve => {
18
11
  const timer = setTimeout(resolve, throttleMs);
19
12
  cleanups.add(() => {
20
13
  clearTimeout(timer);
21
14
  });
22
15
  });
23
-
24
16
  cleanups.clear();
25
17
  callee();
26
18
  })();
27
-
28
19
  const unsubscribeFromUserInteraction = () => {
29
20
  Array.from(cleanups).forEach(cleanup => cleanup());
30
21
  };
31
-
32
22
  return { unsubscribeFromUserInteraction };
33
23
  }
24
+ //# sourceMappingURL=subscribeToUserInteraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribeToUserInteraction.js","sourceRoot":"","sources":["../../../src/tools/subscribeToUserInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,UAAU,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,oBAAoB,EAAE,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"}
@@ -0,0 +1,10 @@
1
+ type Params = {
2
+ urlish: string;
3
+ } & ({
4
+ doAssertNoQueryParams: true;
5
+ doOutputWithTrailingSlash: boolean;
6
+ } | {
7
+ doAssertNoQueryParams: false;
8
+ });
9
+ export declare function toFullyQualifiedUrl(params: Params): string;
10
+ export {};