shared-lib-angular 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/{dist/fesm2022 → fesm2022}/shared-lib-angular.mjs +3 -3
  2. package/{dist/fesm2022 → fesm2022}/shared-lib-angular.mjs.map +1 -1
  3. package/{dist/index.d.ts → index.d.ts} +3 -3
  4. package/package.json +19 -36
  5. package/.jest-cache/haste-map-9a3a3745ceefdbbde8dc96f3a11cb645-3313177a4f89a162d7e60aa270d6b5d6-d877677507d3d7567ce00a92135137ab +0 -0
  6. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/appconfig_00660af3355c71a72b8aafc720c254bb +0 -2876
  7. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/appconfig_00660af3355c71a72b8aafc720c254bb.map +0 -1
  8. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/every_00ea673d9604654690cab843fc8d8314 +0 -22
  9. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/every_00ea673d9604654690cab843fc8d8314.map +0 -1
  10. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/01/signal_019d00f4a5bdafd54307cfe5834fe796 +0 -473
  11. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/01/signal_019d00f4a5bdafd54307cfe5834fe796.map +0 -7
  12. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/02/exhaustAll_026083d1cce38f6911e761c16eef3d8a +0 -11
  13. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/02/exhaustAll_026083d1cce38f6911e761c16eef3d8a.map +0 -1
  14. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/intervalProvider_039ba6649af0878c191dfc0232ba33bb +0 -52
  15. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/intervalProvider_039ba6649af0878c191dfc0232ba33bb.map +0 -1
  16. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/loginconfiginterface_032bcdb7ef7be7283c308534eb016055 +0 -106
  17. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/loginconfiginterface_032bcdb7ef7be7283c308534eb016055.map +0 -1
  18. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/router_module_0320e629edfbb4fca0e75956de46b6d1 +0 -1097
  19. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/router_module_0320e629edfbb4fca0e75956de46b6d1.map +0 -7
  20. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/windowCount_03de01b105e8b75219fbc733a8fedb95 +0 -79
  21. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/windowCount_03de01b105e8b75219fbc733a8fedb95.map +0 -1
  22. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/browser_055ace85954b6943b58763b1108ccf12 +0 -447
  23. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/browser_055ace85954b6943b58763b1108ccf12.map +0 -7
  24. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/skip_057d7b1b3d1f246b35050c7ccf270a63 +0 -10
  25. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/skip_057d7b1b3d1f246b35050c7ccf270a63.map +0 -1
  26. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/06/schedulePromise_064651f3ace52a5a5d96f68314477e73 +0 -12
  27. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/06/schedulePromise_064651f3ace52a5a5d96f68314477e73.map +0 -1
  28. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/NotificationFactories_074c93396e1b1d62e7726ae8e260c235 +0 -22
  29. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/NotificationFactories_074c93396e1b1d62e7726ae8e260c235.map +0 -1
  30. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/testing_079979d81f362174b548c428f972337a +0 -2952
  31. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/testing_079979d81f362174b548c428f972337a.map +0 -7
  32. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/08/expand_0834ec9bae8fdda9fdcf6f218c0aa977 +0 -17
  33. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/08/expand_0834ec9bae8fdda9fdcf6f218c0aa977.map +0 -1
  34. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/authorizationservice_0a4bddc2811eebff94ab3084863255e6 +0 -2329
  35. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/authorizationservice_0a4bddc2811eebff94ab3084863255e6.map +0 -1
  36. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/last_0a681bf522e482a763682ee8f10bf6c9 +0 -18
  37. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/last_0a681bf522e482a763682ee8f10bf6c9.map +0 -1
  38. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0b/pairs_0bdbd8525961358b23ffad7d9789a968 +0 -10
  39. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0b/pairs_0bdbd8525961358b23ffad7d9789a968.map +0 -1
  40. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/immediateProvider_0d7f5944f088c0dabae14a12eca2b9d8 +0 -51
  41. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/immediateProvider_0d7f5944f088c0dabae14a12eca2b9d8.map +0 -1
  42. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/scan_0daefd10f43473197937af7f8452ec9d +0 -11
  43. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/scan_0daefd10f43473197937af7f8452ec9d.map +0 -1
  44. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0e/retry_0e69e48fa2132882bdcdd05127f2ea7d +0 -76
  45. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0e/retry_0e69e48fa2132882bdcdd05127f2ea7d.map +0 -1
  46. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/10/connect_105a8433fbea3cf741b136868b5951ba +0 -24
  47. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/10/connect_105a8433fbea3cf741b136868b5951ba.map +0 -1
  48. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/11/configservice_116e7dcf57d3d950117a5aa042cc0276 +0 -902
  49. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/11/configservice_116e7dcf57d3d950117a5aa042cc0276.map +0 -1
  50. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/AsyncSubject_120a173bd57e247e7f3ae18d0fd9b0fa +0 -59
  51. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/AsyncSubject_120a173bd57e247e7f3ae18d0fd9b0fa.map +0 -1
  52. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/repeatWhen_12cbec784a31a01dab7e78fe5e785053 +0 -51
  53. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/repeatWhen_12cbec784a31a01dab7e78fe5e785053.map +0 -1
  54. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/timeout_12ee70a93a9cd2707866c8eb02e10ad5 +0 -66
  55. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/timeout_12ee70a93a9cd2707866c8eb02e10ad5.map +0 -1
  56. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/14/count_149d69890a146cbacf66e6c02e77bd70 +0 -10
  57. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/14/count_149d69890a146cbacf66e6c02e77bd70.map +0 -1
  58. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/concat_174ab4f709f4956224457d08efab3503 +0 -49
  59. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/concat_174ab4f709f4956224457d08efab3503.map +0 -1
  60. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/throttle_17dfd679b2c59a6682f69508ee864ece +0 -50
  61. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/throttle_17dfd679b2c59a6682f69508ee864ece.map +0 -1
  62. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/QueueAction_18ebd8a34d165e459d10416b5abb2871 +0 -59
  63. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/QueueAction_18ebd8a34d165e459d10416b5abb2871.map +0 -1
  64. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/sequenceEqual_18018ebae3a1cc1813ae68980e76eff3 +0 -47
  65. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/sequenceEqual_18018ebae3a1cc1813ae68980e76eff3.map +0 -1
  66. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/delay_19f4d0866dea676d2bf43640461b8bfd +0 -16
  67. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/delay_19f4d0866dea676d2bf43640461b8bfd.map +0 -1
  68. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/throwUnobservableError_19baf3c85f87dad02f0536ca4e5cd60b +0 -9
  69. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/throwUnobservableError_19baf3c85f87dad02f0536ca4e5cd60b.map +0 -1
  70. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1a/windowWhen_1ac92e99f6e696e8f4204c5e4ebccf14 +0 -43
  71. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1a/windowWhen_1ac92e99f6e696e8f4204c5e4ebccf14.map +0 -1
  72. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1b/publishBehavior_1bf352339730e38d34a5d5e153bf7ebb +0 -14
  73. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1b/publishBehavior_1bf352339730e38d34a5d5e153bf7ebb.map +0 -1
  74. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1c/router_1c347a355ab0892e02fa5e69908d9080 +0 -128
  75. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1c/router_1c347a355ab0892e02fa5e69908d9080.map +0 -7
  76. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1d/logincomponent_1d4d7655bd3ebd5415f5b3e5b7f940be +0 -2
  77. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/isInteropObservable_1efea59365a17c9061ea4e21e7f2c6ae +0 -11
  78. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/isInteropObservable_1efea59365a17c9061ea4e21e7f2c6ae.map +0 -1
  79. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/sampleTime_1ed0a693b811e901145a88e55e6945d0 +0 -15
  80. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/sampleTime_1ed0a693b811e901145a88e55e6945d0.map +0 -1
  81. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/asap_1f8dd8afdbfd6d830ea655a48958de6e +0 -9
  82. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/asap_1f8dd8afdbfd6d830ea655a48958de6e.map +0 -1
  83. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/authenticationservice_1f271b3e269ad8b2e94278f0b9e63c1e +0 -4527
  84. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/authenticationservice_1f271b3e269ad8b2e94278f0b9e63c1e.map +0 -1
  85. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/21/fromSubscribable_218d9c2a708868b4ddcc33c959eb246d +0 -10
  86. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/21/fromSubscribable_218d9c2a708868b4ddcc33c959eb246d.map +0 -1
  87. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/mergeAll_22eabe4111038330cd0354da75bfb831 +0 -14
  88. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/mergeAll_22eabe4111038330cd0354da75bfb831.map +0 -1
  89. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/windowToggle_22ecc9529597f42519239efca8f4219f +0 -90
  90. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/windowToggle_22ecc9529597f42519239efca8f4219f.map +0 -1
  91. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/24/distinct_246654442158ec1661624139f1fcb40e +0 -23
  92. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/24/distinct_246654442158ec1661624139f1fcb40e.map +0 -1
  93. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/25/share_258b700a5bd9b287b2e67f4bf4bfa461 +0 -120
  94. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/25/share_258b700a5bd9b287b2e67f4bf4bfa461.map +0 -1
  95. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/26/scheduled_2667ac0ca964dea582df7f61bfaa619c +0 -42
  96. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/26/scheduled_2667ac0ca964dea582df7f61bfaa619c.map +0 -1
  97. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/Subject_288efa25f7749b82e5c2f60ffe1a32cc +0 -202
  98. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/Subject_288efa25f7749b82e5c2f60ffe1a32cc.map +0 -1
  99. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/testing_28adef3af187b963516380fd8076524a +0 -60
  100. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/testing_28adef3af187b963516380fd8076524a.map +0 -7
  101. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/exhaust_2c83cc366daf6fab56f7b1ef66317120 +0 -7
  102. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/exhaust_2c83cc366daf6fab56f7b1ef66317120.map +0 -1
  103. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/innerFrom_2c13de9f6df211e5ae68d63f44bc7b62 +0 -272
  104. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/innerFrom_2c13de9f6df211e5ae68d63f44bc7b62.map +0 -1
  105. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/mergeScan_2ca2d53a5d5527ac81b46bc4d0779542 +0 -19
  106. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/mergeScan_2ca2d53a5d5527ac81b46bc4d0779542.map +0 -1
  107. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/EmptyError_2d0d787ec6b758e32091ea628b5fd1a9 +0 -13
  108. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/EmptyError_2d0d787ec6b758e32091ea628b5fd1a9.map +0 -1
  109. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/concat_2d1fb893164794d1099ee55398b2485c +0 -16
  110. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/concat_2d1fb893164794d1099ee55398b2485c.map +0 -1
  111. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/publish_2fdddf4dfd0b97382056cce93cc68bce +0 -12
  112. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/publish_2fdddf4dfd0b97382056cce93cc68bce.map +0 -1
  113. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/testing_2f48dda6406d9713aab2c6abc3f524d1 +0 -589
  114. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/testing_2f48dda6406d9713aab2c6abc3f524d1.map +0 -7
  115. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/combineLatestAll_32d3966d0993446ff932e08bac6446d1 +0 -11
  116. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/combineLatestAll_32d3966d0993446ff932e08bac6446d1.map +0 -1
  117. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/dateTimestampProvider_322db52a6c79e9f9701dfb8c5d689ce5 +0 -11
  118. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/dateTimestampProvider_322db52a6c79e9f9701dfb8c5d689ce5.map +0 -1
  119. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/skipLast_32ebd97dc9255e3b917578177464899e +0 -33
  120. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/skipLast_32ebd97dc9255e3b917578177464899e.map +0 -1
  121. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/33/ReplaySubject_3311b511a16d8b0c3e23304eebb40d3e +0 -84
  122. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/33/ReplaySubject_3311b511a16d8b0c3e23304eebb40d3e.map +0 -1
  123. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/34/find_34c22ca010467918d87f33193ce95ff7 +0 -28
  124. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/34/find_34c22ca010467918d87f33193ce95ff7.map +0 -1
  125. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/35/Subscriber_3541130fb10b4a537607b957f4251df0 +0 -204
  126. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/35/Subscriber_3541130fb10b4a537607b957f4251df0.map +0 -1
  127. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/36/OperatorSubscriber_362c0ba359aef05d6de98c8815507491 +0 -82
  128. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/36/OperatorSubscriber_362c0ba359aef05d6de98c8815507491.map +0 -1
  129. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/common_38e0955cd641d1e06029b8851ecf3c8b +0 -1500
  130. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/common_38e0955cd641d1e06029b8851ecf3c8b.map +0 -7
  131. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/isAsyncIterable_38a51f2abc798a774e04d8b7cac3fb18 +0 -10
  132. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/isAsyncIterable_38a51f2abc798a774e04d8b7cac3fb18.map +0 -1
  133. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/NotFoundError_39e0e5a4d3fc380d4ca53dbc3f1d4f43 +0 -13
  134. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/NotFoundError_39e0e5a4d3fc380d4ca53dbc3f1d4f43.map +0 -1
  135. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/appconfiginterface_39cbb9d9c321a775c3d6816280463653 +0 -60
  136. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/appconfiginterface_39cbb9d9c321a775c3d6816280463653.map +0 -1
  137. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/firstValueFrom_391d26a44a60b3dc0c683f75416342ba +0 -29
  138. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/firstValueFrom_391d26a44a60b3dc0c683f75416342ba.map +0 -1
  139. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/using_397c2ad02f41ed947243f0477e969be4 +0 -22
  140. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/using_397c2ad02f41ed947243f0477e969be4.map +0 -1
  141. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3a/takeWhile_3a9829a881228fdf558f9d71757646d0 +0 -21
  142. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3a/takeWhile_3a9829a881228fdf558f9d71757646d0.map +0 -1
  143. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3b/scheduleArray_3bdab1a240bd3c32636272eedf77cfad +0 -23
  144. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3b/scheduleArray_3bdab1a240bd3c32636272eedf77cfad.map +0 -1
  145. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/max_3c0e0f730a77269602626ae8ef245a1e +0 -11
  146. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/max_3c0e0f730a77269602626ae8ef245a1e.map +0 -1
  147. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/take_3c026b1f7917b04e5f2bbc4223289d9f +0 -25
  148. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/take_3c026b1f7917b04e5f2bbc4223289d9f.map +0 -1
  149. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3d/location_3def1246f95990cfebbab11e528ab266 +0 -497
  150. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3d/location_3def1246f95990cfebbab11e528ab266.map +0 -7
  151. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3e/interval_3ea3b4a266fa372c186672ee3a7b5580 +0 -20
  152. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3e/interval_3ea3b4a266fa372c186672ee3a7b5580.map +0 -1
  153. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/attribute_3f638223526a5452b11ee75dc0250648 +0 -43
  154. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/attribute_3f638223526a5452b11ee75dc0250648.map +0 -7
  155. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/combineLatest_3f0bf7600a0d2d0cf1141ac5af85a508 +0 -53
  156. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/combineLatest_3f0bf7600a0d2d0cf1141ac5af85a508.map +0 -1
  157. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/onErrorResumeNextWith_41672d4eb0d804acca50ecf1e4676c5b +0 -46
  158. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/onErrorResumeNextWith_41672d4eb0d804acca50ecf1e4676c5b.map +0 -1
  159. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/resource_41fe82c252d8f7625f81e4ed65f47b01 +0 -577
  160. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/resource_41fe82c252d8f7625f81e4ed65f47b01.map +0 -7
  161. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/42/not_42d94d1e1986bd9f02192b58a49a4a10 +0 -9
  162. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/42/not_42d94d1e1986bd9f02192b58a49a4a10.map +0 -1
  163. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/43/combineAll_43bc2b5905cd2c6f74dc8b64523a6c0d +0 -7
  164. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/43/combineAll_43bc2b5905cd2c6f74dc8b64523a6c0d.map +0 -1
  165. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/effect_45da71956a042b04e0c80617e1abea70 +0 -154
  166. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/effect_45da71956a042b04e0c80617e1abea70.map +0 -7
  167. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/pluck_45d34d7b28cb92d486c5c549c829d4c7 +0 -30
  168. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/pluck_45d34d7b28cb92d486c5c549c829d4c7.map +0 -1
  169. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/timeInterval_45fd794b2ec592d3ec1ec38cf56a5aba +0 -31
  170. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/timeInterval_45fd794b2ec592d3ec1ec38cf56a5aba.map +0 -1
  171. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/animationFrames_46ea857479451d7367337bd511b12139 +0 -39
  172. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/animationFrames_46ea857479451d7367337bd511b12139.map +0 -1
  173. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/scheduleIterable_46f97122ff229faf892b20877c5aa86c +0 -37
  174. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/scheduleIterable_46f97122ff229faf892b20877c5aa86c.map +0 -1
  175. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/platform_navigation_47d697bbddec9cce6b73383168a56d08 +0 -51
  176. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/platform_navigation_47d697bbddec9cce6b73383168a56d08.map +0 -7
  177. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/queue_4709f99b0fc7a82058f6b3206d3b8e4e +0 -9
  178. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/queue_4709f99b0fc7a82058f6b3206d3b8e4e.map +0 -1
  179. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/configservicespec_4885306385dc65c123e0824a1f58cb07 +0 -87
  180. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/configservicespec_4885306385dc65c123e0824a1f58cb07.map +0 -1
  181. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/debounceTime_4809c90833e6a766aa133edf2ae49b83 +0 -51
  182. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/debounceTime_4809c90833e6a766aa133edf2ae49b83.map +0 -1
  183. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/signals_49daedeaa3f1608b221e0e2b467fef8f +0 -256
  184. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/signals_49daedeaa3f1608b221e0e2b467fef8f.map +0 -7
  185. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/startWith_490e5e430d82b7b008b7a1b600a9ab3c +0 -19
  186. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/startWith_490e5e430d82b7b008b7a1b600a9ab3c.map +0 -1
  187. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4a/debug_node_4aa7d0bfa7f2471539bc6e17f2118a47 +0 -20713
  188. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4a/debug_node_4aa7d0bfa7f2471539bc6e17f2118a47.map +0 -7
  189. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/bindCallback_4b7735ffb109657480a3193b071be4af +0 -10
  190. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/bindCallback_4b7735ffb109657480a3193b071be4af.map +0 -1
  191. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/iterator_4b6f81592b9a6a91a1e032179adca692 +0 -13
  192. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/iterator_4b6f81592b9a6a91a1e032179adca692.map +0 -1
  193. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4e/zip_4e4b1d528e64e46b2cf212e69c345b68 +0 -46
  194. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4e/zip_4e4b1d528e64e46b2cf212e69c345b68.map +0 -1
  195. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/flatMap_50ee03966593fc03915ea67e31223a61 +0 -7
  196. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/flatMap_50ee03966593fc03915ea67e31223a61.map +0 -1
  197. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/reduce_50207e757e7dd0895fbaacf449d409d1 +0 -11
  198. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/reduce_50207e757e7dd0895fbaacf449d409d1.map +0 -1
  199. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/51/weak_ref_511653ddf85d364ebc878405e6282fc5 +0 -30
  200. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/51/weak_ref_511653ddf85d364ebc878405e6282fc5.map +0 -7
  201. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/52/observeOn_52b18ee03b1120882b3e60875c787ab3 +0 -17
  202. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/52/observeOn_52b18ee03b1120882b3e60875c787ab3.map +0 -1
  203. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/dashboardcomponent_53c32631c99debadbc5a44e7b150fd72 +0 -2
  204. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/fromEventPattern_539dbdf41c03ede2cfa34f62fbbc7d75 +0 -25
  205. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/fromEventPattern_539dbdf41c03ede2cfa34f62fbbc7d75.map +0 -1
  206. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/groupBy_53bdc3415d8cb7d339b4770b31db1c9b +0 -68
  207. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/groupBy_53bdc3415d8cb7d339b4770b31db1c9b.map +0 -1
  208. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/AnimationFrameAction_5423f59105ed7d626abac6a69f07bfe4 +0 -60
  209. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/AnimationFrameAction_5423f59105ed7d626abac6a69f07bfe4.map +0 -1
  210. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/scheduleReadableStreamLike_5475b804715c5be031baaec692002aab +0 -11
  211. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/scheduleReadableStreamLike_5475b804715c5be031baaec692002aab.map +0 -1
  212. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/animationFrame_55e052bcb509243da3536ac36e4aa83f +0 -9
  213. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/animationFrame_55e052bcb509243da3536ac36e4aa83f.map +0 -1
  214. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/scheduleObservable_5569cfab2019142d0fcae5fc384a795c +0 -12
  215. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/scheduleObservable_5569cfab2019142d0fcae5fc384a795c.map +0 -1
  216. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/angularoauth2oidc_5796eb8bb1f1dd6932dae6bb664d1cbb +0 -2766
  217. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/angularoauth2oidc_5796eb8bb1f1dd6932dae6bb664d1cbb.map +0 -7
  218. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/endWith_57bd076f03a5529b5669a4bd386a0648 +0 -44
  219. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/endWith_57bd076f03a5529b5669a4bd386a0648.map +0 -1
  220. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/isArrayLike_57dfd0465318da2cbc8fa3043aca76bc +0 -6
  221. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/isArrayLike_57dfd0465318da2cbc8fa3043aca76bc.map +0 -1
  222. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/publishLast_574acb89597ecb7584a4d54a21ce7fd0 +0 -14
  223. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/publishLast_574acb89597ecb7584a4d54a21ce7fd0.map +0 -1
  224. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/switchScan_57759ec2c9148ae2f94dd997f963cc3f +0 -17
  225. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/switchScan_57759ec2c9148ae2f94dd997f963cc3f.map +0 -1
  226. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/windowTime_57deb9c95403419ebdedc01ee2643ce1 +0 -75
  227. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/windowTime_57deb9c95403419ebdedc01ee2643ce1.map +0 -1
  228. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/59/BehaviorSubject_59c295137756816d9da8164415d41c40 +0 -56
  229. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/59/BehaviorSubject_59c295137756816d9da8164415d41c40.map +0 -1
  230. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5a/switchMapTo_5a6dd9823852ccc95a49d9b77bd2561d +0 -11
  231. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5a/switchMapTo_5a6dd9823852ccc95a49d9b77bd2561d.map +0 -1
  232. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5b/bufferTime_5bba3a4e339ab63d5ec157f2a2199900 +0 -101
  233. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5b/bufferTime_5bba3a4e339ab63d5ec157f2a2199900.map +0 -1
  234. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5c/shareReplay_5c312953fc0f0439193e056e78510373 +0 -25
  235. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5c/shareReplay_5c312953fc0f0439193e056e78510373.map +0 -1
  236. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/Action_5e72b25c73096e88490c6e9015ddb56c +0 -37
  237. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/Action_5e72b25c73096e88490c6e9015ddb56c.map +0 -1
  238. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/isIterable_5e80f397f8ed04a532027aa00c4eb453 +0 -11
  239. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/isIterable_5e80f397f8ed04a532027aa00c4eb453.map +0 -1
  240. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5f/race_5f51258fb60a582ab1e6aca07b21655d +0 -38
  241. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5f/race_5f51258fb60a582ab1e6aca07b21655d.map +0 -1
  242. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/60/race_60e460c803705be956c9ad1519f27ae9 +0 -44
  243. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/60/race_60e460c803705be956c9ad1519f27ae9.map +0 -1
  244. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/authorizationinterface_61b3843bb141bda9133f897e585e0748 +0 -60
  245. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/authorizationinterface_61b3843bb141bda9133f897e585e0748.map +0 -1
  246. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/testing_6176dd0db4a8ad21b8d3bc1d388053dc +0 -107
  247. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/testing_6176dd0db4a8ad21b8d3bc1d388053dc.map +0 -7
  248. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/62/ArgumentOutOfRangeError_627b1a510e0d08fab12d924263c0d47f +0 -13
  249. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/62/ArgumentOutOfRangeError_627b1a510e0d08fab12d924263c0d47f.map +0 -1
  250. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/63/dom_renderer_63272c78e0eb510569eae3d5b5f9aeee +0 -726
  251. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/63/dom_renderer_63272c78e0eb510569eae3d5b5f9aeee.map +0 -7
  252. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/64/joinAllInternals_640e9d56539a3eec67d788a341b918ed +0 -14
  253. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/64/joinAllInternals_640e9d56539a3eec67d788a341b918ed.map +0 -1
  254. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/65/AsapScheduler_652b27b66e714bc12262aa7e97b1ef86 +0 -51
  255. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/65/AsapScheduler_652b27b66e714bc12262aa7e97b1ef86.map +0 -1
  256. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/mapOneOrManyArgs_689e7d9385a707593cf83ee4082dc61e +0 -43
  257. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/mapOneOrManyArgs_689e7d9385a707593cf83ee4082dc61e.map +0 -1
  258. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/partition_681d13cdb0b0bb3b0fe590ef7c5aa93c +0 -13
  259. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/partition_681d13cdb0b0bb3b0fe590ef7c5aa93c.map +0 -1
  260. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/69/Scheduler_69ac465fc3a0f88a5564df13752f196f +0 -24
  261. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/69/Scheduler_69ac465fc3a0f88a5564df13752f196f.map +0 -1
  262. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/authenticationservicespec_6a31910a11f7a7d88de4428592b81b41 +0 -171
  263. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/authenticationservicespec_6a31910a11f7a7d88de4428592b81b41.map +0 -1
  264. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/merge_6aeabbb04f67d52e04d5fb6bfe53c7ce +0 -50
  265. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/merge_6aeabbb04f67d52e04d5fb6bfe53c7ce.map +0 -1
  266. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/skipUntil_6a1db23a8161437968c7fac8561325fd +0 -21
  267. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/skipUntil_6a1db23a8161437968c7fac8561325fd.map +0 -1
  268. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/zipWith_6a11cd689b9f399f14e13a9589c1d30c +0 -43
  269. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/zipWith_6a11cd689b9f399f14e13a9589c1d30c.map +0 -1
  270. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6e/partition_6ebe586335dfe0eb9f4b65dd7f912e38 +0 -12
  271. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6e/partition_6ebe586335dfe0eb9f4b65dd7f912e38.map +0 -1
  272. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/generate_6fa8af747ce58c570eb002b1c00430b3 +0 -123
  273. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/generate_6fa8af747ce58c570eb002b1c00430b3.map +0 -1
  274. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/of_6f039032237bc3616cd9f88de5b34572 +0 -16
  275. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/of_6f039032237bc3616cd9f88de5b34572.map +0 -1
  276. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/70/takeLast_70f2caa4d21d5bde0732d9c218ff412d +0 -58
  277. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/70/takeLast_70f2caa4d21d5bde0732d9c218ff412d.map +0 -1
  278. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/72/module_726ab71b1f0164c527681100a65aad4a +0 -2332
  279. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/72/module_726ab71b1f0164c527681100a65aad4a.map +0 -7
  280. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/73/lastValueFrom_737afa6f071e7d30fa42bdb86f84d107 +0 -32
  281. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/73/lastValueFrom_737afa6f071e7d30fa42bdb86f84d107.map +0 -1
  282. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/createErrorClass_75905daf41c07df2a4ea17ba294cad8a +0 -16
  283. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/createErrorClass_75905daf41c07df2a4ea17ba294cad8a.map +0 -1
  284. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/defer_75b01f8804d24bc81107cdfa51c9fd66 +0 -13
  285. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/defer_75b01f8804d24bc81107cdfa51c9fd66.map +0 -1
  286. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/filter_76c22b02ab9a8b16a2ac23ad85243e5b +0 -14
  287. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/filter_76c22b02ab9a8b16a2ac23ad85243e5b.map +0 -1
  288. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/version_76b048d35316951f4c8a9efb64028794 +0 -119
  289. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/version_76b048d35316951f4c8a9efb64028794.map +0 -1
  290. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/79/iif_798ee878d80215441fd62f4c46aaac1e +0 -10
  291. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/79/iif_798ee878d80215441fd62f4c46aaac1e.map +0 -1
  292. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7b/identity_7bdd4c23fb4e8612fe66d9d232584cb0 +0 -9
  293. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7b/identity_7bdd4c23fb4e8612fe66d9d232584cb0.map +0 -1
  294. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/AsyncAction_7cf5bb2a2d938bec1cf31419bc641e68 +0 -116
  295. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/AsyncAction_7cf5bb2a2d938bec1cf31419bc641e68.map +0 -1
  296. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/Subscription_7c102157fbcfac1c16274e713ebfafcb +0 -202
  297. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/Subscription_7c102157fbcfac1c16274e713ebfafcb.map +0 -1
  298. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/lift_7c74badd969dadc4de0ea5ff85e8bcfc +0 -26
  299. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/lift_7c74badd969dadc4de0ea5ff85e8bcfc.map +0 -1
  300. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/pipe_7c13629329765dd61c3ac7addd741d3c +0 -26
  301. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/pipe_7c13629329765dd61c3ac7addd741d3c.map +0 -1
  302. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/throttleTime_7c8f3b9a09e3b2380c6f5a53e9e19d73 +0 -16
  303. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/throttleTime_7c8f3b9a09e3b2380c6f5a53e9e19d73.map +0 -1
  304. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7d/UnsubscriptionError_7d69546cdd3ee56a0c8196e6b7a3b93b +0 -16
  305. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7d/UnsubscriptionError_7d69546cdd3ee56a0c8196e6b7a3b93b.map +0 -1
  306. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/defaultIfEmpty_810b4e0604dba71c6021470672d75fe6 +0 -22
  307. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/defaultIfEmpty_810b4e0604dba71c6021470672d75fe6.map +0 -1
  308. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/pairwise_81b247ee51f59dd96b3009979157e4b9 +0 -20
  309. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/pairwise_81b247ee51f59dd96b3009979157e4b9.map +0 -1
  310. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/repeat_810a7e7909eff9a4745b563969d1ee11 +0 -65
  311. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/repeat_810a7e7909eff9a4745b563969d1ee11.map +0 -1
  312. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/82/authorizationguard_82de14e9b4958e2e99b8643cd395d629 +0 -530
  313. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/82/authorizationguard_82de14e9b4958e2e99b8643cd395d629.map +0 -1
  314. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/83/dashboardcomponent_833bf6a5c3619c9adaced99312164a7a +0 -4149
  315. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/83/dashboardcomponent_833bf6a5c3619c9adaced99312164a7a.map +0 -1
  316. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/dashboardcomponentspec_8874d89d947ada3b2913b3d96a957478 +0 -219
  317. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/dashboardcomponentspec_8874d89d947ada3b2913b3d96a957478.map +0 -1
  318. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/isFunction_880148731b92c4fdf7652bae9f17672c +0 -9
  319. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/isFunction_880148731b92c4fdf7652bae9f17672c.map +0 -1
  320. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/window_889e36acc1694a6c6859a5c14694efc6 +0 -33
  321. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/window_889e36acc1694a6c6859a5c14694efc6.map +0 -1
  322. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/89/core_899034079b505a592bba9a502120cfd8 +0 -3480
  323. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/89/core_899034079b505a592bba9a502120cfd8.map +0 -7
  324. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/isScheduler_8a1f0e526117aed8f474344e8a337001 +0 -10
  325. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/isScheduler_8a1f0e526117aed8f474344e8a337001.map +0 -1
  326. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/range_8aa1319af11190cf05b194c0eace5a96 +0 -40
  327. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/range_8aa1319af11190cf05b194c0eace5a96.map +0 -1
  328. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8b/connectable_8bdc7b54bdc252caf076d2e924c9ccdc +0 -34
  329. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8b/connectable_8bdc7b54bdc252caf076d2e924c9ccdc.map +0 -1
  330. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8c/debounce_8c4b06b5e96c9ce06d159c7167ad4df3 +0 -39
  331. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8c/debounce_8c4b06b5e96c9ce06d159c7167ad4df3.map +0 -1
  332. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8d/buffer_8da491f572a7ebd7fcc78973472dd554 +0 -27
  333. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8d/buffer_8da491f572a7ebd7fcc78973472dd554.map +0 -1
  334. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8e/distinctUntilChanged_8ec9a7e6a213b0da14fef2a6287426ee +0 -30
  335. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8e/distinctUntilChanged_8ec9a7e6a213b0da14fef2a6287426ee.map +0 -1
  336. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/animationFrameProvider_8f6b1fdd1805c32bd8a71158fe2d4f6e +0 -68
  337. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/animationFrameProvider_8f6b1fdd1805c32bd8a71158fe2d4f6e.map +0 -1
  338. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/skipWhile_8fbb2b1e98a876abf6cd45db4580345a +0 -15
  339. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/skipWhile_8fbb2b1e98a876abf6cd45db4580345a.map +0 -1
  340. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/timeoutProvider_8f5b211154fd0dfc69bcc93ffe1281d9 +0 -52
  341. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/timeoutProvider_8f5b211154fd0dfc69bcc93ffe1281d9.map +0 -1
  342. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/arrRemove_9007c7c90914e2c67a3c7c7f7f6ed63d +0 -12
  343. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/arrRemove_9007c7c90914e2c67a3c7c7f7f6ed63d.map +0 -1
  344. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/takeUntil_90cbbe5d41852345c1c2d15693a91a4e +0 -16
  345. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/takeUntil_90cbbe5d41852345c1c2d15693a91a4e.map +0 -1
  346. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/types_902cdea8f0917627cc8393a9aa52c916 +0 -4
  347. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/types_902cdea8f0917627cc8393a9aa52c916.map +0 -1
  348. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/91/isPromise_91e79cccaa029e755a189ab94ff11d2a +0 -10
  349. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/91/isPromise_91e79cccaa029e755a189ab94ff11d2a.map +0 -1
  350. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/92/timestamp_929befc00c12052926227dd07e014839 +0 -14
  351. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/92/timestamp_929befc00c12052926227dd07e014839.map +0 -1
  352. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/93/mergeMap_9318b621967b6738c51ffd144f90fbe3 +0 -23
  353. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/93/mergeMap_9318b621967b6738c51ffd144f90fbe3.map +0 -1
  354. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/94/min_9467e39c730974505b268969ae4a9eef +0 -11
  355. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/94/min_9467e39c730974505b268969ae4a9eef.map +0 -1
  356. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/97/isEmpty_97e18cd152ec8cbf2572309d51321174 +0 -19
  357. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/97/isEmpty_97e18cd152ec8cbf2572309d51321174.map +0 -1
  358. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/98/toArray_986fbe7e6566dab35c8bcf0e57c131d8 +0 -14
  359. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/98/toArray_986fbe7e6566dab35c8bcf0e57c131d8.map +0 -1
  360. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/99/authorizationservicespec_99005e51e3fe0531de30cc3ebe182159 +0 -206
  361. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/99/authorizationservicespec_99005e51e3fe0531de30cc3ebe182159.map +0 -1
  362. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9a/logincomponentspec_9a5d9162e7420f6e7bfd0ec192a0e7b3 +0 -126
  363. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9a/logincomponentspec_9a5d9162e7420f6e7bfd0ec192a0e7b3.map +0 -1
  364. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/di_9bb73d3d1d37e03ae545cb821a24d6e4 +0 -48
  365. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/di_9bb73d3d1d37e03ae545cb821a24d6e4.map +0 -7
  366. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/single_9b7260fd4298ea61a3af48a06e07f955 +0 -35
  367. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/single_9b7260fd4298ea61a3af48a06e07f955.map +0 -1
  368. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/distinctUntilKeyChanged_9c0e259a4e26342aa529522ab260b6e2 +0 -10
  369. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/distinctUntilKeyChanged_9c0e259a4e26342aa529522ab260b6e2.map +0 -1
  370. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/reportUnhandledError_9c687bd943c7e3cb0cbe5ba362e47a57 +0 -19
  371. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/reportUnhandledError_9c687bd943c7e3cb0cbe5ba362e47a57.map +0 -1
  372. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9e/audit_9ef009f5c290fa05db1f116ccc1dea15 +0 -42
  373. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9e/audit_9ef009f5c290fa05db1f116ccc1dea15.map +0 -1
  374. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/Observable_9fa7fb170ab97af3339678f170c00580 +0 -106
  375. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/Observable_9fa7fb170ab97af3339678f170c00580.map +0 -1
  376. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/timer_9f8a9fa0c2907acec47fd64413f88e1f +0 -45
  377. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/timer_9f8a9fa0c2907acec47fd64413f88e1f.map +0 -1
  378. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a1/exhaustMap_a17113d2ae51f6049da7b9126fc2f3d0 +0 -34
  379. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a1/exhaustMap_a17113d2ae51f6049da7b9126fc2f3d0.map +0 -1
  380. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/catchError_a2a6d4194ebf9a7b737c5162e13f9e8f +0 -32
  381. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/catchError_a2a6d4194ebf9a7b737c5162e13f9e8f.map +0 -1
  382. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/concatMapTo_a28deb2bec5c1f5c41e1087788eccbba +0 -11
  383. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/concatMapTo_a28deb2bec5c1f5c41e1087788eccbba.map +0 -1
  384. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/mergeMapTo_a263600e2e57ffe7c35a1d079bbf423f +0 -20
  385. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/mergeMapTo_a263600e2e57ffe7c35a1d079bbf423f.map +0 -1
  386. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a3/not_found_a3e96f6eb61e4ec43431a235d6638f02 +0 -64
  387. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a3/not_found_a3e96f6eb61e4ec43431a235d6638f02.map +0 -7
  388. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/concatMap_aa22e6b3212edabed548ee6fd704ac9b +0 -11
  389. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/concatMap_aa22e6b3212edabed548ee6fd704ac9b.map +0 -1
  390. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/noop_aa193fc1a61ccf323a19e2acef78f9b8 +0 -7
  391. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/noop_aa193fc1a61ccf323a19e2acef78f9b8.map +0 -1
  392. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/argsOrArgArray_abd5775c2214bbc9529e7f5536b4b9b5 +0 -10
  393. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/argsOrArgArray_abd5775c2214bbc9529e7f5536b4b9b5.map +0 -1
  394. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/forkJoin_ab79df1ea741b3921af56378f47ac083 +0 -52
  395. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/forkJoin_ab79df1ea741b3921af56378f47ac083.map +0 -1
  396. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ae/scanInternals_ae3735574319bd024617b242f6f9f93b +0 -27
  397. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ae/scanInternals_ae3735574319bd024617b242f6f9f93b.map +0 -1
  398. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/af/withLatestFrom_af570814ca7c4209b836b726cd4d742c +0 -72
  399. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/af/withLatestFrom_af570814ca7c4209b836b726cd4d742c.map +0 -1
  400. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/args_b0aa0cda6f64d81b5a3ce9a1f1b5a1af +0 -22
  401. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/args_b0aa0cda6f64d81b5a3ce9a1f1b5a1af.map +0 -1
  402. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/concatWith_b0ad49aa785dead5921f467fc5deff89 +0 -43
  403. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/concatWith_b0ad49aa785dead5921f467fc5deff89.map +0 -1
  404. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/fromEvent_b0a59cb0e063c290accf4e07083172f5 +0 -87
  405. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/fromEvent_b0a59cb0e063c290accf4e07083172f5.map +0 -1
  406. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/bufferToggle_b398140d6a113f822cd7e55a219389eb +0 -69
  407. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/bufferToggle_b398140d6a113f822cd7e55a219389eb.map +0 -1
  408. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/mapTo_b35eaa231d63d7632d124fd0c9491899 +0 -10
  409. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/mapTo_b35eaa231d63d7632d124fd0c9491899.map +0 -1
  410. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/AsyncScheduler_b48e6adc2337360d93bc438e30261c9b +0 -58
  411. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/AsyncScheduler_b48e6adc2337360d93bc438e30261c9b.map +0 -1
  412. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/Notification_b4734e58b4d2c8624cb7168a139a0f5e +0 -77
  413. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/Notification_b4734e58b4d2c8624cb7168a139a0f5e.map +0 -1
  414. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/dematerialize_b49e3c0f02f78e9b7754a2f14dd20dc4 +0 -14
  415. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/dematerialize_b49e3c0f02f78e9b7754a2f14dd20dc4.map +0 -1
  416. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/errorContext_b5e662cfa00b7cb11e0375297f3e4bd0 +0 -34
  417. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/errorContext_b5e662cfa00b7cb11e0375297f3e4bd0.map +0 -1
  418. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/isObservable_b567e287f5b7463f88bd1726e06f5a53 +0 -11
  419. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/isObservable_b567e287f5b7463f88bd1726e06f5a53.map +0 -1
  420. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/bufferWhen_b600af3c63e2658f3ee46c1e2a5620db +0 -28
  421. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/bufferWhen_b600af3c63e2658f3ee46c1e2a5620db.map +0 -1
  422. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/concatAll_b6bada65d21367fa443476add9a9bb8f +0 -10
  423. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/concatAll_b6bada65d21367fa443476add9a9bb8f.map +0 -1
  424. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/eventdispatch_b7a6d5d3415dcade3b9c2dcbc1ec88cd +0 -1262
  425. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/eventdispatch_b7a6d5d3415dcade3b9c2dcbc1ec88cd.map +0 -7
  426. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/map_b732b01a086bf2d802b5e5372ddb5374 +0 -16
  427. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/map_b732b01a086bf2d802b5e5372ddb5374.map +0 -1
  428. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b9/testing_b9c34b8f3a2cff6e967d44b496301057 +0 -330
  429. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b9/testing_b9c34b8f3a2cff6e967d44b496301057.map +0 -7
  430. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ba/delayWhen_ba0e6b593adde7fb970f5426d08ba7bd +0 -20
  431. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ba/delayWhen_ba0e6b593adde7fb970f5426d08ba7bd.map +0 -1
  432. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/bb/from_bb50ad60e07cb6d360b7f208249429b2 +0 -11
  433. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/bb/from_bb50ad60e07cb6d360b7f208249429b2.map +0 -1
  434. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/be/zip_be7b4ff5badc5c041b9ee29ad7fedde5 +0 -79
  435. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/be/zip_be7b4ff5badc5c041b9ee29ad7fedde5.map +0 -1
  436. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c0/platformbrowser_c024fceb1a0fe262d4fa22aeba203bf8 +0 -759
  437. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c0/platformbrowser_c024fceb1a0fe262d4fa22aeba203bf8.map +0 -7
  438. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c2/platformbrowserdynamic_c293e204f07ffe93a61d7d2a97d63964 +0 -145
  439. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c2/platformbrowserdynamic_c293e204f07ffe93a61d7d2a97d63964.map +0 -7
  440. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/Immediate_c3da4258074ed597ed071241b4c35bef +0 -34
  441. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/Immediate_c3da4258074ed597ed071241b4c35bef.map +0 -1
  442. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/ignoreElements_c355b3624a679685bd1c25d33e6bde66 +0 -14
  443. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/ignoreElements_c355b3624a679685bd1c25d33e6bde66.map +0 -1
  444. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/findIndex_c534ebcb116500af4352aa6530e9041e +0 -11
  445. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/findIndex_c534ebcb116500af4352aa6530e9041e.map +0 -1
  446. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/observable_c5f77f53d42172356a26ee7b5f9eb0fe +0 -6
  447. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/observable_c5f77f53d42172356a26ee7b5f9eb0fe.map +0 -1
  448. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c7/async_c75f179ff8345a7facdf5722a76ce5eb +0 -9
  449. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c7/async_c75f179ff8345a7facdf5722a76ce5eb.map +0 -1
  450. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c8/publishReplay_c8c843986a226c800553c50bf0d4986a +0 -16
  451. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c8/publishReplay_c8c843986a226c800553c50bf0d4986a.map +0 -1
  452. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/switchMap_c9a61e10418ff0d233e9f37ce2564722 +0 -29
  453. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/switchMap_c9a61e10418ff0d233e9f37ce2564722.map +0 -1
  454. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/tap_c9701a92d0cb05c37b5e407d2612f461 +0 -45
  455. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/tap_c9701a92d0cb05c37b5e407d2612f461.map +0 -1
  456. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/throwIfEmpty_c95930779baae066280851a904dbeb3b +0 -24
  457. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/throwIfEmpty_c95930779baae066280851a904dbeb3b.map +0 -1
  458. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ca/performanceTimestampProvider_ca75d4b8a7737a06fe0103f57ecab207 +0 -11
  459. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ca/performanceTimestampProvider_ca75d4b8a7737a06fe0103f57ecab207.map +0 -1
  460. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cd/root_effect_scheduler_cd51ef0a8f200e1abf01dc277a3a5df9 +0 -2781
  461. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cd/root_effect_scheduler_cd51ef0a8f200e1abf01dc277a3a5df9.map +0 -7
  462. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ce/never_cee185710a6214c29143737c23fd4677 +0 -12
  463. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ce/never_cee185710a6214c29143737c23fd4677.map +0 -1
  464. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cf/router2_cf9d43bf1bbddffad92ce6f986903a05 +0 -4525
  465. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cf/router2_cf9d43bf1bbddffad92ce6f986903a05.map +0 -7
  466. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d0/raceWith_d051c9b953c1fd2639013e156ba6ae19 +0 -49
  467. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d0/raceWith_d051c9b953c1fd2639013e156ba6ae19.map +0 -1
  468. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d1/config_d1c9202c35f14e62ae850fe7743cae36 +0 -12
  469. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d1/config_d1c9202c35f14e62ae850fe7743cae36.map +0 -1
  470. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/AsapAction_d39639bf5f6b225cc38dc8c74d1af9a6 +0 -62
  471. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/AsapAction_d39639bf5f6b225cc38dc8c74d1af9a6.map +0 -1
  472. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/multicast_d36b647dfd33a398736534a046a02bf5 +0 -18
  473. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/multicast_d36b647dfd33a398736534a046a02bf5.map +0 -1
  474. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/index_d4a6e0403fbfbe6498f4f78f3d629738 +0 -233
  475. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/index_d4a6e0403fbfbe6498f4f78f3d629738.map +0 -1
  476. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/materialize_d43175ee753b655d51140c88bce1a6be +0 -22
  477. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/materialize_d43175ee753b655d51140c88bce1a6be.map +0 -1
  478. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d6/scheduleAsyncIterable_d6e81c64015c43541cba915cc3e31132 +0 -28
  479. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d6/scheduleAsyncIterable_d6e81c64015c43541cba915cc3e31132.map +0 -1
  480. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d7/combineLatestWith_d70435aa71a1b44c2f0fd0e5ace5c855 +0 -43
  481. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d7/combineLatestWith_d70435aa71a1b44c2f0fd0e5ace5c855.map +0 -1
  482. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/ObjectUnsubscribedError_d863d8d7ba62753dd49ed11452bb49ad +0 -13
  483. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/ObjectUnsubscribedError_d863d8d7ba62753dd49ed11452bb49ad.map +0 -1
  484. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/isReadableStreamLike_d8ac776d715d309f9290381eb737db32 +0 -135
  485. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/isReadableStreamLike_d8ac776d715d309f9290381eb737db32.map +0 -1
  486. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/mergeWith_d8c7619538423a1bf26f2b9af57b6d25 +0 -43
  487. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/mergeWith_d8c7619538423a1bf26f2b9af57b6d25.map +0 -1
  488. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/xhr_d8832649622efe3fcd143809f0f87fd4 +0 -42
  489. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/xhr_d8832649622efe3fcd143809f0f87fd4.map +0 -7
  490. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/zipAll_d804e1eccf146187e7358ac19aa173b3 +0 -11
  491. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/zipAll_d804e1eccf146187e7358ac19aa173b3.map +0 -1
  492. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/compiler_d92e4c0e6e7f4c5772f2508286502b68 +0 -30180
  493. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/compiler_d92e4c0e6e7f4c5772f2508286502b68.map +0 -7
  494. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/elementAt_d986766ccbe2107bdc7f5e669337600e +0 -20
  495. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/elementAt_d986766ccbe2107bdc7f5e669337600e.map +0 -1
  496. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/db/executeSchedule_dbf7f93b0f5675ff5dd1cf6436806ec5 +0 -27
  497. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/db/executeSchedule_dbf7f93b0f5675ff5dd1cf6436806ec5.map +0 -1
  498. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dc/bufferCount_dc0ef20dd5330da45bc2ce43a89e3e50 +0 -109
  499. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dc/bufferCount_dc0ef20dd5330da45bc2ce43a89e3e50.map +0 -1
  500. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dd/combineLatest_ddac0381b2fcc357b2049905db6355f8 +0 -78
  501. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dd/combineLatest_ddac0381b2fcc357b2049905db6355f8.map +0 -1
  502. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/df/timeoutWith_df6ef9efc665a029df8ca430438b5e2f +0 -36
  503. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/df/timeoutWith_df6ef9efc665a029df8ca430438b5e2f.map +0 -1
  504. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e1/mergeInternals_e19ab8fb8b32e55949601e89605352ec +0 -66
  505. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e1/mergeInternals_e19ab8fb8b32e55949601e89605352ec.map +0 -1
  506. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/empty_e2792d620e14eba9bb559f5122b2c3cb +0 -14
  507. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/empty_e2792d620e14eba9bb559f5122b2c3cb.map +0 -1
  508. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/retryWhen_e2032835cf0c34e73ce7119acf419768 +0 -37
  509. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/retryWhen_e2032835cf0c34e73ce7119acf419768.map +0 -1
  510. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e3/SequenceError_e36656846dc4f82f2b68577130e16686 +0 -13
  511. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e3/SequenceError_e36656846dc4f82f2b68577130e16686.map +0 -1
  512. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/bindNodeCallback_e52282e47a455913b29058a2a317f57d +0 -10
  513. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/bindNodeCallback_e52282e47a455913b29058a2a317f57d.map +0 -1
  514. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/merge_e588ad7be7a101e8cd64100ee5ccd900 +0 -28
  515. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/merge_e588ad7be7a101e8cd64100ee5ccd900.map +0 -1
  516. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/refCount_e59caf6d2da72ecc70af816bec0f59cf +0 -31
  517. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/refCount_e59caf6d2da72ecc70af816bec0f59cf.map +0 -1
  518. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e6/authenticationconfig_e61ac491e3ffa80028d768cb76d35be4 +0 -241
  519. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e6/authenticationconfig_e61ac491e3ffa80028d768cb76d35be4.map +0 -1
  520. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e7/finalize_e722a897efe5058701cb7bd1994377c5 +0 -17
  521. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e7/finalize_e722a897efe5058701cb7bd1994377c5.map +0 -1
  522. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e9/common_module_e95b66602cfdfe1dc86f7d88b9daba39 +0 -2817
  523. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e9/common_module_e95b66602cfdfe1dc86f7d88b9daba39.map +0 -7
  524. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/index_eb85d2667ebd581897f23dd840905668 +0 -363
  525. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/index_eb85d2667ebd581897f23dd840905668.map +0 -1
  526. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/setupjest_eb921e8057ec61c0cb0a6b18b615e94d +0 -65
  527. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/setupjest_eb921e8057ec61c0cb0a6b18b615e94d.map +0 -1
  528. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ec/http_ec606ed9a5da539b70c571c1db03c6c3 +0 -411
  529. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ec/http_ec606ed9a5da539b70c571c1db03c6c3.map +0 -7
  530. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ed/first_ed8d191ff8c8fcd5257867021e5d7644 +0 -18
  531. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ed/first_ed8d191ff8c8fcd5257867021e5d7644.map +0 -1
  532. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ee/argsArgArrayOrObject_eee0e6f9213cd3248bb235a57c58fe9d +0 -27
  533. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ee/argsArgArrayOrObject_eee0e6f9213cd3248bb235a57c58fe9d.map +0 -1
  534. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/ConnectableObservable_f019284d46b19e0ac701f4e5f966877b +0 -83
  535. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/ConnectableObservable_f019284d46b19e0ac701f4e5f966877b.map +0 -1
  536. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/bindCallbackInternals_f09fffe73e1327185aa6b27297978a6b +0 -112
  537. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/bindCallbackInternals_f09fffe73e1327185aa6b27297978a6b.map +0 -1
  538. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/VirtualTimeScheduler_f1e0966a6811c115d2e1b987a5bccbb1 +0 -136
  539. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/VirtualTimeScheduler_f1e0966a6811c115d2e1b987a5bccbb1.map +0 -1
  540. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/auditTime_f1f81974926fcabf16721c844c492587 +0 -15
  541. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/auditTime_f1f81974926fcabf16721c844c492587.map +0 -1
  542. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f3/switchAll_f36891bbdd859d95639bf39ea11871b3 +0 -11
  543. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f3/switchAll_f36891bbdd859d95639bf39ea11871b3.map +0 -1
  544. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f5/isDate_f580e5e8dd37953d4077ccfd3d2f3238 +0 -9
  545. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f5/isDate_f580e5e8dd37953d4077ccfd3d2f3238.map +0 -1
  546. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f6/onErrorResumeNext_f67503f4ac86fb2327db7b977000463a +0 -40
  547. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f6/onErrorResumeNext_f67503f4ac86fb2327db7b977000463a.map +0 -1
  548. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fa/AnimationFrameScheduler_fa55eaf8d3b76acc48dc461757443954 +0 -57
  549. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fa/AnimationFrameScheduler_fa55eaf8d3b76acc48dc461757443954.map +0 -1
  550. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fb/sample_fb860d84458eeb36b477dfa74a843530 +0 -28
  551. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fb/sample_fb860d84458eeb36b477dfa74a843530.map +0 -1
  552. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/QueueScheduler_fc41cc77a1da1827c68511ec446c61cb +0 -31
  553. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/QueueScheduler_fc41cc77a1da1827c68511ec446c61cb.map +0 -1
  554. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/logincomponent_fc5f1b609a4695ceb7718cf57818ef14 +0 -1951
  555. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/logincomponent_fc5f1b609a4695ceb7718cf57818ef14.map +0 -1
  556. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fd/createObject_fd09005888b3a1482b913bc7416cf93d +0 -9
  557. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fd/createObject_fd09005888b3a1482b913bc7416cf93d.map +0 -1
  558. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/subscribeOn_ff90b699bad608d185d3faa4c04f1b20 +0 -15
  559. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/subscribeOn_ff90b699bad608d185d3faa4c04f1b20.map +0 -1
  560. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/throwError_ff75e4c919422c524c63fa2e532e31b5 +0 -13
  561. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/throwError_ff75e4c919422c524c63fa2e532e31b5.map +0 -1
  562. package/.jest-cache/perf-cache-9a3a3745ceefdbbde8dc96f3a11cb645-da39a3ee5e6b4b0d3255bfef95601890 +0 -1
  563. package/.nx/nxw.js +0 -116
  564. package/coverage/base.css +0 -224
  565. package/coverage/block-navigation.js +0 -87
  566. package/coverage/favicon.png +0 -0
  567. package/coverage/index.html +0 -206
  568. package/coverage/junit.xml +0 -1540
  569. package/coverage/lcov-report/base.css +0 -224
  570. package/coverage/lcov-report/block-navigation.js +0 -87
  571. package/coverage/lcov-report/favicon.png +0 -0
  572. package/coverage/lcov-report/index.html +0 -206
  573. package/coverage/lcov-report/lib/components/dashboard/dashboard.component.ts.html +0 -943
  574. package/coverage/lcov-report/lib/components/dashboard/index.html +0 -116
  575. package/coverage/lcov-report/lib/components/login/index.html +0 -116
  576. package/coverage/lcov-report/lib/components/login/login.component.ts.html +0 -451
  577. package/coverage/lcov-report/lib/config/app.config.ts.html +0 -889
  578. package/coverage/lcov-report/lib/config/authentication.config.ts.html +0 -262
  579. package/coverage/lcov-report/lib/config/index.html +0 -131
  580. package/coverage/lcov-report/lib/guards/authorization.guard.ts.html +0 -178
  581. package/coverage/lcov-report/lib/guards/index.html +0 -116
  582. package/coverage/lcov-report/lib/index.html +0 -116
  583. package/coverage/lcov-report/lib/models/index.html +0 -116
  584. package/coverage/lcov-report/lib/models/login-config.interface.ts.html +0 -307
  585. package/coverage/lcov-report/lib/services/authentication.service.ts.html +0 -973
  586. package/coverage/lcov-report/lib/services/authorization.service.ts.html +0 -634
  587. package/coverage/lcov-report/lib/services/config.service.ts.html +0 -316
  588. package/coverage/lcov-report/lib/services/index.html +0 -146
  589. package/coverage/lcov-report/lib/version.ts.html +0 -148
  590. package/coverage/lcov-report/prettify.css +0 -1
  591. package/coverage/lcov-report/prettify.js +0 -2
  592. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  593. package/coverage/lcov-report/sorter.js +0 -210
  594. package/coverage/lcov.info +0 -1060
  595. package/coverage/lib/components/dashboard/dashboard.component.ts.html +0 -943
  596. package/coverage/lib/components/dashboard/index.html +0 -116
  597. package/coverage/lib/components/login/index.html +0 -116
  598. package/coverage/lib/components/login/login.component.ts.html +0 -451
  599. package/coverage/lib/config/app.config.ts.html +0 -889
  600. package/coverage/lib/config/authentication.config.ts.html +0 -262
  601. package/coverage/lib/config/index.html +0 -131
  602. package/coverage/lib/guards/authorization.guard.ts.html +0 -178
  603. package/coverage/lib/guards/index.html +0 -116
  604. package/coverage/lib/index.html +0 -116
  605. package/coverage/lib/models/index.html +0 -116
  606. package/coverage/lib/models/login-config.interface.ts.html +0 -307
  607. package/coverage/lib/services/authentication.service.ts.html +0 -973
  608. package/coverage/lib/services/authorization.service.ts.html +0 -634
  609. package/coverage/lib/services/config.service.ts.html +0 -316
  610. package/coverage/lib/services/index.html +0 -146
  611. package/coverage/lib/version.ts.html +0 -148
  612. package/coverage/prettify.css +0 -1
  613. package/coverage/prettify.js +0 -2
  614. package/coverage/sort-arrow-sprite.png +0 -0
  615. package/coverage/sorter.js +0 -210
  616. package/dist/README.md +0 -276
  617. package/dist/src/assets/logo-mh.png +0 -0
  618. package/dist/src/lib/styles/_auth.scss +0 -188
  619. package/dist/src/lib/styles/_dashboard.scss +0 -276
  620. package/dist/src/lib/styles/_index.scss +0 -12
  621. package/dist/src/lib/styles/_tokens.scss +0 -143
  622. package/jest.config.js +0 -99
  623. package/ng-package.json +0 -12
  624. package/nx +0 -5
  625. package/nx.bat +0 -10
  626. package/nx.json +0 -5
  627. package/scripts/sync-version.js +0 -54
  628. package/setup-jest.ts +0 -70
  629. package/sonar-project.properties +0 -33
  630. package/src/lib/components/dashboard/dashboard.component.html +0 -256
  631. package/src/lib/components/dashboard/dashboard.component.scss +0 -623
  632. package/src/lib/components/dashboard/dashboard.component.spec.ts +0 -255
  633. package/src/lib/components/dashboard/dashboard.component.ts +0 -286
  634. package/src/lib/components/index.ts +0 -2
  635. package/src/lib/components/login/login.component.html +0 -85
  636. package/src/lib/components/login/login.component.scss +0 -286
  637. package/src/lib/components/login/login.component.spec.ts +0 -144
  638. package/src/lib/components/login/login.component.ts +0 -122
  639. package/src/lib/config/app.config.ts +0 -320
  640. package/src/lib/config/authentication.config.ts +0 -59
  641. package/src/lib/config/index.ts +0 -2
  642. package/src/lib/guards/authorization.guard.ts +0 -31
  643. package/src/lib/guards/index.ts +0 -1
  644. package/src/lib/models/app-config.interface.ts +0 -61
  645. package/src/lib/models/authorization.interface.ts +0 -40
  646. package/src/lib/models/index.ts +0 -4
  647. package/src/lib/models/library-config.interface.ts +0 -104
  648. package/src/lib/models/login-config.interface.ts +0 -74
  649. package/src/lib/services/authentication.service.spec.ts +0 -201
  650. package/src/lib/services/authentication.service.ts +0 -296
  651. package/src/lib/services/authorization.service.spec.ts +0 -239
  652. package/src/lib/services/authorization.service.ts +0 -183
  653. package/src/lib/services/config.service.spec.ts +0 -99
  654. package/src/lib/services/config.service.ts +0 -77
  655. package/src/lib/services/index.ts +0 -3
  656. package/src/lib/version.ts +0 -21
  657. package/src/public-api.ts +0 -75
  658. package/tsconfig.json +0 -33
  659. package/tsconfig.spec.json +0 -16
@@ -1,2766 +0,0 @@
1
- e71f1c592f81af9c049d8c28484f6dd5
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from2, except, desc) => {
13
- if (from2 && typeof from2 === "object" || typeof from2 === "function") {
14
- for (let key of __getOwnPropNames(from2))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var __async = (__this, __arguments, generator) => {
30
- return new Promise((resolve, reject) => {
31
- var fulfilled = (value) => {
32
- try {
33
- step(generator.next(value));
34
- } catch (e) {
35
- reject(e);
36
- }
37
- };
38
- var rejected = (value) => {
39
- try {
40
- step(generator.throw(value));
41
- } catch (e) {
42
- reject(e);
43
- }
44
- };
45
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
46
- step((generator = generator.apply(__this, __arguments)).next());
47
- });
48
- };
49
- var angular_oauth2_oidc_exports = {};
50
- __export(angular_oauth2_oidc_exports, {
51
- AUTH_CONFIG: () => AUTH_CONFIG,
52
- AbstractValidationHandler: () => AbstractValidationHandler,
53
- AuthConfig: () => AuthConfig,
54
- DateTimeProvider: () => DateTimeProvider,
55
- DefaultHashHandler: () => DefaultHashHandler,
56
- DefaultOAuthInterceptor: () => DefaultOAuthInterceptor,
57
- HashHandler: () => HashHandler,
58
- JwksValidationHandler: () => JwksValidationHandler,
59
- LoginOptions: () => LoginOptions,
60
- MemoryStorage: () => MemoryStorage,
61
- NullValidationHandler: () => NullValidationHandler,
62
- OAuthErrorEvent: () => OAuthErrorEvent,
63
- OAuthEvent: () => OAuthEvent,
64
- OAuthInfoEvent: () => OAuthInfoEvent,
65
- OAuthLogger: () => OAuthLogger,
66
- OAuthModule: () => OAuthModule,
67
- OAuthModuleConfig: () => OAuthModuleConfig,
68
- OAuthNoopResourceServerErrorHandler: () => OAuthNoopResourceServerErrorHandler,
69
- OAuthResourceServerConfig: () => OAuthResourceServerConfig,
70
- OAuthResourceServerErrorHandler: () => OAuthResourceServerErrorHandler,
71
- OAuthService: () => OAuthService,
72
- OAuthStorage: () => OAuthStorage,
73
- OAuthSuccessEvent: () => OAuthSuccessEvent,
74
- ReceivedTokens: () => ReceivedTokens,
75
- SystemDateTimeProvider: () => SystemDateTimeProvider,
76
- UrlHelperService: () => UrlHelperService,
77
- ValidationHandler: () => ValidationHandler,
78
- provideOAuthClient: () => provideOAuthClient
79
- });
80
- module.exports = __toCommonJS(angular_oauth2_oidc_exports);
81
- var i0 = __toESM(require("@angular/core"), 1);
82
- var import_core = require("@angular/core");
83
- var import_common = require("@angular/common");
84
- var i1 = __toESM(require("@angular/common/http"), 1);
85
- var import_http = require("@angular/common/http");
86
- var import_rxjs = require("rxjs");
87
- var import_operators = require("rxjs/operators");
88
- class NullValidationHandler {
89
- validateSignature(validationParams) {
90
- return Promise.resolve(null);
91
- }
92
- validateAtHash(validationParams) {
93
- return Promise.resolve(true);
94
- }
95
- }
96
- class OAuthModuleConfig {
97
- }
98
- class OAuthResourceServerConfig {
99
- }
100
- class DateTimeProvider {
101
- }
102
- const _SystemDateTimeProvider = class _SystemDateTimeProvider extends DateTimeProvider {
103
- now() {
104
- return Date.now();
105
- }
106
- new() {
107
- return /* @__PURE__ */ new Date();
108
- }
109
- };
110
- _SystemDateTimeProvider.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _SystemDateTimeProvider, deps: null, target: i0.\u0275\u0275FactoryTarget.Injectable });
111
- _SystemDateTimeProvider.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _SystemDateTimeProvider });
112
- let SystemDateTimeProvider = _SystemDateTimeProvider;
113
- i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: SystemDateTimeProvider, decorators: [{
114
- type: import_core.Injectable
115
- }] });
116
- class LoginOptions {
117
- constructor() {
118
- this.disableNonceCheck = false;
119
- this.preventClearHashAfterLogin = false;
120
- }
121
- }
122
- class OAuthLogger {
123
- }
124
- class OAuthStorage {
125
- }
126
- const _MemoryStorage = class _MemoryStorage {
127
- constructor() {
128
- this.data = /* @__PURE__ */ new Map();
129
- }
130
- getItem(key) {
131
- return this.data.get(key);
132
- }
133
- removeItem(key) {
134
- this.data.delete(key);
135
- }
136
- setItem(key, data) {
137
- this.data.set(key, data);
138
- }
139
- };
140
- _MemoryStorage.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _MemoryStorage, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable });
141
- _MemoryStorage.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _MemoryStorage });
142
- let MemoryStorage = _MemoryStorage;
143
- i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: MemoryStorage, decorators: [{
144
- type: import_core.Injectable
145
- }] });
146
- class ReceivedTokens {
147
- }
148
- class OAuthEvent {
149
- constructor(type) {
150
- this.type = type;
151
- }
152
- }
153
- class OAuthSuccessEvent extends OAuthEvent {
154
- constructor(type, info = null) {
155
- super(type);
156
- this.info = info;
157
- }
158
- }
159
- class OAuthInfoEvent extends OAuthEvent {
160
- constructor(type, info = null) {
161
- super(type);
162
- this.info = info;
163
- }
164
- }
165
- class OAuthErrorEvent extends OAuthEvent {
166
- constructor(type, reason, params = null) {
167
- super(type);
168
- this.reason = reason;
169
- this.params = params;
170
- }
171
- }
172
- function b64DecodeUnicode(str) {
173
- const base64 = str.replace(/-/g, "+").replace(/_/g, "/");
174
- return decodeURIComponent(atob(base64).split("").map(function(c) {
175
- return "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2);
176
- }).join(""));
177
- }
178
- function base64UrlEncode(str) {
179
- const base64 = btoa(str);
180
- return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
181
- }
182
- class AuthConfig {
183
- constructor(json) {
184
- this.clientId = "";
185
- this.redirectUri = "";
186
- this.postLogoutRedirectUri = "";
187
- this.redirectUriAsPostLogoutRedirectUriFallback = true;
188
- this.loginUrl = "";
189
- this.scope = "openid profile";
190
- this.resource = "";
191
- this.rngUrl = "";
192
- this.oidc = true;
193
- this.requestAccessToken = true;
194
- this.options = null;
195
- this.issuer = "";
196
- this.logoutUrl = "";
197
- this.clearHashAfterLogin = true;
198
- this.tokenEndpoint = null;
199
- this.revocationEndpoint = null;
200
- this.customTokenParameters = [];
201
- this.userinfoEndpoint = null;
202
- this.responseType = "";
203
- this.showDebugInformation = false;
204
- this.silentRefreshRedirectUri = "";
205
- this.silentRefreshMessagePrefix = "";
206
- this.silentRefreshShowIFrame = false;
207
- this.siletRefreshTimeout = 1e3 * 20;
208
- this.silentRefreshTimeout = 1e3 * 20;
209
- this.dummyClientSecret = "";
210
- this.requireHttps = "remoteOnly";
211
- this.strictDiscoveryDocumentValidation = true;
212
- this.jwks = null;
213
- this.customQueryParams = null;
214
- this.silentRefreshIFrameName = "angular-oauth-oidc-silent-refresh-iframe";
215
- this.timeoutFactor = 0.75;
216
- this.sessionChecksEnabled = false;
217
- this.sessionCheckIntervall = 3 * 1e3;
218
- this.sessionCheckIFrameUrl = null;
219
- this.sessionCheckIFrameName = "angular-oauth-oidc-check-session-iframe";
220
- this.disableAtHashCheck = false;
221
- this.skipSubjectCheck = false;
222
- this.useIdTokenHintForSilentRefresh = false;
223
- this.skipIssuerCheck = false;
224
- this.nonceStateSeparator = ";";
225
- this.useHttpBasicAuth = false;
226
- this.decreaseExpirationBySec = 0;
227
- this.waitForTokenInMsec = 0;
228
- this.disablePKCE = false;
229
- this.preserveRequestedRoute = false;
230
- this.disableIdTokenTimer = false;
231
- this.checkOrigin = false;
232
- this.openUri = (uri) => {
233
- location.href = uri;
234
- };
235
- if (json) {
236
- Object.assign(this, json);
237
- }
238
- }
239
- }
240
- class WebHttpUrlEncodingCodec {
241
- encodeKey(k) {
242
- return encodeURIComponent(k);
243
- }
244
- encodeValue(v) {
245
- return encodeURIComponent(v);
246
- }
247
- decodeKey(k) {
248
- return decodeURIComponent(k);
249
- }
250
- decodeValue(v) {
251
- return decodeURIComponent(v);
252
- }
253
- }
254
- class ValidationHandler {
255
- }
256
- class AbstractValidationHandler {
257
- /**
258
- * Validates the at_hash in an id_token against the received access_token.
259
- */
260
- validateAtHash(params) {
261
- return __async(this, null, function* () {
262
- const hashAlg = this.inferHashAlgorithm(params.idTokenHeader);
263
- const tokenHash = yield this.calcHash(params.accessToken, hashAlg);
264
- const leftMostHalf = tokenHash.substr(0, tokenHash.length / 2);
265
- const atHash = base64UrlEncode(leftMostHalf);
266
- const claimsAtHash = params.idTokenClaims["at_hash"].replace(/=/g, "");
267
- if (atHash !== claimsAtHash) {
268
- console.error("exptected at_hash: " + atHash);
269
- console.error("actual at_hash: " + claimsAtHash);
270
- }
271
- return atHash === claimsAtHash;
272
- });
273
- }
274
- /**
275
- * Infers the name of the hash algorithm to use
276
- * from the alg field of an id_token.
277
- *
278
- * @param jwtHeader the id_token's parsed header
279
- */
280
- inferHashAlgorithm(jwtHeader) {
281
- const alg = jwtHeader["alg"];
282
- if (!alg.match(/^.S[0-9]{3}$/)) {
283
- throw new Error("Algorithm not supported: " + alg);
284
- }
285
- return "sha-" + alg.substr(2);
286
- }
287
- }
288
- const _UrlHelperService = class _UrlHelperService {
289
- getHashFragmentParams(customHashFragment) {
290
- let hash2 = customHashFragment || window.location.hash;
291
- hash2 = decodeURIComponent(hash2);
292
- if (hash2.indexOf("#") !== 0) {
293
- return {};
294
- }
295
- const questionMarkPosition = hash2.indexOf("?");
296
- if (questionMarkPosition > -1) {
297
- hash2 = hash2.substr(questionMarkPosition + 1);
298
- } else {
299
- hash2 = hash2.substr(1);
300
- }
301
- return this.parseQueryString(hash2);
302
- }
303
- parseQueryString(queryString) {
304
- const data = {};
305
- let pair, separatorIndex, escapedKey, escapedValue, key, value;
306
- if (queryString === null) {
307
- return data;
308
- }
309
- const pairs = queryString.split("&");
310
- for (let i = 0; i < pairs.length; i++) {
311
- pair = pairs[i];
312
- separatorIndex = pair.indexOf("=");
313
- if (separatorIndex === -1) {
314
- escapedKey = pair;
315
- escapedValue = null;
316
- } else {
317
- escapedKey = pair.substr(0, separatorIndex);
318
- escapedValue = pair.substr(separatorIndex + 1);
319
- }
320
- key = decodeURIComponent(escapedKey);
321
- value = decodeURIComponent(escapedValue);
322
- if (key.substr(0, 1) === "/") {
323
- key = key.substr(1);
324
- }
325
- data[key] = value;
326
- }
327
- return data;
328
- }
329
- };
330
- _UrlHelperService.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _UrlHelperService, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable });
331
- _UrlHelperService.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _UrlHelperService });
332
- let UrlHelperService = _UrlHelperService;
333
- i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: UrlHelperService, decorators: [{
334
- type: import_core.Injectable
335
- }] });
336
- const digestLength = 32;
337
- const blockSize = 64;
338
- const K = new Uint32Array([
339
- 1116352408,
340
- 1899447441,
341
- 3049323471,
342
- 3921009573,
343
- 961987163,
344
- 1508970993,
345
- 2453635748,
346
- 2870763221,
347
- 3624381080,
348
- 310598401,
349
- 607225278,
350
- 1426881987,
351
- 1925078388,
352
- 2162078206,
353
- 2614888103,
354
- 3248222580,
355
- 3835390401,
356
- 4022224774,
357
- 264347078,
358
- 604807628,
359
- 770255983,
360
- 1249150122,
361
- 1555081692,
362
- 1996064986,
363
- 2554220882,
364
- 2821834349,
365
- 2952996808,
366
- 3210313671,
367
- 3336571891,
368
- 3584528711,
369
- 113926993,
370
- 338241895,
371
- 666307205,
372
- 773529912,
373
- 1294757372,
374
- 1396182291,
375
- 1695183700,
376
- 1986661051,
377
- 2177026350,
378
- 2456956037,
379
- 2730485921,
380
- 2820302411,
381
- 3259730800,
382
- 3345764771,
383
- 3516065817,
384
- 3600352804,
385
- 4094571909,
386
- 275423344,
387
- 430227734,
388
- 506948616,
389
- 659060556,
390
- 883997877,
391
- 958139571,
392
- 1322822218,
393
- 1537002063,
394
- 1747873779,
395
- 1955562222,
396
- 2024104815,
397
- 2227730452,
398
- 2361852424,
399
- 2428436474,
400
- 2756734187,
401
- 3204031479,
402
- 3329325298
403
- ]);
404
- function hashBlocks(w, v, p, pos, len) {
405
- let a, b, c, d, e, f, g, h, u, i, j, t1, t2;
406
- while (len >= 64) {
407
- a = v[0];
408
- b = v[1];
409
- c = v[2];
410
- d = v[3];
411
- e = v[4];
412
- f = v[5];
413
- g = v[6];
414
- h = v[7];
415
- for (i = 0; i < 16; i++) {
416
- j = pos + i * 4;
417
- w[i] = (p[j] & 255) << 24 | (p[j + 1] & 255) << 16 | (p[j + 2] & 255) << 8 | p[j + 3] & 255;
418
- }
419
- for (i = 16; i < 64; i++) {
420
- u = w[i - 2];
421
- t1 = (u >>> 17 | u << 32 - 17) ^ (u >>> 19 | u << 32 - 19) ^ u >>> 10;
422
- u = w[i - 15];
423
- t2 = (u >>> 7 | u << 32 - 7) ^ (u >>> 18 | u << 32 - 18) ^ u >>> 3;
424
- w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);
425
- }
426
- for (i = 0; i < 64; i++) {
427
- t1 = (((e >>> 6 | e << 32 - 6) ^ (e >>> 11 | e << 32 - 11) ^ (e >>> 25 | e << 32 - 25)) + (e & f ^ ~e & g) | 0) + (h + (K[i] + w[i] | 0) | 0) | 0;
428
- t2 = ((a >>> 2 | a << 32 - 2) ^ (a >>> 13 | a << 32 - 13) ^ (a >>> 22 | a << 32 - 22)) + (a & b ^ a & c ^ b & c) | 0;
429
- h = g;
430
- g = f;
431
- f = e;
432
- e = d + t1 | 0;
433
- d = c;
434
- c = b;
435
- b = a;
436
- a = t1 + t2 | 0;
437
- }
438
- v[0] += a;
439
- v[1] += b;
440
- v[2] += c;
441
- v[3] += d;
442
- v[4] += e;
443
- v[5] += f;
444
- v[6] += g;
445
- v[7] += h;
446
- pos += 64;
447
- len -= 64;
448
- }
449
- return pos;
450
- }
451
- class Hash {
452
- constructor() {
453
- this.digestLength = digestLength;
454
- this.blockSize = blockSize;
455
- this.state = new Int32Array(8);
456
- this.temp = new Int32Array(64);
457
- this.buffer = new Uint8Array(128);
458
- this.bufferLength = 0;
459
- this.bytesHashed = 0;
460
- this.finished = false;
461
- this.reset();
462
- }
463
- // Resets hash state making it possible
464
- // to re-use this instance to hash other data.
465
- reset() {
466
- this.state[0] = 1779033703;
467
- this.state[1] = 3144134277;
468
- this.state[2] = 1013904242;
469
- this.state[3] = 2773480762;
470
- this.state[4] = 1359893119;
471
- this.state[5] = 2600822924;
472
- this.state[6] = 528734635;
473
- this.state[7] = 1541459225;
474
- this.bufferLength = 0;
475
- this.bytesHashed = 0;
476
- this.finished = false;
477
- return this;
478
- }
479
- // Cleans internal buffers and re-initializes hash state.
480
- clean() {
481
- for (let i = 0; i < this.buffer.length; i++) {
482
- this.buffer[i] = 0;
483
- }
484
- for (let i = 0; i < this.temp.length; i++) {
485
- this.temp[i] = 0;
486
- }
487
- this.reset();
488
- }
489
- // Updates hash state with the given data.
490
- //
491
- // Optionally, length of the data can be specified to hash
492
- // fewer bytes than data.length.
493
- //
494
- // Throws error when trying to update already finalized hash:
495
- // instance must be reset to use it again.
496
- update(data, dataLength = data.length) {
497
- if (this.finished) {
498
- throw new Error("SHA256: can't update because hash was finished.");
499
- }
500
- let dataPos = 0;
501
- this.bytesHashed += dataLength;
502
- if (this.bufferLength > 0) {
503
- while (this.bufferLength < 64 && dataLength > 0) {
504
- this.buffer[this.bufferLength++] = data[dataPos++];
505
- dataLength--;
506
- }
507
- if (this.bufferLength === 64) {
508
- hashBlocks(this.temp, this.state, this.buffer, 0, 64);
509
- this.bufferLength = 0;
510
- }
511
- }
512
- if (dataLength >= 64) {
513
- dataPos = hashBlocks(this.temp, this.state, data, dataPos, dataLength);
514
- dataLength %= 64;
515
- }
516
- while (dataLength > 0) {
517
- this.buffer[this.bufferLength++] = data[dataPos++];
518
- dataLength--;
519
- }
520
- return this;
521
- }
522
- // Finalizes hash state and puts hash into out.
523
- //
524
- // If hash was already finalized, puts the same value.
525
- finish(out) {
526
- if (!this.finished) {
527
- const bytesHashed = this.bytesHashed;
528
- const left = this.bufferLength;
529
- const bitLenHi = bytesHashed / 536870912 | 0;
530
- const bitLenLo = bytesHashed << 3;
531
- const padLength = bytesHashed % 64 < 56 ? 64 : 128;
532
- this.buffer[left] = 128;
533
- for (let i = left + 1; i < padLength - 8; i++) {
534
- this.buffer[i] = 0;
535
- }
536
- this.buffer[padLength - 8] = bitLenHi >>> 24 & 255;
537
- this.buffer[padLength - 7] = bitLenHi >>> 16 & 255;
538
- this.buffer[padLength - 6] = bitLenHi >>> 8 & 255;
539
- this.buffer[padLength - 5] = bitLenHi >>> 0 & 255;
540
- this.buffer[padLength - 4] = bitLenLo >>> 24 & 255;
541
- this.buffer[padLength - 3] = bitLenLo >>> 16 & 255;
542
- this.buffer[padLength - 2] = bitLenLo >>> 8 & 255;
543
- this.buffer[padLength - 1] = bitLenLo >>> 0 & 255;
544
- hashBlocks(this.temp, this.state, this.buffer, 0, padLength);
545
- this.finished = true;
546
- }
547
- for (let i = 0; i < 8; i++) {
548
- out[i * 4 + 0] = this.state[i] >>> 24 & 255;
549
- out[i * 4 + 1] = this.state[i] >>> 16 & 255;
550
- out[i * 4 + 2] = this.state[i] >>> 8 & 255;
551
- out[i * 4 + 3] = this.state[i] >>> 0 & 255;
552
- }
553
- return this;
554
- }
555
- // Returns the final hash digest.
556
- digest() {
557
- const out = new Uint8Array(this.digestLength);
558
- this.finish(out);
559
- return out;
560
- }
561
- // Internal function for use in HMAC for optimization.
562
- _saveState(out) {
563
- for (let i = 0; i < this.state.length; i++) {
564
- out[i] = this.state[i];
565
- }
566
- }
567
- // Internal function for use in HMAC for optimization.
568
- _restoreState(from2, bytesHashed) {
569
- for (let i = 0; i < this.state.length; i++) {
570
- this.state[i] = from2[i];
571
- }
572
- this.bytesHashed = bytesHashed;
573
- this.finished = false;
574
- this.bufferLength = 0;
575
- }
576
- }
577
- class HMAC {
578
- constructor(key) {
579
- this.inner = new Hash();
580
- this.outer = new Hash();
581
- this.blockSize = this.inner.blockSize;
582
- this.digestLength = this.inner.digestLength;
583
- const pad = new Uint8Array(this.blockSize);
584
- if (key.length > this.blockSize) {
585
- new Hash().update(key).finish(pad).clean();
586
- } else {
587
- for (let i = 0; i < key.length; i++) {
588
- pad[i] = key[i];
589
- }
590
- }
591
- for (let i = 0; i < pad.length; i++) {
592
- pad[i] ^= 54;
593
- }
594
- this.inner.update(pad);
595
- for (let i = 0; i < pad.length; i++) {
596
- pad[i] ^= 54 ^ 92;
597
- }
598
- this.outer.update(pad);
599
- this.istate = new Uint32Array(8);
600
- this.ostate = new Uint32Array(8);
601
- this.inner._saveState(this.istate);
602
- this.outer._saveState(this.ostate);
603
- for (let i = 0; i < pad.length; i++) {
604
- pad[i] = 0;
605
- }
606
- }
607
- // Returns HMAC state to the state initialized with key
608
- // to make it possible to run HMAC over the other data with the same
609
- // key without creating a new instance.
610
- reset() {
611
- this.inner._restoreState(this.istate, this.inner.blockSize);
612
- this.outer._restoreState(this.ostate, this.outer.blockSize);
613
- return this;
614
- }
615
- // Cleans HMAC state.
616
- clean() {
617
- for (let i = 0; i < this.istate.length; i++) {
618
- this.ostate[i] = this.istate[i] = 0;
619
- }
620
- this.inner.clean();
621
- this.outer.clean();
622
- }
623
- // Updates state with provided data.
624
- update(data) {
625
- this.inner.update(data);
626
- return this;
627
- }
628
- // Finalizes HMAC and puts the result in out.
629
- finish(out) {
630
- if (this.outer.finished) {
631
- this.outer.finish(out);
632
- } else {
633
- this.inner.finish(out);
634
- this.outer.update(out, this.digestLength).finish(out);
635
- }
636
- return this;
637
- }
638
- // Returns message authentication code.
639
- digest() {
640
- const out = new Uint8Array(this.digestLength);
641
- this.finish(out);
642
- return out;
643
- }
644
- }
645
- function hash(data) {
646
- const h = new Hash().update(data);
647
- const digest = h.digest();
648
- h.clean();
649
- return digest;
650
- }
651
- function hmac(key, data) {
652
- const h = new HMAC(key).update(data);
653
- const digest = h.digest();
654
- h.clean();
655
- return digest;
656
- }
657
- function fillBuffer(buffer, hmac2, info, counter) {
658
- const num = counter[0];
659
- if (num === 0) {
660
- throw new Error("hkdf: cannot expand more");
661
- }
662
- hmac2.reset();
663
- if (num > 1) {
664
- hmac2.update(buffer);
665
- }
666
- if (info) {
667
- hmac2.update(info);
668
- }
669
- hmac2.update(counter);
670
- hmac2.finish(buffer);
671
- counter[0]++;
672
- }
673
- const hkdfSalt = new Uint8Array(digestLength);
674
- function hkdf(key, salt = hkdfSalt, info, length = 32) {
675
- const counter = new Uint8Array([1]);
676
- const okm = hmac(salt, key);
677
- const hmac_ = new HMAC(okm);
678
- const buffer = new Uint8Array(hmac_.digestLength);
679
- let bufpos = buffer.length;
680
- const out = new Uint8Array(length);
681
- for (let i = 0; i < length; i++) {
682
- if (bufpos === buffer.length) {
683
- fillBuffer(buffer, hmac_, info, counter);
684
- bufpos = 0;
685
- }
686
- out[i] = buffer[bufpos++];
687
- }
688
- hmac_.clean();
689
- buffer.fill(0);
690
- counter.fill(0);
691
- return out;
692
- }
693
- function pbkdf2(password, salt, iterations, dkLen) {
694
- const prf = new HMAC(password);
695
- const len = prf.digestLength;
696
- const ctr = new Uint8Array(4);
697
- const t = new Uint8Array(len);
698
- const u = new Uint8Array(len);
699
- const dk = new Uint8Array(dkLen);
700
- for (let i = 0; i * len < dkLen; i++) {
701
- const c = i + 1;
702
- ctr[0] = c >>> 24 & 255;
703
- ctr[1] = c >>> 16 & 255;
704
- ctr[2] = c >>> 8 & 255;
705
- ctr[3] = c >>> 0 & 255;
706
- prf.reset();
707
- prf.update(salt);
708
- prf.update(ctr);
709
- prf.finish(u);
710
- for (let j = 0; j < len; j++) {
711
- t[j] = u[j];
712
- }
713
- for (let j = 2; j <= iterations; j++) {
714
- prf.reset();
715
- prf.update(u).finish(u);
716
- for (let k = 0; k < len; k++) {
717
- t[k] ^= u[k];
718
- }
719
- }
720
- for (let j = 0; j < len && i * len + j < dkLen; j++) {
721
- dk[i * len + j] = t[j];
722
- }
723
- }
724
- for (let i = 0; i < len; i++) {
725
- t[i] = u[i] = 0;
726
- }
727
- for (let i = 0; i < 4; i++) {
728
- ctr[i] = 0;
729
- }
730
- prf.clean();
731
- return dk;
732
- }
733
- class HashHandler {
734
- }
735
- function decodeUTF8(s) {
736
- if (typeof s !== "string")
737
- throw new TypeError("expected string");
738
- const d = s, b = new Uint8Array(d.length);
739
- for (let i = 0; i < d.length; i++)
740
- b[i] = d.charCodeAt(i);
741
- return b;
742
- }
743
- function encodeUTF8(arr) {
744
- const s = [];
745
- for (let i = 0; i < arr.length; i++)
746
- s.push(String.fromCharCode(arr[i]));
747
- return s.join("");
748
- }
749
- const _DefaultHashHandler = class _DefaultHashHandler {
750
- calcHash(valueToHash, algorithm) {
751
- return __async(this, null, function* () {
752
- const candHash = encodeUTF8(hash(decodeUTF8(valueToHash)));
753
- return candHash;
754
- });
755
- }
756
- toHashString2(byteArray) {
757
- let result = "";
758
- for (const e of byteArray) {
759
- result += String.fromCharCode(e);
760
- }
761
- return result;
762
- }
763
- toHashString(buffer) {
764
- const byteArray = new Uint8Array(buffer);
765
- let result = "";
766
- for (const e of byteArray) {
767
- result += String.fromCharCode(e);
768
- }
769
- return result;
770
- }
771
- };
772
- _DefaultHashHandler.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _DefaultHashHandler, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable });
773
- _DefaultHashHandler.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _DefaultHashHandler });
774
- let DefaultHashHandler = _DefaultHashHandler;
775
- i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DefaultHashHandler, decorators: [{
776
- type: import_core.Injectable
777
- }] });
778
- const _OAuthService = class _OAuthService extends AuthConfig {
779
- constructor(ngZone, http, storage, tokenValidationHandler, config, urlHelper, logger, crypto, document, dateTimeService) {
780
- var _a;
781
- super();
782
- this.ngZone = ngZone;
783
- this.http = http;
784
- this.config = config;
785
- this.urlHelper = urlHelper;
786
- this.logger = logger;
787
- this.crypto = crypto;
788
- this.dateTimeService = dateTimeService;
789
- this.discoveryDocumentLoaded = false;
790
- this.state = "";
791
- this.eventsSubject = new import_rxjs.Subject();
792
- this.discoveryDocumentLoadedSubject = new import_rxjs.Subject();
793
- this.grantTypesSupported = [];
794
- this.inImplicitFlow = false;
795
- this.saveNoncesInLocalStorage = false;
796
- this.debug("angular-oauth2-oidc v10");
797
- this.document = document;
798
- if (!config) {
799
- config = {};
800
- }
801
- this.discoveryDocumentLoaded$ = this.discoveryDocumentLoadedSubject.asObservable();
802
- this.events = this.eventsSubject.asObservable();
803
- if (tokenValidationHandler) {
804
- this.tokenValidationHandler = tokenValidationHandler;
805
- }
806
- if (config) {
807
- this.configure(config);
808
- }
809
- try {
810
- if (storage) {
811
- this.setStorage(storage);
812
- } else if (typeof sessionStorage !== "undefined") {
813
- this.setStorage(sessionStorage);
814
- }
815
- } catch (e) {
816
- console.error("No OAuthStorage provided and cannot access default (sessionStorage).Consider providing a custom OAuthStorage implementation in your module.", e);
817
- }
818
- if (this.checkLocalStorageAccessable()) {
819
- const ua = (_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent;
820
- const msie = (ua == null ? void 0 : ua.includes("MSIE ")) || (ua == null ? void 0 : ua.includes("Trident"));
821
- if (msie) {
822
- this.saveNoncesInLocalStorage = true;
823
- }
824
- }
825
- this.setupRefreshTimer();
826
- }
827
- checkLocalStorageAccessable() {
828
- if (typeof window === "undefined")
829
- return false;
830
- const test = "test";
831
- try {
832
- if (typeof window["localStorage"] === "undefined")
833
- return false;
834
- localStorage.setItem(test, test);
835
- localStorage.removeItem(test);
836
- return true;
837
- } catch (e) {
838
- return false;
839
- }
840
- }
841
- /**
842
- * Use this method to configure the service
843
- * @param config the configuration
844
- */
845
- configure(config) {
846
- Object.assign(this, new AuthConfig(), config);
847
- this.config = Object.assign({}, new AuthConfig(), config);
848
- if (this.sessionChecksEnabled) {
849
- this.setupSessionCheck();
850
- }
851
- this.configChanged();
852
- }
853
- configChanged() {
854
- this.setupRefreshTimer();
855
- }
856
- restartSessionChecksIfStillLoggedIn() {
857
- if (this.hasValidIdToken()) {
858
- this.initSessionCheck();
859
- }
860
- }
861
- restartRefreshTimerIfStillLoggedIn() {
862
- this.setupExpirationTimers();
863
- }
864
- setupSessionCheck() {
865
- this.events.pipe((0, import_operators.filter)((e) => e.type === "token_received")).subscribe(() => {
866
- this.initSessionCheck();
867
- });
868
- }
869
- /**
870
- * Will setup up silent refreshing for when the token is
871
- * about to expire. When the user is logged out via this.logOut method, the
872
- * silent refreshing will pause and not refresh the tokens until the user is
873
- * logged back in via receiving a new token.
874
- * @param params Additional parameter to pass
875
- * @param listenTo Setup automatic refresh of a specific token type
876
- */
877
- setupAutomaticSilentRefresh(params = {}, listenTo, noPrompt = true) {
878
- let shouldRunSilentRefresh = true;
879
- this.clearAutomaticRefreshTimer();
880
- this.automaticRefreshSubscription = this.events.pipe((0, import_operators.tap)((e) => {
881
- if (e.type === "token_received") {
882
- shouldRunSilentRefresh = true;
883
- } else if (e.type === "logout") {
884
- shouldRunSilentRefresh = false;
885
- }
886
- }), (0, import_operators.filter)((e) => e.type === "token_expires" && (listenTo == null || listenTo === "any" || e.info === listenTo)), (0, import_operators.debounceTime)(1e3)).subscribe(() => {
887
- if (shouldRunSilentRefresh) {
888
- this.refreshInternal(params, noPrompt).catch(() => {
889
- this.debug("Automatic silent refresh did not work");
890
- });
891
- }
892
- });
893
- this.restartRefreshTimerIfStillLoggedIn();
894
- }
895
- refreshInternal(params, noPrompt) {
896
- if (!this.useSilentRefresh && this.responseType === "code") {
897
- return this.refreshToken();
898
- } else {
899
- return this.silentRefresh(params, noPrompt);
900
- }
901
- }
902
- /**
903
- * Convenience method that first calls `loadDiscoveryDocument(...)` and
904
- * directly chains using the `then(...)` part of the promise to call
905
- * the `tryLogin(...)` method.
906
- *
907
- * @param options LoginOptions to pass through to `tryLogin(...)`
908
- */
909
- loadDiscoveryDocumentAndTryLogin(options = null) {
910
- return this.loadDiscoveryDocument().then(() => {
911
- return this.tryLogin(options);
912
- });
913
- }
914
- /**
915
- * Convenience method that first calls `loadDiscoveryDocumentAndTryLogin(...)`
916
- * and if then chains to `initLoginFlow()`, but only if there is no valid
917
- * IdToken or no valid AccessToken.
918
- *
919
- * @param options LoginOptions to pass through to `tryLogin(...)`
920
- */
921
- loadDiscoveryDocumentAndLogin(options = null) {
922
- options = options || {};
923
- return this.loadDiscoveryDocumentAndTryLogin(options).then(() => {
924
- if (!this.hasValidIdToken() || !this.hasValidAccessToken()) {
925
- const state = typeof options.state === "string" ? options.state : "";
926
- this.initLoginFlow(state);
927
- return false;
928
- } else {
929
- return true;
930
- }
931
- });
932
- }
933
- debug(...args) {
934
- if (this.showDebugInformation) {
935
- this.logger.debug(...args);
936
- }
937
- }
938
- validateUrlFromDiscoveryDocument(url) {
939
- const errors = [];
940
- const httpsCheck = this.validateUrlForHttps(url);
941
- const issuerCheck = this.validateUrlAgainstIssuer(url);
942
- if (!httpsCheck) {
943
- errors.push("https for all urls required. Also for urls received by discovery.");
944
- }
945
- if (!issuerCheck) {
946
- errors.push("Every url in discovery document has to start with the issuer url.Also see property strictDiscoveryDocumentValidation.");
947
- }
948
- return errors;
949
- }
950
- validateUrlForHttps(url) {
951
- if (!url) {
952
- return true;
953
- }
954
- const lcUrl = url.toLowerCase();
955
- if (this.requireHttps === false) {
956
- return true;
957
- }
958
- if ((lcUrl.match(/^http:\/\/localhost($|[:/])/) || lcUrl.match(/^http:\/\/localhost($|[:/])/)) && this.requireHttps === "remoteOnly") {
959
- return true;
960
- }
961
- return lcUrl.startsWith("https://");
962
- }
963
- assertUrlNotNullAndCorrectProtocol(url, description) {
964
- if (!url) {
965
- throw new Error(`'${description}' should not be null`);
966
- }
967
- if (!this.validateUrlForHttps(url)) {
968
- throw new Error(`'${description}' must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).`);
969
- }
970
- }
971
- validateUrlAgainstIssuer(url) {
972
- if (!this.strictDiscoveryDocumentValidation) {
973
- return true;
974
- }
975
- if (!url) {
976
- return true;
977
- }
978
- return url.toLowerCase().startsWith(this.issuer.toLowerCase());
979
- }
980
- setupRefreshTimer() {
981
- if (typeof window === "undefined") {
982
- this.debug("timer not supported on this plattform");
983
- return;
984
- }
985
- if (this.hasValidIdToken() || this.hasValidAccessToken()) {
986
- this.clearAccessTokenTimer();
987
- this.clearIdTokenTimer();
988
- this.setupExpirationTimers();
989
- }
990
- if (this.tokenReceivedSubscription)
991
- this.tokenReceivedSubscription.unsubscribe();
992
- this.tokenReceivedSubscription = this.events.pipe((0, import_operators.filter)((e) => e.type === "token_received")).subscribe(() => {
993
- this.clearAccessTokenTimer();
994
- this.clearIdTokenTimer();
995
- this.setupExpirationTimers();
996
- });
997
- }
998
- setupExpirationTimers() {
999
- if (this.hasValidAccessToken()) {
1000
- this.setupAccessTokenTimer();
1001
- }
1002
- if (!this.disableIdTokenTimer && this.hasValidIdToken()) {
1003
- this.setupIdTokenTimer();
1004
- }
1005
- }
1006
- setupAccessTokenTimer() {
1007
- const expiration = this.getAccessTokenExpiration();
1008
- const storedAt = this.getAccessTokenStoredAt();
1009
- const timeout2 = this.calcTimeout(storedAt, expiration);
1010
- this.ngZone.runOutsideAngular(() => {
1011
- this.accessTokenTimeoutSubscription = (0, import_rxjs.of)(new OAuthInfoEvent("token_expires", "access_token")).pipe((0, import_operators.delay)(timeout2)).subscribe((e) => {
1012
- this.ngZone.run(() => {
1013
- this.eventsSubject.next(e);
1014
- });
1015
- });
1016
- });
1017
- }
1018
- setupIdTokenTimer() {
1019
- const expiration = this.getIdTokenExpiration();
1020
- const storedAt = this.getIdTokenStoredAt();
1021
- const timeout2 = this.calcTimeout(storedAt, expiration);
1022
- this.ngZone.runOutsideAngular(() => {
1023
- this.idTokenTimeoutSubscription = (0, import_rxjs.of)(new OAuthInfoEvent("token_expires", "id_token")).pipe((0, import_operators.delay)(timeout2)).subscribe((e) => {
1024
- this.ngZone.run(() => {
1025
- this.eventsSubject.next(e);
1026
- });
1027
- });
1028
- });
1029
- }
1030
- /**
1031
- * Stops timers for automatic refresh.
1032
- * To restart it, call setupAutomaticSilentRefresh again.
1033
- */
1034
- stopAutomaticRefresh() {
1035
- this.clearAccessTokenTimer();
1036
- this.clearIdTokenTimer();
1037
- this.clearAutomaticRefreshTimer();
1038
- }
1039
- clearAccessTokenTimer() {
1040
- if (this.accessTokenTimeoutSubscription) {
1041
- this.accessTokenTimeoutSubscription.unsubscribe();
1042
- }
1043
- }
1044
- clearIdTokenTimer() {
1045
- if (this.idTokenTimeoutSubscription) {
1046
- this.idTokenTimeoutSubscription.unsubscribe();
1047
- }
1048
- }
1049
- clearAutomaticRefreshTimer() {
1050
- if (this.automaticRefreshSubscription) {
1051
- this.automaticRefreshSubscription.unsubscribe();
1052
- }
1053
- }
1054
- calcTimeout(storedAt, expiration) {
1055
- const now = this.dateTimeService.now();
1056
- const delta = (expiration - storedAt) * this.timeoutFactor - (now - storedAt);
1057
- const duration = Math.max(0, delta);
1058
- const maxTimeoutValue = 2147483647;
1059
- return duration > maxTimeoutValue ? maxTimeoutValue : duration;
1060
- }
1061
- /**
1062
- * DEPRECATED. Use a provider for OAuthStorage instead:
1063
- *
1064
- * { provide: OAuthStorage, useFactory: oAuthStorageFactory }
1065
- * export function oAuthStorageFactory(): OAuthStorage { return localStorage; }
1066
- * Sets a custom storage used to store the received
1067
- * tokens on client side. By default, the browser's
1068
- * sessionStorage is used.
1069
- * @ignore
1070
- *
1071
- * @param storage
1072
- */
1073
- setStorage(storage) {
1074
- this._storage = storage;
1075
- this.configChanged();
1076
- }
1077
- /**
1078
- * Loads the discovery document to configure most
1079
- * properties of this service. The url of the discovery
1080
- * document is infered from the issuer's url according
1081
- * to the OpenId Connect spec. To use another url you
1082
- * can pass it to to optional parameter fullUrl.
1083
- *
1084
- * @param fullUrl
1085
- */
1086
- loadDiscoveryDocument(fullUrl = null) {
1087
- return new Promise((resolve, reject) => {
1088
- if (!fullUrl) {
1089
- fullUrl = this.issuer || "";
1090
- if (!fullUrl.endsWith("/")) {
1091
- fullUrl += "/";
1092
- }
1093
- fullUrl += ".well-known/openid-configuration";
1094
- }
1095
- if (!this.validateUrlForHttps(fullUrl)) {
1096
- reject("issuer must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
1097
- return;
1098
- }
1099
- this.http.get(fullUrl).subscribe((doc) => {
1100
- if (!this.validateDiscoveryDocument(doc)) {
1101
- this.eventsSubject.next(new OAuthErrorEvent("discovery_document_validation_error", null));
1102
- reject("discovery_document_validation_error");
1103
- return;
1104
- }
1105
- this.loginUrl = doc.authorization_endpoint;
1106
- this.logoutUrl = doc.end_session_endpoint || this.logoutUrl;
1107
- this.grantTypesSupported = doc.grant_types_supported;
1108
- this.issuer = doc.issuer;
1109
- this.tokenEndpoint = doc.token_endpoint;
1110
- this.userinfoEndpoint = doc.userinfo_endpoint || this.userinfoEndpoint;
1111
- this.jwksUri = doc.jwks_uri;
1112
- this.sessionCheckIFrameUrl = doc.check_session_iframe || this.sessionCheckIFrameUrl;
1113
- this.discoveryDocumentLoaded = true;
1114
- this.discoveryDocumentLoadedSubject.next(doc);
1115
- this.revocationEndpoint = doc.revocation_endpoint || this.revocationEndpoint;
1116
- if (this.sessionChecksEnabled) {
1117
- this.restartSessionChecksIfStillLoggedIn();
1118
- }
1119
- this.loadJwks().then((jwks) => {
1120
- const result = {
1121
- discoveryDocument: doc,
1122
- jwks
1123
- };
1124
- const event = new OAuthSuccessEvent("discovery_document_loaded", result);
1125
- this.eventsSubject.next(event);
1126
- resolve(event);
1127
- return;
1128
- }).catch((err2) => {
1129
- this.eventsSubject.next(new OAuthErrorEvent("discovery_document_load_error", err2));
1130
- reject(err2);
1131
- return;
1132
- });
1133
- }, (err2) => {
1134
- this.logger.error("error loading discovery document", err2);
1135
- this.eventsSubject.next(new OAuthErrorEvent("discovery_document_load_error", err2));
1136
- reject(err2);
1137
- });
1138
- });
1139
- }
1140
- loadJwks() {
1141
- return new Promise((resolve, reject) => {
1142
- if (this.jwksUri) {
1143
- this.http.get(this.jwksUri).subscribe((jwks) => {
1144
- this.jwks = jwks;
1145
- resolve(jwks);
1146
- }, (err2) => {
1147
- this.logger.error("error loading jwks", err2);
1148
- this.eventsSubject.next(new OAuthErrorEvent("jwks_load_error", err2));
1149
- reject(err2);
1150
- });
1151
- } else {
1152
- resolve(null);
1153
- }
1154
- });
1155
- }
1156
- validateDiscoveryDocument(doc) {
1157
- let errors;
1158
- if (!this.skipIssuerCheck && doc.issuer !== this.issuer) {
1159
- this.logger.error("invalid issuer in discovery document", "expected: " + this.issuer, "current: " + doc.issuer);
1160
- return false;
1161
- }
1162
- errors = this.validateUrlFromDiscoveryDocument(doc.authorization_endpoint);
1163
- if (errors.length > 0) {
1164
- this.logger.error("error validating authorization_endpoint in discovery document", errors);
1165
- return false;
1166
- }
1167
- errors = this.validateUrlFromDiscoveryDocument(doc.end_session_endpoint);
1168
- if (errors.length > 0) {
1169
- this.logger.error("error validating end_session_endpoint in discovery document", errors);
1170
- return false;
1171
- }
1172
- errors = this.validateUrlFromDiscoveryDocument(doc.token_endpoint);
1173
- if (errors.length > 0) {
1174
- this.logger.error("error validating token_endpoint in discovery document", errors);
1175
- }
1176
- errors = this.validateUrlFromDiscoveryDocument(doc.revocation_endpoint);
1177
- if (errors.length > 0) {
1178
- this.logger.error("error validating revocation_endpoint in discovery document", errors);
1179
- }
1180
- errors = this.validateUrlFromDiscoveryDocument(doc.userinfo_endpoint);
1181
- if (errors.length > 0) {
1182
- this.logger.error("error validating userinfo_endpoint in discovery document", errors);
1183
- return false;
1184
- }
1185
- errors = this.validateUrlFromDiscoveryDocument(doc.jwks_uri);
1186
- if (errors.length > 0) {
1187
- this.logger.error("error validating jwks_uri in discovery document", errors);
1188
- return false;
1189
- }
1190
- if (this.sessionChecksEnabled && !doc.check_session_iframe) {
1191
- this.logger.warn("sessionChecksEnabled is activated but discovery document does not contain a check_session_iframe field");
1192
- }
1193
- return true;
1194
- }
1195
- /**
1196
- * Uses password flow to exchange userName and password for an
1197
- * access_token. After receiving the access_token, this method
1198
- * uses it to query the userinfo endpoint in order to get information
1199
- * about the user in question.
1200
- *
1201
- * When using this, make sure that the property oidc is set to false.
1202
- * Otherwise stricter validations take place that make this operation
1203
- * fail.
1204
- *
1205
- * @param userName
1206
- * @param password
1207
- * @param headers Optional additional http-headers.
1208
- */
1209
- fetchTokenUsingPasswordFlowAndLoadUserProfile(userName, password, headers = new import_http.HttpHeaders()) {
1210
- return this.fetchTokenUsingPasswordFlow(userName, password, headers).then(() => this.loadUserProfile());
1211
- }
1212
- /**
1213
- * Loads the user profile by accessing the user info endpoint defined by OpenId Connect.
1214
- *
1215
- * When using this with OAuth2 password flow, make sure that the property oidc is set to false.
1216
- * Otherwise stricter validations take place that make this operation fail.
1217
- */
1218
- loadUserProfile() {
1219
- if (!this.hasValidAccessToken()) {
1220
- throw new Error("Can not load User Profile without access_token");
1221
- }
1222
- if (!this.validateUrlForHttps(this.userinfoEndpoint)) {
1223
- throw new Error("userinfoEndpoint must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
1224
- }
1225
- return new Promise((resolve, reject) => {
1226
- const headers = new import_http.HttpHeaders().set("Authorization", "Bearer " + this.getAccessToken());
1227
- this.http.get(this.userinfoEndpoint, {
1228
- headers,
1229
- observe: "response",
1230
- responseType: "text"
1231
- }).subscribe((response) => {
1232
- this.debug("userinfo received", JSON.stringify(response));
1233
- if (response.headers.get("content-type").startsWith("application/json")) {
1234
- let info = JSON.parse(response.body);
1235
- const existingClaims = this.getIdentityClaims() || {};
1236
- if (!this.skipSubjectCheck) {
1237
- if (this.oidc && (!existingClaims["sub"] || info.sub !== existingClaims["sub"])) {
1238
- const err2 = "if property oidc is true, the received user-id (sub) has to be the user-id of the user that has logged in with oidc.\nif you are not using oidc but just oauth2 password flow set oidc to false";
1239
- reject(err2);
1240
- return;
1241
- }
1242
- }
1243
- info = Object.assign({}, existingClaims, info);
1244
- this._storage.setItem("id_token_claims_obj", JSON.stringify(info));
1245
- this.eventsSubject.next(new OAuthSuccessEvent("user_profile_loaded"));
1246
- resolve({ info });
1247
- } else {
1248
- this.debug("userinfo is not JSON, treating it as JWE/JWS");
1249
- this.eventsSubject.next(new OAuthSuccessEvent("user_profile_loaded"));
1250
- resolve(JSON.parse(response.body));
1251
- }
1252
- }, (err2) => {
1253
- this.logger.error("error loading user info", err2);
1254
- this.eventsSubject.next(new OAuthErrorEvent("user_profile_load_error", err2));
1255
- reject(err2);
1256
- });
1257
- });
1258
- }
1259
- /**
1260
- * Uses password flow to exchange userName and password for an access_token.
1261
- * @param userName
1262
- * @param password
1263
- * @param headers Optional additional http-headers.
1264
- */
1265
- fetchTokenUsingPasswordFlow(userName, password, headers = new import_http.HttpHeaders()) {
1266
- const parameters = {
1267
- username: userName,
1268
- password
1269
- };
1270
- return this.fetchTokenUsingGrant("password", parameters, headers);
1271
- }
1272
- /**
1273
- * Uses a custom grant type to retrieve tokens.
1274
- * @param grantType Grant type.
1275
- * @param parameters Parameters to pass.
1276
- * @param headers Optional additional HTTP headers.
1277
- */
1278
- fetchTokenUsingGrant(grantType, parameters, headers = new import_http.HttpHeaders()) {
1279
- this.assertUrlNotNullAndCorrectProtocol(this.tokenEndpoint, "tokenEndpoint");
1280
- let params = new import_http.HttpParams({ encoder: new WebHttpUrlEncodingCodec() }).set("grant_type", grantType).set("scope", this.scope);
1281
- if (this.useHttpBasicAuth) {
1282
- const header = btoa(`${this.clientId}:${this.dummyClientSecret}`);
1283
- headers = headers.set("Authorization", "Basic " + header);
1284
- }
1285
- if (!this.useHttpBasicAuth) {
1286
- params = params.set("client_id", this.clientId);
1287
- }
1288
- if (!this.useHttpBasicAuth && this.dummyClientSecret) {
1289
- params = params.set("client_secret", this.dummyClientSecret);
1290
- }
1291
- if (this.customQueryParams) {
1292
- for (const key of Object.getOwnPropertyNames(this.customQueryParams)) {
1293
- params = params.set(key, this.customQueryParams[key]);
1294
- }
1295
- }
1296
- for (const key of Object.keys(parameters)) {
1297
- params = params.set(key, parameters[key]);
1298
- }
1299
- headers = headers.set("Content-Type", "application/x-www-form-urlencoded");
1300
- return new Promise((resolve, reject) => {
1301
- this.http.post(this.tokenEndpoint, params, { headers }).subscribe((tokenResponse) => {
1302
- this.debug("tokenResponse", tokenResponse);
1303
- this.storeAccessTokenResponse(tokenResponse.access_token, tokenResponse.refresh_token, tokenResponse.expires_in || this.fallbackAccessTokenExpirationTimeInSec, tokenResponse.scope, this.extractRecognizedCustomParameters(tokenResponse));
1304
- if (this.oidc && tokenResponse.id_token) {
1305
- this.processIdToken(tokenResponse.id_token, tokenResponse.access_token).then((result) => {
1306
- this.storeIdToken(result);
1307
- resolve(tokenResponse);
1308
- });
1309
- }
1310
- this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
1311
- resolve(tokenResponse);
1312
- }, (err2) => {
1313
- this.logger.error("Error performing ${grantType} flow", err2);
1314
- this.eventsSubject.next(new OAuthErrorEvent("token_error", err2));
1315
- reject(err2);
1316
- });
1317
- });
1318
- }
1319
- /**
1320
- * Refreshes the token using a refresh_token.
1321
- * This does not work for implicit flow, b/c
1322
- * there is no refresh_token in this flow.
1323
- * A solution for this is provided by the
1324
- * method silentRefresh.
1325
- */
1326
- refreshToken() {
1327
- this.assertUrlNotNullAndCorrectProtocol(this.tokenEndpoint, "tokenEndpoint");
1328
- return new Promise((resolve, reject) => {
1329
- let params = new import_http.HttpParams({ encoder: new WebHttpUrlEncodingCodec() }).set("grant_type", "refresh_token").set("scope", this.scope).set("refresh_token", this._storage.getItem("refresh_token"));
1330
- let headers = new import_http.HttpHeaders().set("Content-Type", "application/x-www-form-urlencoded");
1331
- if (this.useHttpBasicAuth) {
1332
- const header = btoa(`${this.clientId}:${this.dummyClientSecret}`);
1333
- headers = headers.set("Authorization", "Basic " + header);
1334
- }
1335
- if (!this.useHttpBasicAuth) {
1336
- params = params.set("client_id", this.clientId);
1337
- }
1338
- if (!this.useHttpBasicAuth && this.dummyClientSecret) {
1339
- params = params.set("client_secret", this.dummyClientSecret);
1340
- }
1341
- if (this.customQueryParams) {
1342
- for (const key of Object.getOwnPropertyNames(this.customQueryParams)) {
1343
- params = params.set(key, this.customQueryParams[key]);
1344
- }
1345
- }
1346
- this.http.post(this.tokenEndpoint, params, { headers }).pipe((0, import_operators.switchMap)((tokenResponse) => {
1347
- if (this.oidc && tokenResponse.id_token) {
1348
- return (0, import_rxjs.from)(this.processIdToken(tokenResponse.id_token, tokenResponse.access_token, true)).pipe((0, import_operators.tap)((result) => this.storeIdToken(result)), (0, import_operators.map)(() => tokenResponse));
1349
- } else {
1350
- return (0, import_rxjs.of)(tokenResponse);
1351
- }
1352
- })).subscribe((tokenResponse) => {
1353
- this.debug("refresh tokenResponse", tokenResponse);
1354
- this.storeAccessTokenResponse(tokenResponse.access_token, tokenResponse.refresh_token, tokenResponse.expires_in || this.fallbackAccessTokenExpirationTimeInSec, tokenResponse.scope, this.extractRecognizedCustomParameters(tokenResponse));
1355
- this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
1356
- this.eventsSubject.next(new OAuthSuccessEvent("token_refreshed"));
1357
- resolve(tokenResponse);
1358
- }, (err2) => {
1359
- this.logger.error("Error refreshing token", err2);
1360
- this.eventsSubject.next(new OAuthErrorEvent("token_refresh_error", err2));
1361
- reject(err2);
1362
- });
1363
- });
1364
- }
1365
- removeSilentRefreshEventListener() {
1366
- if (this.silentRefreshPostMessageEventListener) {
1367
- window.removeEventListener("message", this.silentRefreshPostMessageEventListener);
1368
- this.silentRefreshPostMessageEventListener = null;
1369
- }
1370
- }
1371
- setupSilentRefreshEventListener() {
1372
- this.removeSilentRefreshEventListener();
1373
- this.silentRefreshPostMessageEventListener = (e) => {
1374
- const message = this.processMessageEventMessage(e);
1375
- if (this.checkOrigin && e.origin !== location.origin) {
1376
- console.error("wrong origin requested silent refresh!");
1377
- }
1378
- this.tryLogin({
1379
- customHashFragment: message,
1380
- preventClearHashAfterLogin: true,
1381
- customRedirectUri: this.silentRefreshRedirectUri || this.redirectUri
1382
- }).catch((err2) => this.debug("tryLogin during silent refresh failed", err2));
1383
- };
1384
- window.addEventListener("message", this.silentRefreshPostMessageEventListener);
1385
- }
1386
- /**
1387
- * Performs a silent refresh for implicit flow.
1388
- * Use this method to get new tokens when/before
1389
- * the existing tokens expire.
1390
- */
1391
- silentRefresh(params = {}, noPrompt = true) {
1392
- const claims = this.getIdentityClaims() || {};
1393
- if (this.useIdTokenHintForSilentRefresh && this.hasValidIdToken()) {
1394
- params["id_token_hint"] = this.getIdToken();
1395
- }
1396
- if (!this.validateUrlForHttps(this.loginUrl)) {
1397
- throw new Error("loginUrl must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
1398
- }
1399
- if (typeof this.document === "undefined") {
1400
- throw new Error("silent refresh is not supported on this platform");
1401
- }
1402
- const existingIframe = this.document.getElementById(this.silentRefreshIFrameName);
1403
- if (existingIframe) {
1404
- this.document.body.removeChild(existingIframe);
1405
- }
1406
- this.silentRefreshSubject = claims["sub"];
1407
- const iframe = this.document.createElement("iframe");
1408
- iframe.id = this.silentRefreshIFrameName;
1409
- this.setupSilentRefreshEventListener();
1410
- const redirectUri = this.silentRefreshRedirectUri || this.redirectUri;
1411
- this.createLoginUrl(null, null, redirectUri, noPrompt, params).then((url) => {
1412
- iframe.setAttribute("src", url);
1413
- if (!this.silentRefreshShowIFrame) {
1414
- iframe.style["display"] = "none";
1415
- }
1416
- this.document.body.appendChild(iframe);
1417
- });
1418
- const errors = this.events.pipe((0, import_operators.filter)((e) => e instanceof OAuthErrorEvent), (0, import_operators.first)());
1419
- const success = this.events.pipe((0, import_operators.filter)((e) => e.type === "token_received"), (0, import_operators.first)());
1420
- const timeout2 = (0, import_rxjs.of)(new OAuthErrorEvent("silent_refresh_timeout", null)).pipe((0, import_operators.delay)(this.silentRefreshTimeout));
1421
- return (0, import_rxjs.race)([errors, success, timeout2]).pipe((0, import_operators.map)((e) => {
1422
- if (e instanceof OAuthErrorEvent) {
1423
- if (e.type === "silent_refresh_timeout") {
1424
- this.eventsSubject.next(e);
1425
- } else {
1426
- e = new OAuthErrorEvent("silent_refresh_error", e);
1427
- this.eventsSubject.next(e);
1428
- }
1429
- throw e;
1430
- } else if (e.type === "token_received") {
1431
- e = new OAuthSuccessEvent("silently_refreshed");
1432
- this.eventsSubject.next(e);
1433
- }
1434
- return e;
1435
- })).toPromise();
1436
- }
1437
- /**
1438
- * This method exists for backwards compatibility.
1439
- * {@link OAuthService#initLoginFlowInPopup} handles both code
1440
- * and implicit flows.
1441
- */
1442
- initImplicitFlowInPopup(options) {
1443
- return this.initLoginFlowInPopup(options);
1444
- }
1445
- initLoginFlowInPopup(options) {
1446
- options = options || {};
1447
- return this.createLoginUrl(null, null, this.silentRefreshRedirectUri, false, {
1448
- display: "popup"
1449
- }).then((url) => {
1450
- return new Promise((resolve, reject) => {
1451
- const checkForPopupClosedInterval = 500;
1452
- let windowRef = null;
1453
- if (!options.windowRef) {
1454
- windowRef = window.open(url, "ngx-oauth2-oidc-login", this.calculatePopupFeatures(options));
1455
- } else if (options.windowRef && !options.windowRef.closed) {
1456
- windowRef = options.windowRef;
1457
- windowRef.location.href = url;
1458
- }
1459
- let checkForPopupClosedTimer;
1460
- const tryLogin = (hash2) => {
1461
- this.tryLogin({
1462
- customHashFragment: hash2,
1463
- preventClearHashAfterLogin: true,
1464
- customRedirectUri: this.silentRefreshRedirectUri
1465
- }).then(() => {
1466
- cleanup();
1467
- resolve(true);
1468
- }, (err2) => {
1469
- cleanup();
1470
- reject(err2);
1471
- });
1472
- };
1473
- const checkForPopupClosed = () => {
1474
- if (!windowRef || windowRef.closed) {
1475
- cleanup();
1476
- reject(new OAuthErrorEvent("popup_closed", {}));
1477
- }
1478
- };
1479
- if (!windowRef) {
1480
- reject(new OAuthErrorEvent("popup_blocked", {}));
1481
- } else {
1482
- checkForPopupClosedTimer = window.setInterval(checkForPopupClosed, checkForPopupClosedInterval);
1483
- }
1484
- const cleanup = () => {
1485
- window.clearInterval(checkForPopupClosedTimer);
1486
- window.removeEventListener("storage", storageListener);
1487
- window.removeEventListener("message", listener);
1488
- if (windowRef !== null) {
1489
- windowRef.close();
1490
- }
1491
- windowRef = null;
1492
- };
1493
- const listener = (e) => {
1494
- const message = this.processMessageEventMessage(e);
1495
- if (message && message !== null) {
1496
- window.removeEventListener("storage", storageListener);
1497
- tryLogin(message);
1498
- } else {
1499
- console.log("false event firing");
1500
- }
1501
- };
1502
- const storageListener = (event) => {
1503
- if (event.key === "auth_hash") {
1504
- window.removeEventListener("message", listener);
1505
- tryLogin(event.newValue);
1506
- }
1507
- };
1508
- window.addEventListener("message", listener);
1509
- window.addEventListener("storage", storageListener);
1510
- });
1511
- });
1512
- }
1513
- calculatePopupFeatures(options) {
1514
- const height = options.height || 470;
1515
- const width = options.width || 500;
1516
- const left = window.screenLeft + (window.outerWidth - width) / 2;
1517
- const top = window.screenTop + (window.outerHeight - height) / 2;
1518
- return `location=no,toolbar=no,width=${width},height=${height},top=${top},left=${left}`;
1519
- }
1520
- processMessageEventMessage(e) {
1521
- let expectedPrefix = "#";
1522
- if (this.silentRefreshMessagePrefix) {
1523
- expectedPrefix += this.silentRefreshMessagePrefix;
1524
- }
1525
- if (!e || !e.data || typeof e.data !== "string") {
1526
- return;
1527
- }
1528
- const prefixedMessage = e.data;
1529
- if (!prefixedMessage.startsWith(expectedPrefix)) {
1530
- return;
1531
- }
1532
- return "#" + prefixedMessage.substr(expectedPrefix.length);
1533
- }
1534
- canPerformSessionCheck() {
1535
- if (!this.sessionChecksEnabled) {
1536
- return false;
1537
- }
1538
- if (!this.sessionCheckIFrameUrl) {
1539
- console.warn("sessionChecksEnabled is activated but there is no sessionCheckIFrameUrl");
1540
- return false;
1541
- }
1542
- const sessionState = this.getSessionState();
1543
- if (!sessionState) {
1544
- console.warn("sessionChecksEnabled is activated but there is no session_state");
1545
- return false;
1546
- }
1547
- if (typeof this.document === "undefined") {
1548
- return false;
1549
- }
1550
- return true;
1551
- }
1552
- setupSessionCheckEventListener() {
1553
- this.removeSessionCheckEventListener();
1554
- this.sessionCheckEventListener = (e) => {
1555
- const origin = e.origin.toLowerCase();
1556
- const issuer = this.issuer.toLowerCase();
1557
- this.debug("sessionCheckEventListener");
1558
- if (!issuer.startsWith(origin)) {
1559
- this.debug("sessionCheckEventListener", "wrong origin", origin, "expected", issuer, "event", e);
1560
- return;
1561
- }
1562
- switch (e.data) {
1563
- case "unchanged":
1564
- this.ngZone.run(() => {
1565
- this.handleSessionUnchanged();
1566
- });
1567
- break;
1568
- case "changed":
1569
- this.ngZone.run(() => {
1570
- this.handleSessionChange();
1571
- });
1572
- break;
1573
- case "error":
1574
- this.ngZone.run(() => {
1575
- this.handleSessionError();
1576
- });
1577
- break;
1578
- }
1579
- this.debug("got info from session check inframe", e);
1580
- };
1581
- this.ngZone.runOutsideAngular(() => {
1582
- window.addEventListener("message", this.sessionCheckEventListener);
1583
- });
1584
- }
1585
- handleSessionUnchanged() {
1586
- this.debug("session check", "session unchanged");
1587
- this.eventsSubject.next(new OAuthInfoEvent("session_unchanged"));
1588
- }
1589
- handleSessionChange() {
1590
- this.eventsSubject.next(new OAuthInfoEvent("session_changed"));
1591
- this.stopSessionCheckTimer();
1592
- if (!this.useSilentRefresh && this.responseType === "code") {
1593
- this.refreshToken().then(() => {
1594
- this.debug("token refresh after session change worked");
1595
- }).catch(() => {
1596
- this.debug("token refresh did not work after session changed");
1597
- this.eventsSubject.next(new OAuthInfoEvent("session_terminated"));
1598
- this.logOut(true);
1599
- });
1600
- } else if (this.silentRefreshRedirectUri) {
1601
- this.silentRefresh().catch(() => this.debug("silent refresh failed after session changed"));
1602
- this.waitForSilentRefreshAfterSessionChange();
1603
- } else {
1604
- this.eventsSubject.next(new OAuthInfoEvent("session_terminated"));
1605
- this.logOut(true);
1606
- }
1607
- }
1608
- waitForSilentRefreshAfterSessionChange() {
1609
- this.events.pipe((0, import_operators.filter)((e) => e.type === "silently_refreshed" || e.type === "silent_refresh_timeout" || e.type === "silent_refresh_error"), (0, import_operators.first)()).subscribe((e) => {
1610
- if (e.type !== "silently_refreshed") {
1611
- this.debug("silent refresh did not work after session changed");
1612
- this.eventsSubject.next(new OAuthInfoEvent("session_terminated"));
1613
- this.logOut(true);
1614
- }
1615
- });
1616
- }
1617
- handleSessionError() {
1618
- this.stopSessionCheckTimer();
1619
- this.eventsSubject.next(new OAuthInfoEvent("session_error"));
1620
- }
1621
- removeSessionCheckEventListener() {
1622
- if (this.sessionCheckEventListener) {
1623
- window.removeEventListener("message", this.sessionCheckEventListener);
1624
- this.sessionCheckEventListener = null;
1625
- }
1626
- }
1627
- initSessionCheck() {
1628
- if (!this.canPerformSessionCheck()) {
1629
- return;
1630
- }
1631
- const existingIframe = this.document.getElementById(this.sessionCheckIFrameName);
1632
- if (existingIframe) {
1633
- this.document.body.removeChild(existingIframe);
1634
- }
1635
- const iframe = this.document.createElement("iframe");
1636
- iframe.id = this.sessionCheckIFrameName;
1637
- this.setupSessionCheckEventListener();
1638
- const url = this.sessionCheckIFrameUrl;
1639
- iframe.setAttribute("src", url);
1640
- iframe.style.display = "none";
1641
- this.document.body.appendChild(iframe);
1642
- this.startSessionCheckTimer();
1643
- }
1644
- startSessionCheckTimer() {
1645
- this.stopSessionCheckTimer();
1646
- this.ngZone.runOutsideAngular(() => {
1647
- this.sessionCheckTimer = setInterval(this.checkSession.bind(this), this.sessionCheckIntervall);
1648
- });
1649
- }
1650
- stopSessionCheckTimer() {
1651
- if (this.sessionCheckTimer) {
1652
- clearInterval(this.sessionCheckTimer);
1653
- this.sessionCheckTimer = null;
1654
- }
1655
- }
1656
- checkSession() {
1657
- const iframe = this.document.getElementById(this.sessionCheckIFrameName);
1658
- if (!iframe) {
1659
- this.logger.warn("checkSession did not find iframe", this.sessionCheckIFrameName);
1660
- }
1661
- const sessionState = this.getSessionState();
1662
- if (!sessionState) {
1663
- this.stopSessionCheckTimer();
1664
- }
1665
- const message = this.clientId + " " + sessionState;
1666
- iframe.contentWindow.postMessage(message, this.issuer);
1667
- }
1668
- createLoginUrl() {
1669
- return __async(this, arguments, function* (state = "", loginHint = "", customRedirectUri = "", noPrompt = false, params = {}) {
1670
- const that = this;
1671
- let redirectUri;
1672
- if (customRedirectUri) {
1673
- redirectUri = customRedirectUri;
1674
- } else {
1675
- redirectUri = this.redirectUri;
1676
- }
1677
- const nonce = yield this.createAndSaveNonce();
1678
- if (state) {
1679
- state = nonce + this.config.nonceStateSeparator + encodeURIComponent(state);
1680
- } else {
1681
- state = nonce;
1682
- }
1683
- if (!this.requestAccessToken && !this.oidc) {
1684
- throw new Error("Either requestAccessToken or oidc or both must be true");
1685
- }
1686
- if (this.config.responseType) {
1687
- this.responseType = this.config.responseType;
1688
- } else {
1689
- if (this.oidc && this.requestAccessToken) {
1690
- this.responseType = "id_token token";
1691
- } else if (this.oidc && !this.requestAccessToken) {
1692
- this.responseType = "id_token";
1693
- } else {
1694
- this.responseType = "token";
1695
- }
1696
- }
1697
- const seperationChar = that.loginUrl.indexOf("?") > -1 ? "&" : "?";
1698
- let scope = that.scope;
1699
- if (this.oidc && !scope.match(/(^|\s)openid($|\s)/)) {
1700
- scope = "openid " + scope;
1701
- }
1702
- let url = that.loginUrl + seperationChar + "response_type=" + encodeURIComponent(that.responseType) + "&client_id=" + encodeURIComponent(that.clientId) + "&state=" + encodeURIComponent(state) + "&redirect_uri=" + encodeURIComponent(redirectUri) + "&scope=" + encodeURIComponent(scope);
1703
- if (this.responseType.includes("code") && !this.disablePKCE) {
1704
- const [challenge, verifier] = yield this.createChallangeVerifierPairForPKCE();
1705
- if (this.saveNoncesInLocalStorage && typeof window["localStorage"] !== "undefined") {
1706
- localStorage.setItem("PKCE_verifier", verifier);
1707
- } else {
1708
- this._storage.setItem("PKCE_verifier", verifier);
1709
- }
1710
- url += "&code_challenge=" + challenge;
1711
- url += "&code_challenge_method=S256";
1712
- }
1713
- if (loginHint) {
1714
- url += "&login_hint=" + encodeURIComponent(loginHint);
1715
- }
1716
- if (that.resource) {
1717
- url += "&resource=" + encodeURIComponent(that.resource);
1718
- }
1719
- if (that.oidc) {
1720
- url += "&nonce=" + encodeURIComponent(nonce);
1721
- }
1722
- if (noPrompt) {
1723
- url += "&prompt=none";
1724
- }
1725
- for (const key of Object.keys(params)) {
1726
- url += "&" + encodeURIComponent(key) + "=" + encodeURIComponent(params[key]);
1727
- }
1728
- if (this.customQueryParams) {
1729
- for (const key of Object.getOwnPropertyNames(this.customQueryParams)) {
1730
- url += "&" + key + "=" + encodeURIComponent(this.customQueryParams[key]);
1731
- }
1732
- }
1733
- return url;
1734
- });
1735
- }
1736
- initImplicitFlowInternal(additionalState = "", params = "") {
1737
- if (this.inImplicitFlow) {
1738
- return;
1739
- }
1740
- this.inImplicitFlow = true;
1741
- if (!this.validateUrlForHttps(this.loginUrl)) {
1742
- throw new Error("loginUrl must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
1743
- }
1744
- let addParams = {};
1745
- let loginHint = null;
1746
- if (typeof params === "string") {
1747
- loginHint = params;
1748
- } else if (typeof params === "object") {
1749
- addParams = params;
1750
- }
1751
- this.createLoginUrl(additionalState, loginHint, null, false, addParams).then(this.config.openUri).catch((error) => {
1752
- console.error("Error in initImplicitFlow", error);
1753
- this.inImplicitFlow = false;
1754
- });
1755
- }
1756
- /**
1757
- * Starts the implicit flow and redirects to user to
1758
- * the auth servers' login url.
1759
- *
1760
- * @param additionalState Optional state that is passed around.
1761
- * You'll find this state in the property `state` after `tryLogin` logged in the user.
1762
- * @param params Hash with additional parameter. If it is a string, it is used for the
1763
- * parameter loginHint (for the sake of compatibility with former versions)
1764
- */
1765
- initImplicitFlow(additionalState = "", params = "") {
1766
- if (this.loginUrl !== "") {
1767
- this.initImplicitFlowInternal(additionalState, params);
1768
- } else {
1769
- this.events.pipe((0, import_operators.filter)((e) => e.type === "discovery_document_loaded")).subscribe(() => this.initImplicitFlowInternal(additionalState, params));
1770
- }
1771
- }
1772
- /**
1773
- * Reset current implicit flow
1774
- *
1775
- * @description This method allows resetting the current implict flow in order to be initialized again.
1776
- */
1777
- resetImplicitFlow() {
1778
- this.inImplicitFlow = false;
1779
- }
1780
- callOnTokenReceivedIfExists(options) {
1781
- const that = this;
1782
- if (options.onTokenReceived) {
1783
- const tokenParams = {
1784
- idClaims: that.getIdentityClaims(),
1785
- idToken: that.getIdToken(),
1786
- accessToken: that.getAccessToken(),
1787
- state: that.state
1788
- };
1789
- options.onTokenReceived(tokenParams);
1790
- }
1791
- }
1792
- storeAccessTokenResponse(accessToken, refreshToken, expiresIn, grantedScopes, customParameters) {
1793
- this._storage.setItem("access_token", accessToken);
1794
- if (grantedScopes && !Array.isArray(grantedScopes)) {
1795
- this._storage.setItem("granted_scopes", JSON.stringify(grantedScopes.split(" ")));
1796
- } else if (grantedScopes && Array.isArray(grantedScopes)) {
1797
- this._storage.setItem("granted_scopes", JSON.stringify(grantedScopes));
1798
- }
1799
- this._storage.setItem("access_token_stored_at", "" + this.dateTimeService.now());
1800
- if (expiresIn) {
1801
- const expiresInMilliSeconds = expiresIn * 1e3;
1802
- const now = this.dateTimeService.new();
1803
- const expiresAt = now.getTime() + expiresInMilliSeconds;
1804
- this._storage.setItem("expires_at", "" + expiresAt);
1805
- }
1806
- if (refreshToken) {
1807
- this._storage.setItem("refresh_token", refreshToken);
1808
- }
1809
- if (customParameters) {
1810
- customParameters.forEach((value, key) => {
1811
- this._storage.setItem(key, value);
1812
- });
1813
- }
1814
- }
1815
- /**
1816
- * Delegates to tryLoginImplicitFlow for the sake of competability
1817
- * @param options Optional options.
1818
- */
1819
- tryLogin(options = null) {
1820
- if (this.config.responseType === "code") {
1821
- return this.tryLoginCodeFlow(options).then(() => true);
1822
- } else {
1823
- return this.tryLoginImplicitFlow(options);
1824
- }
1825
- }
1826
- parseQueryString(queryString) {
1827
- if (!queryString || queryString.length === 0) {
1828
- return {};
1829
- }
1830
- if (queryString.charAt(0) === "?") {
1831
- queryString = queryString.substr(1);
1832
- }
1833
- return this.urlHelper.parseQueryString(queryString);
1834
- }
1835
- tryLoginCodeFlow(options = null) {
1836
- return __async(this, null, function* () {
1837
- options = options || {};
1838
- const querySource = options.customHashFragment ? options.customHashFragment.substring(1) : window.location.search;
1839
- const parts = this.getCodePartsFromUrl(querySource);
1840
- const code = parts["code"];
1841
- const state = parts["state"];
1842
- const sessionState = parts["session_state"];
1843
- if (!options.preventClearHashAfterLogin) {
1844
- const href = location.origin + location.pathname + location.search.replace(/code=[^&$]*/, "").replace(/scope=[^&$]*/, "").replace(/state=[^&$]*/, "").replace(/session_state=[^&$]*/, "").replace(/^\?&/, "?").replace(/&$/, "").replace(/^\?$/, "").replace(/&+/g, "&").replace(/\?&/, "?").replace(/\?$/, "") + location.hash;
1845
- history.replaceState(null, window.name, href);
1846
- }
1847
- const [nonceInState, userState] = this.parseState(state);
1848
- this.state = userState;
1849
- if (parts["error"]) {
1850
- this.debug("error trying to login");
1851
- this.handleLoginError(options, parts);
1852
- const err2 = new OAuthErrorEvent("code_error", {}, parts);
1853
- this.eventsSubject.next(err2);
1854
- return Promise.reject(err2);
1855
- }
1856
- if (!options.disableNonceCheck) {
1857
- if (!nonceInState) {
1858
- this.saveRequestedRoute();
1859
- return Promise.resolve();
1860
- }
1861
- if (!options.disableOAuth2StateCheck) {
1862
- const success = this.validateNonce(nonceInState);
1863
- if (!success) {
1864
- const event = new OAuthErrorEvent("invalid_nonce_in_state", null);
1865
- this.eventsSubject.next(event);
1866
- return Promise.reject(event);
1867
- }
1868
- }
1869
- }
1870
- this.storeSessionState(sessionState);
1871
- if (code) {
1872
- yield this.getTokenFromCode(code, options);
1873
- this.restoreRequestedRoute();
1874
- return Promise.resolve();
1875
- } else {
1876
- return Promise.resolve();
1877
- }
1878
- });
1879
- }
1880
- saveRequestedRoute() {
1881
- if (this.config.preserveRequestedRoute) {
1882
- this._storage.setItem("requested_route", window.location.pathname + window.location.search);
1883
- }
1884
- }
1885
- restoreRequestedRoute() {
1886
- const requestedRoute = this._storage.getItem("requested_route");
1887
- if (requestedRoute) {
1888
- history.replaceState(null, "", window.location.origin + requestedRoute);
1889
- }
1890
- }
1891
- /**
1892
- * Retrieve the returned auth code from the redirect uri that has been called.
1893
- * If required also check hash, as we could use hash location strategy.
1894
- */
1895
- getCodePartsFromUrl(queryString) {
1896
- if (!queryString || queryString.length === 0) {
1897
- return this.urlHelper.getHashFragmentParams();
1898
- }
1899
- if (queryString.charAt(0) === "?") {
1900
- queryString = queryString.substr(1);
1901
- }
1902
- return this.urlHelper.parseQueryString(queryString);
1903
- }
1904
- /**
1905
- * Get token using an intermediate code. Works for the Authorization Code flow.
1906
- */
1907
- getTokenFromCode(code, options) {
1908
- let params = new import_http.HttpParams({ encoder: new WebHttpUrlEncodingCodec() }).set("grant_type", "authorization_code").set("code", code).set("redirect_uri", options.customRedirectUri || this.redirectUri);
1909
- if (!this.disablePKCE) {
1910
- let PKCEVerifier;
1911
- if (this.saveNoncesInLocalStorage && typeof window["localStorage"] !== "undefined") {
1912
- PKCEVerifier = localStorage.getItem("PKCE_verifier");
1913
- } else {
1914
- PKCEVerifier = this._storage.getItem("PKCE_verifier");
1915
- }
1916
- if (!PKCEVerifier) {
1917
- console.warn("No PKCE verifier found in oauth storage!");
1918
- } else {
1919
- params = params.set("code_verifier", PKCEVerifier);
1920
- }
1921
- }
1922
- return this.fetchAndProcessToken(params, options);
1923
- }
1924
- fetchAndProcessToken(params, options) {
1925
- options = options || {};
1926
- this.assertUrlNotNullAndCorrectProtocol(this.tokenEndpoint, "tokenEndpoint");
1927
- let headers = new import_http.HttpHeaders().set("Content-Type", "application/x-www-form-urlencoded");
1928
- if (this.useHttpBasicAuth) {
1929
- const header = btoa(`${this.clientId}:${this.dummyClientSecret}`);
1930
- headers = headers.set("Authorization", "Basic " + header);
1931
- }
1932
- if (!this.useHttpBasicAuth) {
1933
- params = params.set("client_id", this.clientId);
1934
- }
1935
- if (!this.useHttpBasicAuth && this.dummyClientSecret) {
1936
- params = params.set("client_secret", this.dummyClientSecret);
1937
- }
1938
- return new Promise((resolve, reject) => {
1939
- if (this.customQueryParams) {
1940
- for (const key of Object.getOwnPropertyNames(this.customQueryParams)) {
1941
- params = params.set(key, this.customQueryParams[key]);
1942
- }
1943
- }
1944
- this.http.post(this.tokenEndpoint, params, { headers }).subscribe((tokenResponse) => {
1945
- this.debug("refresh tokenResponse", tokenResponse);
1946
- this.storeAccessTokenResponse(tokenResponse.access_token, tokenResponse.refresh_token, tokenResponse.expires_in || this.fallbackAccessTokenExpirationTimeInSec, tokenResponse.scope, this.extractRecognizedCustomParameters(tokenResponse));
1947
- if (this.oidc && tokenResponse.id_token) {
1948
- this.processIdToken(tokenResponse.id_token, tokenResponse.access_token, options.disableNonceCheck).then((result) => {
1949
- this.storeIdToken(result);
1950
- this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
1951
- this.eventsSubject.next(new OAuthSuccessEvent("token_refreshed"));
1952
- resolve(tokenResponse);
1953
- }).catch((reason) => {
1954
- this.eventsSubject.next(new OAuthErrorEvent("token_validation_error", reason));
1955
- console.error("Error validating tokens");
1956
- console.error(reason);
1957
- reject(reason);
1958
- });
1959
- } else {
1960
- this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
1961
- this.eventsSubject.next(new OAuthSuccessEvent("token_refreshed"));
1962
- resolve(tokenResponse);
1963
- }
1964
- }, (err2) => {
1965
- console.error("Error getting token", err2);
1966
- this.eventsSubject.next(new OAuthErrorEvent("token_refresh_error", err2));
1967
- reject(err2);
1968
- });
1969
- });
1970
- }
1971
- /**
1972
- * Checks whether there are tokens in the hash fragment
1973
- * as a result of the implicit flow. These tokens are
1974
- * parsed, validated and used to sign the user in to the
1975
- * current client.
1976
- *
1977
- * @param options Optional options.
1978
- */
1979
- tryLoginImplicitFlow(options = null) {
1980
- options = options || {};
1981
- let parts;
1982
- if (options.customHashFragment) {
1983
- parts = this.urlHelper.getHashFragmentParams(options.customHashFragment);
1984
- } else {
1985
- parts = this.urlHelper.getHashFragmentParams();
1986
- }
1987
- this.debug("parsed url", parts);
1988
- const state = parts["state"];
1989
- const [nonceInState, userState] = this.parseState(state);
1990
- this.state = userState;
1991
- if (parts["error"]) {
1992
- this.debug("error trying to login");
1993
- this.handleLoginError(options, parts);
1994
- const err2 = new OAuthErrorEvent("token_error", {}, parts);
1995
- this.eventsSubject.next(err2);
1996
- return Promise.reject(err2);
1997
- }
1998
- const accessToken = parts["access_token"];
1999
- const idToken = parts["id_token"];
2000
- const sessionState = parts["session_state"];
2001
- const grantedScopes = parts["scope"];
2002
- if (!this.requestAccessToken && !this.oidc) {
2003
- return Promise.reject("Either requestAccessToken or oidc (or both) must be true.");
2004
- }
2005
- if (this.requestAccessToken && !accessToken) {
2006
- return Promise.resolve(false);
2007
- }
2008
- if (this.requestAccessToken && !options.disableOAuth2StateCheck && !state) {
2009
- return Promise.resolve(false);
2010
- }
2011
- if (this.oidc && !idToken) {
2012
- return Promise.resolve(false);
2013
- }
2014
- if (this.sessionChecksEnabled && !sessionState) {
2015
- this.logger.warn("session checks (Session Status Change Notification) were activated in the configuration but the id_token does not contain a session_state claim");
2016
- }
2017
- if (this.requestAccessToken && !options.disableNonceCheck) {
2018
- const success = this.validateNonce(nonceInState);
2019
- if (!success) {
2020
- const event = new OAuthErrorEvent("invalid_nonce_in_state", null);
2021
- this.eventsSubject.next(event);
2022
- return Promise.reject(event);
2023
- }
2024
- }
2025
- if (this.requestAccessToken) {
2026
- this.storeAccessTokenResponse(accessToken, null, parts["expires_in"] || this.fallbackAccessTokenExpirationTimeInSec, grantedScopes);
2027
- }
2028
- if (!this.oidc) {
2029
- this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
2030
- if (this.clearHashAfterLogin && !options.preventClearHashAfterLogin) {
2031
- this.clearLocationHash();
2032
- }
2033
- this.callOnTokenReceivedIfExists(options);
2034
- return Promise.resolve(true);
2035
- }
2036
- return this.processIdToken(idToken, accessToken, options.disableNonceCheck).then((result) => {
2037
- if (options.validationHandler) {
2038
- return options.validationHandler({
2039
- accessToken,
2040
- idClaims: result.idTokenClaims,
2041
- idToken: result.idToken,
2042
- state
2043
- }).then(() => result);
2044
- }
2045
- return result;
2046
- }).then((result) => {
2047
- this.storeIdToken(result);
2048
- this.storeSessionState(sessionState);
2049
- if (this.clearHashAfterLogin && !options.preventClearHashAfterLogin) {
2050
- this.clearLocationHash();
2051
- }
2052
- this.eventsSubject.next(new OAuthSuccessEvent("token_received"));
2053
- this.callOnTokenReceivedIfExists(options);
2054
- this.inImplicitFlow = false;
2055
- return true;
2056
- }).catch((reason) => {
2057
- this.eventsSubject.next(new OAuthErrorEvent("token_validation_error", reason));
2058
- this.logger.error("Error validating tokens");
2059
- this.logger.error(reason);
2060
- return Promise.reject(reason);
2061
- });
2062
- }
2063
- parseState(state) {
2064
- let nonce = state;
2065
- let userState = "";
2066
- if (state) {
2067
- const idx = state.indexOf(this.config.nonceStateSeparator);
2068
- if (idx > -1) {
2069
- nonce = state.substr(0, idx);
2070
- userState = state.substr(idx + this.config.nonceStateSeparator.length);
2071
- }
2072
- }
2073
- return [nonce, userState];
2074
- }
2075
- validateNonce(nonceInState) {
2076
- let savedNonce;
2077
- if (this.saveNoncesInLocalStorage && typeof window["localStorage"] !== "undefined") {
2078
- savedNonce = localStorage.getItem("nonce");
2079
- } else {
2080
- savedNonce = this._storage.getItem("nonce");
2081
- }
2082
- if (savedNonce !== nonceInState) {
2083
- const err2 = "Validating access_token failed, wrong state/nonce.";
2084
- console.error(err2, savedNonce, nonceInState);
2085
- return false;
2086
- }
2087
- return true;
2088
- }
2089
- storeIdToken(idToken) {
2090
- this._storage.setItem("id_token", idToken.idToken);
2091
- this._storage.setItem("id_token_claims_obj", idToken.idTokenClaimsJson);
2092
- this._storage.setItem("id_token_expires_at", "" + idToken.idTokenExpiresAt);
2093
- this._storage.setItem("id_token_stored_at", "" + this.dateTimeService.now());
2094
- }
2095
- storeSessionState(sessionState) {
2096
- this._storage.setItem("session_state", sessionState);
2097
- }
2098
- getSessionState() {
2099
- return this._storage.getItem("session_state");
2100
- }
2101
- handleLoginError(options, parts) {
2102
- if (options.onLoginError) {
2103
- options.onLoginError(parts);
2104
- }
2105
- if (this.clearHashAfterLogin && !options.preventClearHashAfterLogin) {
2106
- this.clearLocationHash();
2107
- }
2108
- }
2109
- getClockSkewInMsec(defaultSkewMsc = 6e5) {
2110
- if (!this.clockSkewInSec && this.clockSkewInSec !== 0) {
2111
- return defaultSkewMsc;
2112
- }
2113
- return this.clockSkewInSec * 1e3;
2114
- }
2115
- /**
2116
- * @ignore
2117
- */
2118
- processIdToken(idToken, accessToken, skipNonceCheck = false) {
2119
- const tokenParts = idToken.split(".");
2120
- const headerBase64 = this.padBase64(tokenParts[0]);
2121
- const headerJson = b64DecodeUnicode(headerBase64);
2122
- const header = JSON.parse(headerJson);
2123
- const claimsBase64 = this.padBase64(tokenParts[1]);
2124
- const claimsJson = b64DecodeUnicode(claimsBase64);
2125
- const claims = JSON.parse(claimsJson);
2126
- let savedNonce;
2127
- if (this.saveNoncesInLocalStorage && typeof window["localStorage"] !== "undefined") {
2128
- savedNonce = localStorage.getItem("nonce");
2129
- } else {
2130
- savedNonce = this._storage.getItem("nonce");
2131
- }
2132
- if (Array.isArray(claims.aud)) {
2133
- if (claims.aud.every((v) => v !== this.clientId)) {
2134
- const err2 = "Wrong audience: " + claims.aud.join(",");
2135
- this.logger.warn(err2);
2136
- return Promise.reject(err2);
2137
- }
2138
- } else {
2139
- if (claims.aud !== this.clientId) {
2140
- const err2 = "Wrong audience: " + claims.aud;
2141
- this.logger.warn(err2);
2142
- return Promise.reject(err2);
2143
- }
2144
- }
2145
- if (!claims.sub) {
2146
- const err2 = "No sub claim in id_token";
2147
- this.logger.warn(err2);
2148
- return Promise.reject(err2);
2149
- }
2150
- if (this.sessionChecksEnabled && this.silentRefreshSubject && this.silentRefreshSubject !== claims["sub"]) {
2151
- const err2 = `After refreshing, we got an id_token for another user (sub). Expected sub: ${this.silentRefreshSubject}, received sub: ${claims["sub"]}`;
2152
- this.logger.warn(err2);
2153
- return Promise.reject(err2);
2154
- }
2155
- if (!claims.iat) {
2156
- const err2 = "No iat claim in id_token";
2157
- this.logger.warn(err2);
2158
- return Promise.reject(err2);
2159
- }
2160
- if (!this.skipIssuerCheck && claims.iss !== this.issuer) {
2161
- const err2 = "Wrong issuer: " + claims.iss;
2162
- this.logger.warn(err2);
2163
- return Promise.reject(err2);
2164
- }
2165
- if (!skipNonceCheck && claims.nonce !== savedNonce) {
2166
- const err2 = "Wrong nonce: " + claims.nonce;
2167
- this.logger.warn(err2);
2168
- return Promise.reject(err2);
2169
- }
2170
- if (Object.prototype.hasOwnProperty.call(this, "responseType") && (this.responseType === "code" || this.responseType === "id_token")) {
2171
- this.disableAtHashCheck = true;
2172
- }
2173
- if (!this.disableAtHashCheck && this.requestAccessToken && !claims["at_hash"]) {
2174
- const err2 = "An at_hash is needed!";
2175
- this.logger.warn(err2);
2176
- return Promise.reject(err2);
2177
- }
2178
- const now = this.dateTimeService.now();
2179
- const issuedAtMSec = claims.iat * 1e3;
2180
- const expiresAtMSec = claims.exp * 1e3;
2181
- const clockSkewInMSec = this.getClockSkewInMsec();
2182
- if (issuedAtMSec - clockSkewInMSec >= now || expiresAtMSec + clockSkewInMSec - this.decreaseExpirationBySec <= now) {
2183
- const err2 = "Token has expired";
2184
- console.error(err2);
2185
- console.error({
2186
- now,
2187
- issuedAtMSec,
2188
- expiresAtMSec
2189
- });
2190
- return Promise.reject(err2);
2191
- }
2192
- const validationParams = {
2193
- accessToken,
2194
- idToken,
2195
- jwks: this.jwks,
2196
- idTokenClaims: claims,
2197
- idTokenHeader: header,
2198
- loadKeys: () => this.loadJwks()
2199
- };
2200
- if (this.disableAtHashCheck) {
2201
- return this.checkSignature(validationParams).then(() => {
2202
- const result = {
2203
- idToken,
2204
- idTokenClaims: claims,
2205
- idTokenClaimsJson: claimsJson,
2206
- idTokenHeader: header,
2207
- idTokenHeaderJson: headerJson,
2208
- idTokenExpiresAt: expiresAtMSec
2209
- };
2210
- return result;
2211
- });
2212
- }
2213
- return this.checkAtHash(validationParams).then((atHashValid) => {
2214
- if (!this.disableAtHashCheck && this.requestAccessToken && !atHashValid) {
2215
- const err2 = "Wrong at_hash";
2216
- this.logger.warn(err2);
2217
- return Promise.reject(err2);
2218
- }
2219
- return this.checkSignature(validationParams).then(() => {
2220
- const atHashCheckEnabled = !this.disableAtHashCheck;
2221
- const result = {
2222
- idToken,
2223
- idTokenClaims: claims,
2224
- idTokenClaimsJson: claimsJson,
2225
- idTokenHeader: header,
2226
- idTokenHeaderJson: headerJson,
2227
- idTokenExpiresAt: expiresAtMSec
2228
- };
2229
- if (atHashCheckEnabled) {
2230
- return this.checkAtHash(validationParams).then((atHashValid2) => {
2231
- if (this.requestAccessToken && !atHashValid2) {
2232
- const err2 = "Wrong at_hash";
2233
- this.logger.warn(err2);
2234
- return Promise.reject(err2);
2235
- } else {
2236
- return result;
2237
- }
2238
- });
2239
- } else {
2240
- return result;
2241
- }
2242
- });
2243
- });
2244
- }
2245
- /**
2246
- * Returns the received claims about the user.
2247
- */
2248
- getIdentityClaims() {
2249
- const claims = this._storage.getItem("id_token_claims_obj");
2250
- if (!claims) {
2251
- return null;
2252
- }
2253
- return JSON.parse(claims);
2254
- }
2255
- /**
2256
- * Returns the granted scopes from the server.
2257
- */
2258
- getGrantedScopes() {
2259
- const scopes = this._storage.getItem("granted_scopes");
2260
- if (!scopes) {
2261
- return null;
2262
- }
2263
- return JSON.parse(scopes);
2264
- }
2265
- /**
2266
- * Returns the current id_token.
2267
- */
2268
- getIdToken() {
2269
- return this._storage ? this._storage.getItem("id_token") : null;
2270
- }
2271
- padBase64(base64data) {
2272
- while (base64data.length % 4 !== 0) {
2273
- base64data += "=";
2274
- }
2275
- return base64data;
2276
- }
2277
- /**
2278
- * Returns the current access_token.
2279
- */
2280
- getAccessToken() {
2281
- return this._storage ? this._storage.getItem("access_token") : null;
2282
- }
2283
- getRefreshToken() {
2284
- return this._storage ? this._storage.getItem("refresh_token") : null;
2285
- }
2286
- /**
2287
- * Returns the expiration date of the access_token
2288
- * as milliseconds since 1970.
2289
- */
2290
- getAccessTokenExpiration() {
2291
- if (!this._storage.getItem("expires_at")) {
2292
- return null;
2293
- }
2294
- return parseInt(this._storage.getItem("expires_at"), 10);
2295
- }
2296
- getAccessTokenStoredAt() {
2297
- return parseInt(this._storage.getItem("access_token_stored_at"), 10);
2298
- }
2299
- getIdTokenStoredAt() {
2300
- return parseInt(this._storage.getItem("id_token_stored_at"), 10);
2301
- }
2302
- /**
2303
- * Returns the expiration date of the id_token
2304
- * as milliseconds since 1970.
2305
- */
2306
- getIdTokenExpiration() {
2307
- if (!this._storage.getItem("id_token_expires_at")) {
2308
- return null;
2309
- }
2310
- return parseInt(this._storage.getItem("id_token_expires_at"), 10);
2311
- }
2312
- /**
2313
- * Checkes, whether there is a valid access_token.
2314
- */
2315
- hasValidAccessToken() {
2316
- if (this.getAccessToken()) {
2317
- const expiresAt = this._storage.getItem("expires_at");
2318
- const now = this.dateTimeService.new();
2319
- if (expiresAt && parseInt(expiresAt, 10) - this.decreaseExpirationBySec < now.getTime() - this.getClockSkewInMsec()) {
2320
- return false;
2321
- }
2322
- return true;
2323
- }
2324
- return false;
2325
- }
2326
- /**
2327
- * Checks whether there is a valid id_token.
2328
- */
2329
- hasValidIdToken() {
2330
- if (this.getIdToken()) {
2331
- const expiresAt = this._storage.getItem("id_token_expires_at");
2332
- const now = this.dateTimeService.new();
2333
- if (expiresAt && parseInt(expiresAt, 10) - this.decreaseExpirationBySec < now.getTime() - this.getClockSkewInMsec()) {
2334
- return false;
2335
- }
2336
- return true;
2337
- }
2338
- return false;
2339
- }
2340
- /**
2341
- * Retrieve a saved custom property of the TokenReponse object. Only if predefined in authconfig.
2342
- */
2343
- getCustomTokenResponseProperty(requestedProperty) {
2344
- return this._storage && this.config.customTokenParameters && this.config.customTokenParameters.indexOf(requestedProperty) >= 0 && this._storage.getItem(requestedProperty) !== null ? JSON.parse(this._storage.getItem(requestedProperty)) : null;
2345
- }
2346
- /**
2347
- * Returns the auth-header that can be used
2348
- * to transmit the access_token to a service
2349
- */
2350
- authorizationHeader() {
2351
- return "Bearer " + this.getAccessToken();
2352
- }
2353
- logOut(customParameters = {}, state = "") {
2354
- let noRedirectToLogoutUrl = false;
2355
- if (typeof customParameters === "boolean") {
2356
- noRedirectToLogoutUrl = customParameters;
2357
- customParameters = {};
2358
- }
2359
- const id_token = this.getIdToken();
2360
- this._storage.removeItem("access_token");
2361
- this._storage.removeItem("id_token");
2362
- this._storage.removeItem("refresh_token");
2363
- if (this.saveNoncesInLocalStorage) {
2364
- localStorage.removeItem("nonce");
2365
- localStorage.removeItem("PKCE_verifier");
2366
- } else {
2367
- this._storage.removeItem("nonce");
2368
- this._storage.removeItem("PKCE_verifier");
2369
- }
2370
- this._storage.removeItem("expires_at");
2371
- this._storage.removeItem("id_token_claims_obj");
2372
- this._storage.removeItem("id_token_expires_at");
2373
- this._storage.removeItem("id_token_stored_at");
2374
- this._storage.removeItem("access_token_stored_at");
2375
- this._storage.removeItem("granted_scopes");
2376
- this._storage.removeItem("session_state");
2377
- if (this.config.customTokenParameters) {
2378
- this.config.customTokenParameters.forEach((customParam) => this._storage.removeItem(customParam));
2379
- }
2380
- this.silentRefreshSubject = null;
2381
- this.eventsSubject.next(new OAuthInfoEvent("logout"));
2382
- if (!this.logoutUrl) {
2383
- return;
2384
- }
2385
- if (noRedirectToLogoutUrl) {
2386
- return;
2387
- }
2388
- let logoutUrl;
2389
- if (!this.validateUrlForHttps(this.logoutUrl)) {
2390
- throw new Error("logoutUrl must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
2391
- }
2392
- if (this.logoutUrl.indexOf("{{") > -1) {
2393
- logoutUrl = this.logoutUrl.replace(/\{\{id_token\}\}/, encodeURIComponent(id_token)).replace(/\{\{client_id\}\}/, encodeURIComponent(this.clientId));
2394
- } else {
2395
- let params = new import_http.HttpParams({ encoder: new WebHttpUrlEncodingCodec() });
2396
- if (id_token) {
2397
- params = params.set("id_token_hint", id_token);
2398
- }
2399
- const postLogoutUrl = this.postLogoutRedirectUri || this.redirectUriAsPostLogoutRedirectUriFallback && this.redirectUri || "";
2400
- if (postLogoutUrl) {
2401
- params = params.set("post_logout_redirect_uri", postLogoutUrl);
2402
- if (state) {
2403
- params = params.set("state", state);
2404
- }
2405
- }
2406
- for (const key in customParameters) {
2407
- params = params.set(key, customParameters[key]);
2408
- }
2409
- logoutUrl = this.logoutUrl + (this.logoutUrl.indexOf("?") > -1 ? "&" : "?") + params.toString();
2410
- }
2411
- this.config.openUri(logoutUrl);
2412
- }
2413
- /**
2414
- * @ignore
2415
- */
2416
- createAndSaveNonce() {
2417
- const that = this;
2418
- return this.createNonce().then(function(nonce) {
2419
- if (that.saveNoncesInLocalStorage && typeof window["localStorage"] !== "undefined") {
2420
- localStorage.setItem("nonce", nonce);
2421
- } else {
2422
- that._storage.setItem("nonce", nonce);
2423
- }
2424
- return nonce;
2425
- });
2426
- }
2427
- /**
2428
- * @ignore
2429
- */
2430
- ngOnDestroy() {
2431
- this.clearAccessTokenTimer();
2432
- this.clearIdTokenTimer();
2433
- this.removeSilentRefreshEventListener();
2434
- const silentRefreshFrame = this.document.getElementById(this.silentRefreshIFrameName);
2435
- if (silentRefreshFrame) {
2436
- silentRefreshFrame.remove();
2437
- }
2438
- this.stopSessionCheckTimer();
2439
- this.removeSessionCheckEventListener();
2440
- const sessionCheckFrame = this.document.getElementById(this.sessionCheckIFrameName);
2441
- if (sessionCheckFrame) {
2442
- sessionCheckFrame.remove();
2443
- }
2444
- }
2445
- createNonce() {
2446
- return new Promise((resolve) => {
2447
- if (this.rngUrl) {
2448
- throw new Error("createNonce with rng-web-api has not been implemented so far");
2449
- }
2450
- const unreserved = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";
2451
- let size = 45;
2452
- let id = "";
2453
- const crypto = typeof self === "undefined" ? null : self.crypto || self["msCrypto"];
2454
- if (crypto) {
2455
- let bytes = new Uint8Array(size);
2456
- crypto.getRandomValues(bytes);
2457
- if (!bytes.map) {
2458
- bytes.map = Array.prototype.map;
2459
- }
2460
- bytes = bytes.map((x) => unreserved.charCodeAt(x % unreserved.length));
2461
- id = String.fromCharCode.apply(null, bytes);
2462
- } else {
2463
- while (0 < size--) {
2464
- id += unreserved[Math.random() * unreserved.length | 0];
2465
- }
2466
- }
2467
- resolve(base64UrlEncode(id));
2468
- });
2469
- }
2470
- checkAtHash(params) {
2471
- return __async(this, null, function* () {
2472
- if (!this.tokenValidationHandler) {
2473
- this.logger.warn("No tokenValidationHandler configured. Cannot check at_hash.");
2474
- return true;
2475
- }
2476
- return this.tokenValidationHandler.validateAtHash(params);
2477
- });
2478
- }
2479
- checkSignature(params) {
2480
- if (!this.tokenValidationHandler) {
2481
- this.logger.warn("No tokenValidationHandler configured. Cannot check signature.");
2482
- return Promise.resolve(null);
2483
- }
2484
- return this.tokenValidationHandler.validateSignature(params);
2485
- }
2486
- /**
2487
- * Start the implicit flow or the code flow,
2488
- * depending on your configuration.
2489
- */
2490
- initLoginFlow(additionalState = "", params = {}) {
2491
- if (this.responseType === "code") {
2492
- return this.initCodeFlow(additionalState, params);
2493
- } else {
2494
- return this.initImplicitFlow(additionalState, params);
2495
- }
2496
- }
2497
- /**
2498
- * Starts the authorization code flow and redirects to user to
2499
- * the auth servers login url.
2500
- */
2501
- initCodeFlow(additionalState = "", params = {}) {
2502
- if (this.loginUrl !== "") {
2503
- this.initCodeFlowInternal(additionalState, params);
2504
- } else {
2505
- this.events.pipe((0, import_operators.filter)((e) => e.type === "discovery_document_loaded")).subscribe(() => this.initCodeFlowInternal(additionalState, params));
2506
- }
2507
- }
2508
- initCodeFlowInternal(additionalState = "", params = {}) {
2509
- if (!this.validateUrlForHttps(this.loginUrl)) {
2510
- throw new Error("loginUrl must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).");
2511
- }
2512
- let addParams = {};
2513
- let loginHint = null;
2514
- if (typeof params === "string") {
2515
- loginHint = params;
2516
- } else if (typeof params === "object") {
2517
- addParams = params;
2518
- }
2519
- this.createLoginUrl(additionalState, loginHint, null, false, addParams).then(this.config.openUri).catch((error) => {
2520
- console.error("Error in initAuthorizationCodeFlow");
2521
- console.error(error);
2522
- });
2523
- }
2524
- createChallangeVerifierPairForPKCE() {
2525
- return __async(this, null, function* () {
2526
- if (!this.crypto) {
2527
- throw new Error("PKCE support for code flow needs a CryptoHander. Did you import the OAuthModule using forRoot() ?");
2528
- }
2529
- const verifier = yield this.createNonce();
2530
- const challengeRaw = yield this.crypto.calcHash(verifier, "sha-256");
2531
- const challenge = base64UrlEncode(challengeRaw);
2532
- return [challenge, verifier];
2533
- });
2534
- }
2535
- extractRecognizedCustomParameters(tokenResponse) {
2536
- const foundParameters = /* @__PURE__ */ new Map();
2537
- if (!this.config.customTokenParameters) {
2538
- return foundParameters;
2539
- }
2540
- this.config.customTokenParameters.forEach((recognizedParameter) => {
2541
- if (tokenResponse[recognizedParameter]) {
2542
- foundParameters.set(recognizedParameter, JSON.stringify(tokenResponse[recognizedParameter]));
2543
- }
2544
- });
2545
- return foundParameters;
2546
- }
2547
- /**
2548
- * Revokes the auth token to secure the vulnarability
2549
- * of the token issued allowing the authorization server to clean
2550
- * up any security credentials associated with the authorization
2551
- */
2552
- revokeTokenAndLogout(customParameters = {}, ignoreCorsIssues = false) {
2553
- const revokeEndpoint = this.revocationEndpoint;
2554
- const accessToken = this.getAccessToken();
2555
- const refreshToken = this.getRefreshToken();
2556
- if (!accessToken) {
2557
- return Promise.resolve();
2558
- }
2559
- let params = new import_http.HttpParams({ encoder: new WebHttpUrlEncodingCodec() });
2560
- let headers = new import_http.HttpHeaders().set("Content-Type", "application/x-www-form-urlencoded");
2561
- if (this.useHttpBasicAuth) {
2562
- const header = btoa(`${this.clientId}:${this.dummyClientSecret}`);
2563
- headers = headers.set("Authorization", "Basic " + header);
2564
- }
2565
- if (!this.useHttpBasicAuth) {
2566
- params = params.set("client_id", this.clientId);
2567
- }
2568
- if (!this.useHttpBasicAuth && this.dummyClientSecret) {
2569
- params = params.set("client_secret", this.dummyClientSecret);
2570
- }
2571
- if (this.customQueryParams) {
2572
- for (const key of Object.getOwnPropertyNames(this.customQueryParams)) {
2573
- params = params.set(key, this.customQueryParams[key]);
2574
- }
2575
- }
2576
- return new Promise((resolve, reject) => {
2577
- let revokeAccessToken;
2578
- let revokeRefreshToken;
2579
- if (accessToken) {
2580
- const revokationParams = params.set("token", accessToken).set("token_type_hint", "access_token");
2581
- revokeAccessToken = this.http.post(revokeEndpoint, revokationParams, { headers });
2582
- } else {
2583
- revokeAccessToken = (0, import_rxjs.of)(null);
2584
- }
2585
- if (refreshToken) {
2586
- const revokationParams = params.set("token", refreshToken).set("token_type_hint", "refresh_token");
2587
- revokeRefreshToken = this.http.post(revokeEndpoint, revokationParams, { headers });
2588
- } else {
2589
- revokeRefreshToken = (0, import_rxjs.of)(null);
2590
- }
2591
- if (ignoreCorsIssues) {
2592
- revokeAccessToken = revokeAccessToken.pipe((0, import_operators.catchError)((err2) => {
2593
- if (err2.status === 0) {
2594
- return (0, import_rxjs.of)(null);
2595
- }
2596
- return (0, import_rxjs.throwError)(err2);
2597
- }));
2598
- revokeRefreshToken = revokeRefreshToken.pipe((0, import_operators.catchError)((err2) => {
2599
- if (err2.status === 0) {
2600
- return (0, import_rxjs.of)(null);
2601
- }
2602
- return (0, import_rxjs.throwError)(err2);
2603
- }));
2604
- }
2605
- (0, import_rxjs.combineLatest)([revokeAccessToken, revokeRefreshToken]).subscribe((res) => {
2606
- this.logOut(customParameters);
2607
- resolve(res);
2608
- this.logger.info("Token successfully revoked");
2609
- }, (err2) => {
2610
- this.logger.error("Error revoking token", err2);
2611
- this.eventsSubject.next(new OAuthErrorEvent("token_revoke_error", err2));
2612
- reject(err2);
2613
- });
2614
- });
2615
- }
2616
- /**
2617
- * Clear location.hash if it's present
2618
- */
2619
- clearLocationHash() {
2620
- if (location.hash != "") {
2621
- location.hash = "";
2622
- }
2623
- }
2624
- };
2625
- _OAuthService.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _OAuthService, deps: [{ token: i0.NgZone }, { token: i1.HttpClient }, { token: OAuthStorage, optional: true }, { token: ValidationHandler, optional: true }, { token: AuthConfig, optional: true }, { token: UrlHelperService }, { token: OAuthLogger }, { token: HashHandler, optional: true }, { token: import_common.DOCUMENT }, { token: DateTimeProvider }], target: i0.\u0275\u0275FactoryTarget.Injectable });
2626
- _OAuthService.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _OAuthService });
2627
- let OAuthService = _OAuthService;
2628
- i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: OAuthService, decorators: [{
2629
- type: import_core.Injectable
2630
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.HttpClient }, { type: OAuthStorage, decorators: [{
2631
- type: import_core.Optional
2632
- }] }, { type: ValidationHandler, decorators: [{
2633
- type: import_core.Optional
2634
- }] }, { type: AuthConfig, decorators: [{
2635
- type: import_core.Optional
2636
- }] }, { type: UrlHelperService }, { type: OAuthLogger }, { type: HashHandler, decorators: [{
2637
- type: import_core.Optional
2638
- }] }, { type: Document, decorators: [{
2639
- type: import_core.Inject,
2640
- args: [import_common.DOCUMENT]
2641
- }] }, { type: DateTimeProvider }] });
2642
- class OAuthResourceServerErrorHandler {
2643
- }
2644
- class OAuthNoopResourceServerErrorHandler {
2645
- handleError(err2) {
2646
- return (0, import_rxjs.throwError)(err2);
2647
- }
2648
- }
2649
- const _DefaultOAuthInterceptor = class _DefaultOAuthInterceptor {
2650
- constructor(oAuthService, errorHandler, moduleConfig) {
2651
- this.oAuthService = oAuthService;
2652
- this.errorHandler = errorHandler;
2653
- this.moduleConfig = moduleConfig;
2654
- }
2655
- checkUrl(url) {
2656
- if (this.moduleConfig.resourceServer.customUrlValidation) {
2657
- return this.moduleConfig.resourceServer.customUrlValidation(url);
2658
- }
2659
- if (this.moduleConfig.resourceServer.allowedUrls) {
2660
- return !!this.moduleConfig.resourceServer.allowedUrls.find((u) => url.toLowerCase().startsWith(u.toLowerCase()));
2661
- }
2662
- return true;
2663
- }
2664
- intercept(req, next) {
2665
- const url = req.url.toLowerCase();
2666
- if (!this.moduleConfig || !this.moduleConfig.resourceServer || !this.checkUrl(url)) {
2667
- return next.handle(req);
2668
- }
2669
- const sendAccessToken = this.moduleConfig.resourceServer.sendAccessToken;
2670
- if (!sendAccessToken) {
2671
- return next.handle(req).pipe((0, import_operators.catchError)((err2) => this.errorHandler.handleError(err2)));
2672
- }
2673
- return (0, import_rxjs.merge)((0, import_rxjs.of)(this.oAuthService.getAccessToken()).pipe((0, import_operators.filter)((token) => !!token)), this.oAuthService.events.pipe(
2674
- (0, import_operators.filter)((e) => e.type === "token_received"),
2675
- (0, import_operators.timeout)(this.oAuthService.waitForTokenInMsec || 0),
2676
- (0, import_operators.catchError)(() => (0, import_rxjs.of)(null)),
2677
- // timeout is not an error
2678
- (0, import_operators.map)(() => this.oAuthService.getAccessToken())
2679
- )).pipe((0, import_operators.take)(1), (0, import_operators.mergeMap)((token) => {
2680
- if (token) {
2681
- const header = "Bearer " + token;
2682
- const headers = req.headers.set("Authorization", header);
2683
- req = req.clone({ headers });
2684
- }
2685
- return next.handle(req).pipe((0, import_operators.catchError)((err2) => this.errorHandler.handleError(err2)));
2686
- }));
2687
- }
2688
- };
2689
- _DefaultOAuthInterceptor.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _DefaultOAuthInterceptor, deps: [{ token: OAuthService }, { token: OAuthResourceServerErrorHandler }, { token: OAuthModuleConfig, optional: true }], target: i0.\u0275\u0275FactoryTarget.Injectable });
2690
- _DefaultOAuthInterceptor.\u0275prov = i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _DefaultOAuthInterceptor });
2691
- let DefaultOAuthInterceptor = _DefaultOAuthInterceptor;
2692
- i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DefaultOAuthInterceptor, decorators: [{
2693
- type: import_core.Injectable
2694
- }], ctorParameters: () => [{ type: OAuthService }, { type: OAuthResourceServerErrorHandler }, { type: OAuthModuleConfig, decorators: [{
2695
- type: import_core.Optional
2696
- }] }] });
2697
- function createDefaultLogger() {
2698
- return console;
2699
- }
2700
- function createDefaultStorage() {
2701
- return typeof sessionStorage !== "undefined" ? sessionStorage : new MemoryStorage();
2702
- }
2703
- function provideOAuthClient(config = null, validationHandlerClass = NullValidationHandler) {
2704
- return (0, import_core.makeEnvironmentProviders)([
2705
- OAuthService,
2706
- UrlHelperService,
2707
- { provide: OAuthLogger, useFactory: createDefaultLogger },
2708
- { provide: OAuthStorage, useFactory: createDefaultStorage },
2709
- { provide: ValidationHandler, useClass: validationHandlerClass },
2710
- { provide: HashHandler, useClass: DefaultHashHandler },
2711
- {
2712
- provide: OAuthResourceServerErrorHandler,
2713
- useClass: OAuthNoopResourceServerErrorHandler
2714
- },
2715
- { provide: OAuthModuleConfig, useValue: config },
2716
- {
2717
- provide: import_http.HTTP_INTERCEPTORS,
2718
- useClass: DefaultOAuthInterceptor,
2719
- multi: true
2720
- },
2721
- { provide: DateTimeProvider, useClass: SystemDateTimeProvider }
2722
- ]);
2723
- }
2724
- const _OAuthModule = class _OAuthModule {
2725
- static forRoot(config = null, validationHandlerClass = NullValidationHandler) {
2726
- return {
2727
- ngModule: _OAuthModule,
2728
- providers: [provideOAuthClient(config, validationHandlerClass)]
2729
- };
2730
- }
2731
- };
2732
- _OAuthModule.\u0275fac = i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _OAuthModule, deps: [], target: i0.\u0275\u0275FactoryTarget.NgModule });
2733
- _OAuthModule.\u0275mod = i0.\u0275\u0275ngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: _OAuthModule, imports: [import_common.CommonModule] });
2734
- _OAuthModule.\u0275inj = i0.\u0275\u0275ngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: _OAuthModule, imports: [import_common.CommonModule] });
2735
- let OAuthModule = _OAuthModule;
2736
- i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: OAuthModule, decorators: [{
2737
- type: import_core.NgModule,
2738
- args: [{
2739
- imports: [import_common.CommonModule],
2740
- declarations: [],
2741
- exports: []
2742
- }]
2743
- }] });
2744
- const err = `PLEASE READ THIS CAREFULLY:
2745
-
2746
- Beginning with angular-oauth2-oidc version 9, the JwksValidationHandler
2747
- has been moved to an library of its own. If you need it for implementing
2748
- OAuth2/OIDC **implicit flow**, please install it using npm:
2749
-
2750
- npm i angular-oauth2-oidc-jwks --save
2751
-
2752
- After that, you can import it into your application:
2753
-
2754
- import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';
2755
-
2756
- Please note, that this dependency is not needed for the **code flow**,
2757
- which is nowadays the **recommented** one for single page applications.
2758
- This also results in smaller bundle sizes.
2759
- `;
2760
- class JwksValidationHandler extends NullValidationHandler {
2761
- constructor() {
2762
- super();
2763
- console.error(err);
2764
- }
2765
- }
2766
- const AUTH_CONFIG = new import_core.InjectionToken("AUTH_CONFIG");