@dereekb/dbx-core 2.0.0 → 4.0.0

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 (237) hide show
  1. package/esm2020/lib/action/action.handler.mjs +3 -125
  2. package/esm2020/lib/action/action.machine.mjs +8 -7
  3. package/esm2020/lib/action/action.module.mjs +10 -10
  4. package/esm2020/lib/action/action.store.mjs +3 -3
  5. package/esm2020/lib/action/action.store.source.mjs +3 -3
  6. package/esm2020/lib/action/directive/auto/action.automodify.directive.mjs +4 -4
  7. package/esm2020/lib/action/directive/auto/action.autotrigger.directive.mjs +7 -6
  8. package/esm2020/lib/action/directive/context/action.directive.mjs +3 -3
  9. package/esm2020/lib/action/directive/context/action.source.directive.mjs +3 -3
  10. package/esm2020/lib/action/directive/debug/action.logger.directive.mjs +3 -3
  11. package/esm2020/lib/action/directive/map/action.map.directive.mjs +3 -3
  12. package/esm2020/lib/action/directive/map/action.map.key.directive.mjs +3 -3
  13. package/esm2020/lib/action/directive/map/action.map.source.directive.mjs +3 -3
  14. package/esm2020/lib/action/directive/map/action.map.working.disable.directive.mjs +3 -3
  15. package/esm2020/lib/action/directive/state/action.disabled.directive.mjs +5 -6
  16. package/esm2020/lib/action/directive/state/action.enforce.modified.directive.mjs +6 -6
  17. package/esm2020/lib/action/directive/state/action.handler.directive.mjs +10 -9
  18. package/esm2020/lib/action/directive/state/action.success.directive.mjs +23 -35
  19. package/esm2020/lib/action/directive/state/action.success.handler.directive.mjs +48 -0
  20. package/esm2020/lib/action/directive/state/action.value.directive.mjs +8 -8
  21. package/esm2020/lib/action/directive/state/action.value.stream.directive.mjs +4 -4
  22. package/esm2020/lib/action/directive/state/action.value.trigger.directive.mjs +73 -0
  23. package/esm2020/lib/action/directive/state/action.value.trigger.instance.mjs +43 -0
  24. package/esm2020/lib/action/directive/state/action.working.component.mjs +28 -22
  25. package/esm2020/lib/action/directive/state/index.mjs +4 -2
  26. package/esm2020/lib/auth/auth.module.mjs +26 -0
  27. package/esm2020/lib/auth/auth.role.any.directive.mjs +36 -0
  28. package/esm2020/lib/auth/auth.role.has.directive.mjs +36 -0
  29. package/esm2020/lib/auth/auth.state.module.mjs +28 -0
  30. package/esm2020/lib/auth/auth.state.service.mjs +23 -0
  31. package/esm2020/lib/auth/auth.user.mjs +11 -0
  32. package/esm2020/lib/auth/index.mjs +10 -0
  33. package/esm2020/lib/auth/router/auth.router.mjs +6 -0
  34. package/esm2020/lib/auth/router/auth.router.module.mjs +26 -0
  35. package/esm2020/lib/auth/router/auth.router.service.mjs +61 -0
  36. package/esm2020/lib/auth/router/index.mjs +6 -0
  37. package/esm2020/lib/auth/router/provider/uirouter/auth.hook.mjs +23 -0
  38. package/esm2020/lib/auth/router/provider/uirouter/hook.mjs +65 -0
  39. package/esm2020/lib/auth/router/provider/uirouter/index.mjs +6 -0
  40. package/esm2020/lib/auth/router/provider/uirouter/redirect.mjs +29 -0
  41. package/esm2020/lib/auth/router/provider/uirouter/role.hook.mjs +32 -0
  42. package/esm2020/lib/auth/router/provider/uirouter/state.hook.mjs +53 -0
  43. package/esm2020/lib/auth/router/state/auth.router.state.module.mjs +32 -0
  44. package/esm2020/lib/auth/router/state/effect/auth.router.state.effect.mjs +46 -0
  45. package/esm2020/lib/auth/router/state/effect/index.mjs +2 -0
  46. package/esm2020/lib/auth/router/state/index.mjs +3 -0
  47. package/esm2020/lib/auth/service/auth.service.mjs +6 -0
  48. package/esm2020/lib/auth/service/auth.service.rxjs.mjs +27 -0
  49. package/esm2020/lib/auth/service/index.mjs +3 -0
  50. package/esm2020/lib/auth/state/action/auth.action.mjs +14 -0
  51. package/esm2020/lib/auth/state/action/index.mjs +12 -0
  52. package/esm2020/lib/auth/state/action/user.action.mjs +18 -0
  53. package/esm2020/lib/auth/state/effect/auth.effect.mjs +44 -0
  54. package/esm2020/lib/auth/state/index.mjs +13 -0
  55. package/esm2020/lib/auth/state/reducer/index.mjs +23 -0
  56. package/esm2020/lib/auth/state/reducer/user.reducer.mjs +12 -0
  57. package/esm2020/lib/auth/state/state.mjs +2 -0
  58. package/esm2020/lib/button/action/action.button.directive.mjs +3 -3
  59. package/esm2020/lib/button/action/action.button.trigger.directive.mjs +3 -3
  60. package/esm2020/lib/button/button.directive.mjs +6 -6
  61. package/esm2020/lib/button/button.loading.directive.mjs +3 -3
  62. package/esm2020/lib/button/button.mjs +1 -1
  63. package/esm2020/lib/button/button.module.mjs +4 -4
  64. package/esm2020/lib/button/router/button.segue.directive.mjs +8 -4
  65. package/esm2020/lib/context/context.directive.mjs +41 -0
  66. package/esm2020/lib/context/context.mjs +22 -0
  67. package/esm2020/lib/context/context.module.mjs +28 -0
  68. package/esm2020/lib/context/context.service.mjs +29 -0
  69. package/esm2020/lib/context/index.mjs +6 -0
  70. package/esm2020/lib/context/state/action/data.action.mjs +10 -0
  71. package/esm2020/lib/context/state/action/index.mjs +7 -0
  72. package/esm2020/lib/context/state/effect/index.mjs +38 -0
  73. package/esm2020/lib/context/state/index.mjs +13 -0
  74. package/esm2020/lib/context/state/reducer/data.reducer.mjs +16 -0
  75. package/esm2020/lib/context/state/reducer/index.mjs +25 -0
  76. package/esm2020/lib/context/state/state.mjs +2 -0
  77. package/esm2020/lib/filter/action/action.filter.source.directive.mjs +3 -3
  78. package/esm2020/lib/filter/filter.abstract.connector.directive.mjs +3 -3
  79. package/esm2020/lib/filter/filter.abstract.source.directive.mjs +4 -4
  80. package/esm2020/lib/filter/filter.connector.directive.mjs +3 -3
  81. package/esm2020/lib/filter/filter.map.connector.directive.mjs +3 -3
  82. package/esm2020/lib/filter/filter.map.directive.mjs +3 -3
  83. package/esm2020/lib/filter/filter.map.instance.directive.mjs +3 -3
  84. package/esm2020/lib/filter/filter.map.source.directive.mjs +3 -3
  85. package/esm2020/lib/filter/filter.module.mjs +4 -4
  86. package/esm2020/lib/filter/filter.source.directive.mjs +3 -3
  87. package/esm2020/lib/index.mjs +6 -2
  88. package/esm2020/lib/injection/index.mjs +9 -0
  89. package/esm2020/lib/injection/injection.component.mjs +34 -0
  90. package/esm2020/lib/injection/injection.component.module.mjs +31 -0
  91. package/esm2020/lib/injection/injection.context.directive.mjs +124 -0
  92. package/esm2020/lib/injection/injection.context.forward.directive.mjs +30 -0
  93. package/esm2020/lib/injection/injection.context.mjs +18 -0
  94. package/esm2020/lib/injection/injection.directive.mjs +33 -0
  95. package/esm2020/lib/injection/injection.instance.mjs +116 -0
  96. package/esm2020/lib/injection/injection.mjs +16 -0
  97. package/esm2020/lib/ngrx/index.mjs +2 -0
  98. package/esm2020/lib/ngrx/store.lockset.mjs +64 -0
  99. package/esm2020/lib/pipe/date/date.pipe.module.mjs +4 -4
  100. package/esm2020/lib/pipe/date/datedistance.pipe.mjs +3 -3
  101. package/esm2020/lib/pipe/date/dateformatdistance.pipe.mjs +3 -3
  102. package/esm2020/lib/pipe/date/datefromtoformat.pipe.mjs +3 -3
  103. package/esm2020/lib/pipe/date/minutesstring.pipe.mjs +3 -3
  104. package/esm2020/lib/pipe/date/timedistance.pipe.mjs +6 -6
  105. package/esm2020/lib/pipe/date/tojsdate.pipe.mjs +13 -5
  106. package/esm2020/lib/pipe/date/tominutes.pipe.mjs +3 -3
  107. package/esm2020/lib/pipe/index.mjs +3 -1
  108. package/esm2020/lib/pipe/misc/index.mjs +3 -0
  109. package/esm2020/lib/pipe/misc/misc.pipe.module.mjs +20 -0
  110. package/esm2020/lib/pipe/misc/prettyjson.pipe.mjs +27 -0
  111. package/esm2020/lib/pipe/pipe.module.mjs +21 -0
  112. package/esm2020/lib/router/anchor/anchor.directive.mjs +18 -5
  113. package/esm2020/lib/router/anchor/anchor.mjs +1 -1
  114. package/esm2020/lib/router/router/provider/angular/angular.router.service.mjs +8 -5
  115. package/esm2020/lib/router/router/provider/angular/angular.router.service.module.mjs +4 -4
  116. package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.mjs +32 -10
  117. package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.module.mjs +4 -4
  118. package/esm2020/lib/router/router/service/index.mjs +2 -1
  119. package/esm2020/lib/router/router/service/router.go.mjs +14 -0
  120. package/esm2020/lib/router/router/service/router.service.mjs +1 -1
  121. package/esm2020/lib/router/router/transition/transition.directive.mjs +7 -7
  122. package/esm2020/lib/router/router/transition/transition.watcher.directive.mjs +6 -6
  123. package/esm2020/lib/router/segue.mjs +17 -2
  124. package/esm2020/lib/storage/storage.accessor.simple.factory.mjs +3 -3
  125. package/esm2020/lib/storage/storage.module.mjs +4 -4
  126. package/esm2020/lib/subscription/subscription.directive.mjs +6 -6
  127. package/esm2020/lib/util/view.mjs +18 -2
  128. package/esm2020/lib/view/if.directive.mjs +30 -0
  129. package/esm2020/lib/view/index.mjs +2 -0
  130. package/fesm2015/dereekb-dbx-core.mjs +1742 -538
  131. package/fesm2015/dereekb-dbx-core.mjs.map +1 -1
  132. package/fesm2020/dereekb-dbx-core.mjs +1748 -544
  133. package/fesm2020/dereekb-dbx-core.mjs.map +1 -1
  134. package/lib/action/action.handler.d.ts +4 -72
  135. package/lib/action/action.module.d.ts +3 -3
  136. package/lib/action/directive/auto/action.automodify.directive.d.ts +1 -1
  137. package/lib/action/directive/auto/action.autotrigger.directive.d.ts +3 -3
  138. package/lib/action/directive/state/action.disabled.directive.d.ts +1 -1
  139. package/lib/action/directive/state/action.enforce.modified.directive.d.ts +3 -2
  140. package/lib/action/directive/state/action.success.directive.d.ts +9 -17
  141. package/lib/action/directive/state/action.success.handler.directive.d.ts +24 -0
  142. package/lib/action/directive/state/action.value.directive.d.ts +5 -5
  143. package/lib/action/directive/state/action.value.stream.directive.d.ts +2 -2
  144. package/lib/action/directive/state/action.value.trigger.directive.d.ts +34 -0
  145. package/lib/action/directive/state/action.value.trigger.instance.d.ts +34 -0
  146. package/lib/action/directive/state/action.working.component.d.ts +11 -5
  147. package/lib/action/directive/state/index.d.ts +3 -1
  148. package/lib/auth/auth.module.d.ts +8 -0
  149. package/lib/auth/auth.role.any.directive.d.ts +20 -0
  150. package/lib/auth/auth.role.has.directive.d.ts +20 -0
  151. package/lib/auth/auth.state.module.d.ts +8 -0
  152. package/lib/auth/auth.state.service.d.ts +13 -0
  153. package/lib/auth/auth.user.d.ts +28 -0
  154. package/lib/auth/index.d.ts +9 -0
  155. package/lib/auth/router/auth.router.d.ts +10 -0
  156. package/lib/auth/router/auth.router.module.d.ts +9 -0
  157. package/lib/auth/router/auth.router.service.d.ts +38 -0
  158. package/lib/auth/router/index.d.ts +5 -0
  159. package/lib/auth/router/provider/uirouter/auth.hook.d.ts +18 -0
  160. package/lib/auth/router/provider/uirouter/hook.d.ts +46 -0
  161. package/lib/auth/router/provider/uirouter/index.d.ts +5 -0
  162. package/lib/auth/router/provider/uirouter/redirect.d.ts +9 -0
  163. package/lib/auth/router/provider/uirouter/role.hook.d.ts +26 -0
  164. package/lib/auth/router/provider/uirouter/state.hook.d.ts +31 -0
  165. package/lib/auth/router/state/auth.router.state.module.d.ts +14 -0
  166. package/lib/auth/router/state/effect/auth.router.state.effect.d.ts +32 -0
  167. package/lib/auth/router/state/effect/index.d.ts +1 -0
  168. package/lib/auth/router/state/index.d.ts +2 -0
  169. package/lib/auth/service/auth.service.d.ts +46 -0
  170. package/lib/auth/service/auth.service.rxjs.d.ts +18 -0
  171. package/lib/auth/service/index.d.ts +2 -0
  172. package/lib/auth/state/action/auth.action.d.ts +12 -0
  173. package/lib/auth/state/action/index.d.ts +11 -0
  174. package/lib/auth/state/action/user.action.d.ts +34 -0
  175. package/lib/auth/state/effect/auth.effect.d.ts +31 -0
  176. package/lib/auth/state/index.d.ts +12 -0
  177. package/lib/auth/state/reducer/index.d.ts +29 -0
  178. package/lib/auth/state/reducer/user.reducer.d.ts +11 -0
  179. package/lib/auth/state/state.d.ts +5 -0
  180. package/lib/button/button.d.ts +3 -3
  181. package/lib/button/router/button.segue.directive.d.ts +1 -0
  182. package/lib/context/context.d.ts +39 -0
  183. package/lib/context/context.directive.d.ts +19 -0
  184. package/lib/context/context.module.d.ts +8 -0
  185. package/lib/context/context.service.d.ts +16 -0
  186. package/lib/context/index.d.ts +5 -0
  187. package/lib/context/state/action/data.action.d.ts +13 -0
  188. package/lib/context/state/action/index.d.ts +6 -0
  189. package/lib/context/state/effect/index.d.ts +39 -0
  190. package/lib/context/state/index.d.ts +12 -0
  191. package/lib/context/state/reducer/data.reducer.d.ts +13 -0
  192. package/lib/context/state/reducer/index.d.ts +34 -0
  193. package/lib/context/state/state.d.ts +9 -0
  194. package/lib/filter/filter.abstract.source.directive.d.ts +2 -2
  195. package/lib/index.d.ts +5 -1
  196. package/lib/injection/index.d.ts +8 -0
  197. package/lib/injection/injection.component.d.ts +15 -0
  198. package/lib/injection/injection.component.module.d.ts +9 -0
  199. package/lib/injection/injection.context.d.ts +39 -0
  200. package/lib/injection/injection.context.directive.d.ts +25 -0
  201. package/lib/injection/injection.context.forward.directive.d.ts +16 -0
  202. package/lib/{injected/injected.d.ts → injection/injection.d.ts} +4 -4
  203. package/lib/injection/injection.directive.d.ts +19 -0
  204. package/lib/{injected/injected.instance.d.ts → injection/injection.instance.d.ts} +8 -8
  205. package/lib/ngrx/index.d.ts +1 -0
  206. package/lib/ngrx/store.lockset.d.ts +36 -0
  207. package/lib/pipe/index.d.ts +2 -0
  208. package/lib/pipe/misc/index.d.ts +2 -0
  209. package/lib/pipe/misc/misc.pipe.module.d.ts +7 -0
  210. package/lib/pipe/misc/prettyjson.pipe.d.ts +9 -0
  211. package/lib/pipe/pipe.module.d.ts +8 -0
  212. package/lib/router/anchor/anchor.d.ts +5 -1
  213. package/lib/router/anchor/anchor.directive.d.ts +10 -2
  214. package/lib/router/router/provider/angular/angular.router.service.d.ts +7 -5
  215. package/lib/router/router/provider/uirouter/uirouter.router.service.d.ts +11 -5
  216. package/lib/router/router/service/index.d.ts +1 -0
  217. package/lib/router/router/service/router.go.d.ts +14 -0
  218. package/lib/router/router/service/router.service.d.ts +10 -4
  219. package/lib/router/router/transition/transition.directive.d.ts +2 -2
  220. package/lib/router/router/transition/transition.watcher.directive.d.ts +1 -1
  221. package/lib/router/segue.d.ts +10 -3
  222. package/lib/util/view.d.ts +12 -0
  223. package/lib/view/if.directive.d.ts +19 -0
  224. package/lib/view/index.d.ts +1 -0
  225. package/package.json +7 -19
  226. package/esm2020/lib/action/directive/state/action.success.component.mjs +0 -50
  227. package/esm2020/lib/injected/index.mjs +0 -6
  228. package/esm2020/lib/injected/injected.component.mjs +0 -34
  229. package/esm2020/lib/injected/injected.component.module.mjs +0 -26
  230. package/esm2020/lib/injected/injected.directive.mjs +0 -33
  231. package/esm2020/lib/injected/injected.instance.mjs +0 -116
  232. package/esm2020/lib/injected/injected.mjs +0 -16
  233. package/lib/action/directive/state/action.success.component.d.ts +0 -15
  234. package/lib/injected/index.d.ts +0 -5
  235. package/lib/injected/injected.component.d.ts +0 -15
  236. package/lib/injected/injected.component.module.d.ts +0 -8
  237. package/lib/injected/injected.directive.d.ts +0 -19
@@ -0,0 +1,43 @@
1
+ import { switchMap, map, catchError, of, BehaviorSubject } from 'rxjs';
2
+ import { SubscriptionObject, asObservable, returnIfIs, filterMaybe } from '@dereekb/rxjs';
3
+ /**
4
+ * Utility class that handles trigger events to retrieve a value.
5
+ */
6
+ export class DbxActionValueOnTriggerInstance {
7
+ constructor(config) {
8
+ this._valueGetter = new BehaviorSubject(undefined);
9
+ this.valueGetter$ = this._valueGetter.pipe(filterMaybe());
10
+ this._triggeredSub = new SubscriptionObject();
11
+ this.source = config.source;
12
+ this._valueGetter.next(config.valueGetter);
13
+ }
14
+ get valueGetter() {
15
+ return this._valueGetter.value;
16
+ }
17
+ set valueGetter(valueGetter) {
18
+ this._valueGetter.next(valueGetter);
19
+ }
20
+ init() {
21
+ // Ready the value after the source is triggered. Do modified check one last time.
22
+ this._triggeredSub.subscription = this.source.triggered$.pipe(switchMap(() => this.valueGetter$.pipe(switchMap((valueGetter) => asObservable(valueGetter())))
23
+ .pipe(
24
+ // If the value is not null/undefined and is considered modified, then pass the value.
25
+ switchMap((value) => returnIfIs(this.isModifiedFunction, value, false).pipe(map((value) => ({ value })))),
26
+ // Catch any errors and pass them to reject.
27
+ catchError((reject) => of({ reject }))))).subscribe((result) => {
28
+ if (result.value != null) {
29
+ this.source.readyValue(result.value);
30
+ }
31
+ else {
32
+ this.source.reject(result.reject);
33
+ }
34
+ });
35
+ }
36
+ destroy() {
37
+ this.source.lockSet.onNextUnlock(() => {
38
+ this._triggeredSub.destroy();
39
+ this._valueGetter.complete();
40
+ });
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnZhbHVlLnRyaWdnZXIuaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvc3RhdGUvYWN0aW9uLnZhbHVlLnRyaWdnZXIuaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFxQixrQkFBa0IsRUFBc0IsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF1QmpJOztHQUVHO0FBQ0gsTUFBTSxPQUFPLCtCQUErQjtJQVcxQyxZQUFZLE1BQWdEO1FBVHBELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQTRDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hGLGlCQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQU10RCxrQkFBYSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUcvQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxXQUFzRDtRQUNwRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSTtRQUVGLGtGQUFrRjtRQUNsRixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzNELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDNUYsSUFBSTtRQUNILHNGQUFzRjtRQUN0RixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6Ryw0Q0FBNEM7UUFDNUMsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQ3ZDLENBQ0YsQ0FDRixDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQXdDLEVBQUUsRUFBRTtZQUN2RCxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO2dCQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25DO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3dpdGNoTWFwLCBtYXAsIGNhdGNoRXJyb3IsIG9mLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9ic2VydmFibGVPclZhbHVlLCBTdWJzY3JpcHRpb25PYmplY3QsIElzTW9kaWZpZWRGdW5jdGlvbiwgYXNPYnNlcnZhYmxlLCByZXR1cm5JZklzLCBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUsIEluaXRpYWxpemVkLCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcblxuLyoqXG4gKiBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlckluc3RhbmNlIGZ1bmN0aW9uLiBSZXR1cm5zIGFuIE9iZXJ2YWJsZUdldHRlciB0aGF0IHJldHVybnMgYSB2YWx1ZS5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJGdW5jdGlvbjxUPiA9ICgpID0+IE9ic2VydmFibGVPclZhbHVlPE1heWJlPFQ+PjtcblxuZXhwb3J0IGludGVyZmFjZSBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdDxUID0gYW55PiB7XG4gIHZhbHVlPzogTWF5YmU8VD47XG4gIHJlamVjdD86IGFueTtcbn1cblxuLyoqXG4gKiBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlckluc3RhbmNlIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJJbnN0YW5jZUNvbmZpZzxUPiB7XG4gIHJlYWRvbmx5IHNvdXJjZTogRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8VCwgYW55PixcbiAgcmVhZG9ubHkgdmFsdWVHZXR0ZXI/OiBNYXliZTxEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlckZ1bmN0aW9uPFQ+PjtcbiAgcmVhZG9ubHkgaXNNb2RpZmllZEZ1bmN0aW9uPzogTWF5YmU8SXNNb2RpZmllZEZ1bmN0aW9uPFQ+Pjtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGNsYXNzIHRoYXQgaGFuZGxlcyB0cmlnZ2VyIGV2ZW50cyB0byByZXRyaWV2ZSBhIHZhbHVlLlxuICovXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJJbnN0YW5jZTxUPiBpbXBsZW1lbnRzIEluaXRpYWxpemVkLCBEZXN0cm95YWJsZSB7XG5cbiAgcHJpdmF0ZSBfdmFsdWVHZXR0ZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieEFjdGlvblZhbHVlT25UcmlnZ2VyRnVuY3Rpb248VD4+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSB2YWx1ZUdldHRlciQgPSB0aGlzLl92YWx1ZUdldHRlci5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHJlYWRvbmx5IHNvdXJjZTogRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8VCwgYW55PjtcblxuICBpc01vZGlmaWVkRnVuY3Rpb24/OiBNYXliZTxJc01vZGlmaWVkRnVuY3Rpb248VD4+O1xuXG4gIHByaXZhdGUgX3RyaWdnZXJlZFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IERieEFjdGlvblZhbHVlT25UcmlnZ2VySW5zdGFuY2VDb25maWc8VD4pIHtcbiAgICB0aGlzLnNvdXJjZSA9IGNvbmZpZy5zb3VyY2U7XG4gICAgdGhpcy5fdmFsdWVHZXR0ZXIubmV4dChjb25maWcudmFsdWVHZXR0ZXIpO1xuICB9XG5cbiAgZ2V0IHZhbHVlR2V0dGVyKCk6IE1heWJlPERieEFjdGlvblZhbHVlT25UcmlnZ2VyRnVuY3Rpb248VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVHZXR0ZXIudmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWVHZXR0ZXIodmFsdWVHZXR0ZXI6IE1heWJlPERieEFjdGlvblZhbHVlT25UcmlnZ2VyRnVuY3Rpb248VD4+KSB7XG4gICAgdGhpcy5fdmFsdWVHZXR0ZXIubmV4dCh2YWx1ZUdldHRlcik7XG4gIH1cblxuICBpbml0KCk6IHZvaWQge1xuXG4gICAgLy8gUmVhZHkgdGhlIHZhbHVlIGFmdGVyIHRoZSBzb3VyY2UgaXMgdHJpZ2dlcmVkLiBEbyBtb2RpZmllZCBjaGVjayBvbmUgbGFzdCB0aW1lLlxuICAgIHRoaXMuX3RyaWdnZXJlZFN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLnNvdXJjZS50cmlnZ2VyZWQkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy52YWx1ZUdldHRlciQucGlwZShzd2l0Y2hNYXAoKHZhbHVlR2V0dGVyKSA9PiBhc09ic2VydmFibGUodmFsdWVHZXR0ZXIoKSkpKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAvLyBJZiB0aGUgdmFsdWUgaXMgbm90IG51bGwvdW5kZWZpbmVkIGFuZCBpcyBjb25zaWRlcmVkIG1vZGlmaWVkLCB0aGVuIHBhc3MgdGhlIHZhbHVlLlxuICAgICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHJldHVybklmSXModGhpcy5pc01vZGlmaWVkRnVuY3Rpb24sIHZhbHVlLCBmYWxzZSkucGlwZShtYXAoKHZhbHVlKSA9PiAoeyB2YWx1ZSB9KSkpKSxcbiAgICAgICAgICAvLyBDYXRjaCBhbnkgZXJyb3JzIGFuZCBwYXNzIHRoZW0gdG8gcmVqZWN0LlxuICAgICAgICAgIGNhdGNoRXJyb3IoKHJlamVjdCkgPT4gb2YoeyByZWplY3QgfSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLnN1YnNjcmliZSgocmVzdWx0OiBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdDxUPikgPT4ge1xuICAgICAgaWYgKHJlc3VsdC52YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuc291cmNlLnJlYWR5VmFsdWUocmVzdWx0LnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc291cmNlLnJlamVjdChyZXN1bHQucmVqZWN0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgdGhpcy5fdHJpZ2dlcmVkU3ViLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuX3ZhbHVlR2V0dGVyLmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
@@ -1,32 +1,38 @@
1
- import { Component } from '@angular/core';
1
+ import { Input, TemplateRef, ViewContainerRef, Directive } from '@angular/core';
2
+ import { emitDelayObs } from '@dereekb/rxjs';
3
+ import { of, exhaustMap, shareReplay } from 'rxjs';
4
+ import { AbstractIfDirective } from '../../../view/if.directive';
2
5
  import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
3
6
  import * as i0 from "@angular/core";
4
7
  import * as i1 from "../../action.store.source";
5
- import * as i2 from "@angular/common";
6
8
  /**
7
- * Displays the input content when working is set.
9
+ * Structural directive that displays the content when the store is working.
10
+ *
11
+ * Can specify a period in milliseconds that shows how long to show up after working for a particular number of seconds.
8
12
  */
9
- export class DbxActionWorkingComponent {
10
- constructor(source) {
13
+ export class DbxActionIsWorkingDirective extends AbstractIfDirective {
14
+ constructor(templateRef, viewContainer, source) {
15
+ super(templateRef, viewContainer);
11
16
  this.source = source;
12
- this.show$ = this.source.isWorking$;
17
+ this.show$ = this.source.isWorking$.pipe(exhaustMap((isWorking) => {
18
+ if (isWorking && this.showAfter) {
19
+ return emitDelayObs(false, true, this.showAfter || undefined);
20
+ }
21
+ else {
22
+ return of(isWorking);
23
+ }
24
+ }), shareReplay(1));
13
25
  }
14
26
  }
15
- DbxActionWorkingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxActionWorkingComponent, deps: [{ token: i1.DbxActionContextStoreSourceInstance }], target: i0.ɵɵFactoryTarget.Component });
16
- DbxActionWorkingComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxActionWorkingComponent, selector: "dbx-action-working", ngImport: i0, template: `
17
- <ng-container *ngIf="show$ | async">
18
- <ng-content></ng-content>
19
- </ng-container>
20
- `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxActionWorkingComponent, decorators: [{
22
- type: Component,
27
+ DbxActionIsWorkingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionIsWorkingDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.DbxActionContextStoreSourceInstance }], target: i0.ɵɵFactoryTarget.Directive });
28
+ DbxActionIsWorkingDirectivedir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionIsWorkingDirective, selector: "[dbxActionIsWorking]", inputs: { showAfter: ["dbxActionIsWorking", "showAfter"] }, usesInheritance: true, ngImport: i0 });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionIsWorkingDirective, decorators: [{
30
+ type: Directive,
23
31
  args: [{
24
- selector: 'dbx-action-working',
25
- template: `
26
- <ng-container *ngIf="show$ | async">
27
- <ng-content></ng-content>
28
- </ng-container>
29
- `
32
+ selector: '[dbxActionIsWorking]'
30
33
  }]
31
- }], ctorParameters: function () { return [{ type: i1.DbxActionContextStoreSourceInstance }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLndvcmtpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL3N0YXRlL2FjdGlvbi53b3JraW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBRWhGOztHQUVHO0FBU0gsTUFBTSxPQUFPLHlCQUF5QjtJQUlwQyxZQUE0QixNQUEyQztRQUEzQyxXQUFNLEdBQU4sTUFBTSxDQUFxQztRQUY5RCxVQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFFbUMsQ0FBQzs7c0hBSmpFLHlCQUF5QjswR0FBekIseUJBQXlCLDBEQU4xQjs7OztHQUlUOzJGQUVVLHlCQUF5QjtrQkFSckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcblxuLyoqXG4gKiBEaXNwbGF5cyB0aGUgaW5wdXQgY29udGVudCB3aGVuIHdvcmtpbmcgaXMgc2V0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtYWN0aW9uLXdvcmtpbmcnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93JCB8IGFzeW5jXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uV29ya2luZ0NvbXBvbmVudCB7XG5cbiAgcmVhZG9ubHkgc2hvdyQgPSB0aGlzLnNvdXJjZS5pc1dvcmtpbmckO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBzb3VyY2U6IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlKSB7IH1cblxufVxuIl19
34
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.DbxActionContextStoreSourceInstance }]; }, propDecorators: { showAfter: [{
35
+ type: Input,
36
+ args: ['dbxActionIsWorking']
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLndvcmtpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL3N0YXRlL2FjdGlvbi53b3JraW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQUVoRjs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLDJCQUE0QixTQUFRLG1CQUFtQjtJQWdCbEUsWUFBWSxXQUE2QixFQUFFLGFBQStCLEVBQWtCLE1BQTJDO1FBQ3JJLEtBQUssQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFEd0QsV0FBTSxHQUFOLE1BQU0sQ0FBcUM7UUFYOUgsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUMsVUFBVSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDL0IsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxDQUFDO2FBQy9EO2lCQUFNO2dCQUNMLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFJRixDQUFDOzt3SEFsQlUsMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFIdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQzttTEFJQyxTQUFTO3NCQURSLEtBQUs7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25EZXN0cm95LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZW1pdERlbGF5T2JzIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgb2YsIGV4aGF1c3RNYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdElmRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vdmlldy9pZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcblxuLyoqXG4gKiBTdHJ1Y3R1cmFsIGRpcmVjdGl2ZSB0aGF0IGRpc3BsYXlzIHRoZSBjb250ZW50IHdoZW4gdGhlIHN0b3JlIGlzIHdvcmtpbmcuXG4gKiBcbiAqIENhbiBzcGVjaWZ5IGEgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyB0aGF0IHNob3dzIGhvdyBsb25nIHRvIHNob3cgdXAgYWZ0ZXIgd29ya2luZyBmb3IgYSBwYXJ0aWN1bGFyIG51bWJlciBvZiBzZWNvbmRzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uSXNXb3JraW5nXSdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uSXNXb3JraW5nRGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3RJZkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCdkYnhBY3Rpb25Jc1dvcmtpbmcnKVxuICBzaG93QWZ0ZXI/OiBNYXliZTxudW1iZXI+IHwgJyc7XG5cbiAgcmVhZG9ubHkgc2hvdyQgPSB0aGlzLnNvdXJjZS5pc1dvcmtpbmckLnBpcGUoXG4gICAgZXhoYXVzdE1hcCgoaXNXb3JraW5nKSA9PiB7XG4gICAgICBpZiAoaXNXb3JraW5nICYmIHRoaXMuc2hvd0FmdGVyKSB7XG4gICAgICAgIHJldHVybiBlbWl0RGVsYXlPYnMoZmFsc2UsIHRydWUsIHRoaXMuc2hvd0FmdGVyIHx8IHVuZGVmaW5lZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2YoaXNXb3JraW5nKTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LCB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSkge1xuICAgIHN1cGVyKHRlbXBsYXRlUmVmLCB2aWV3Q29udGFpbmVyKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,8 +1,10 @@
1
1
  export * from './action.disabled.directive';
2
2
  export * from './action.handler.directive';
3
- export * from './action.success.component';
4
3
  export * from './action.success.directive';
4
+ export * from './action.success.handler.directive';
5
5
  export * from './action.value.directive';
6
6
  export * from './action.working.component';
7
7
  export * from './action.enforce.modified.directive';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvc3RhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLmRpc2FibGVkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5oYW5kbGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5zdWNjZXNzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5zdWNjZXNzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi52YWx1ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24ud29ya2luZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uZW5mb3JjZS5tb2RpZmllZC5kaXJlY3RpdmUnO1xuIl19
8
+ export * from './action.value.trigger.directive';
9
+ export * from './action.value.trigger.instance';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvc3RhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbi5kaXNhYmxlZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uaGFuZGxlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uc3VjY2Vzcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uc3VjY2Vzcy5oYW5kbGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi52YWx1ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24ud29ya2luZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uZW5mb3JjZS5tb2RpZmllZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24udmFsdWUudHJpZ2dlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24udmFsdWUudHJpZ2dlci5pbnN0YW5jZSc7XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { DbxAuthHasAnyRoleDirective } from './auth.role.any.directive';
2
+ import { NgModule } from '@angular/core';
3
+ import { DbxAuthHasRolesDirective } from './auth.role.has.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class DbxCoreAuthModule {
6
+ }
7
+ DbxCoreAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ DbxCoreAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreAuthModule, declarations: [DbxAuthHasRolesDirective,
9
+ DbxAuthHasAnyRoleDirective], exports: [DbxAuthHasRolesDirective,
10
+ DbxAuthHasAnyRoleDirective] });
11
+ DbxCoreAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreAuthModule, imports: [[]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreAuthModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ imports: [],
16
+ declarations: [
17
+ DbxAuthHasRolesDirective,
18
+ DbxAuthHasAnyRoleDirective
19
+ ],
20
+ exports: [
21
+ DbxAuthHasRolesDirective,
22
+ DbxAuthHasAnyRoleDirective
23
+ ]
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFhckUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQVIxQix3QkFBd0I7UUFDeEIsMEJBQTBCLGFBRzFCLHdCQUF3QjtRQUN4QiwwQkFBMEI7K0dBR2pCLGlCQUFpQixZQVZuQixFQUFFOzJGQVVBLGlCQUFpQjtrQkFYN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3dCQUN4QiwwQkFBMEI7cUJBQzNCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7d0JBQ3hCLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYnhBdXRoSGFzQW55Um9sZURpcmVjdGl2ZSB9IGZyb20gJy4vYXV0aC5yb2xlLmFueS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEF1dGhIYXNSb2xlc0RpcmVjdGl2ZSB9IGZyb20gJy4vYXV0aC5yb2xlLmhhcy5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGJ4QXV0aEhhc1JvbGVzRGlyZWN0aXZlLFxuICAgIERieEF1dGhIYXNBbnlSb2xlRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYnhBdXRoSGFzUm9sZXNEaXJlY3RpdmUsXG4gICAgRGJ4QXV0aEhhc0FueVJvbGVEaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhDb3JlQXV0aE1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
3
+ import { authRolesSetContainsAnyRoleFrom, DbxAuthService } from './service';
4
+ import { AbstractIfDirective } from '../view/if.directive';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./service";
7
+ /**
8
+ * Structural decorator directive similar to ngIf that embeds content if the current auth user has any of the target role(s).
9
+ */
10
+ export class DbxAuthHasAnyRoleDirective extends AbstractIfDirective {
11
+ constructor(templateRef, viewContainer, dbxAuthService) {
12
+ super(templateRef, viewContainer);
13
+ this.dbxAuthService = dbxAuthService;
14
+ this._targetRoles = new BehaviorSubject(undefined);
15
+ this.targetRoles$ = this._targetRoles.asObservable();
16
+ this.show$ = this.dbxAuthService.authRoles$.pipe(authRolesSetContainsAnyRoleFrom(this.targetRoles$));
17
+ }
18
+ ngOnDestroy() {
19
+ this._targetRoles.complete();
20
+ }
21
+ set targetRoles(roles) {
22
+ this._targetRoles.next(roles);
23
+ }
24
+ }
25
+ DbxAuthHasAnyRoleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAuthHasAnyRoleDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.DbxAuthService }], target: i0.ɵɵFactoryTarget.Directive });
26
+ DbxAuthHasAnyRoleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxAuthHasAnyRoleDirective, selector: "[dbxAuthHasAnyRole]", inputs: { targetRoles: ["dbxAuthHasAnyRole", "targetRoles"] }, usesInheritance: true, ngImport: i0 });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAuthHasAnyRoleDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ selector: '[dbxAuthHasAnyRole]'
31
+ }]
32
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.DbxAuthService }]; }, propDecorators: { targetRoles: [{
33
+ type: Input,
34
+ args: ['dbxAuthHasAnyRole']
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yb2xlLmFueS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvYXV0aC5yb2xlLmFueS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLCtCQUErQixFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRTNEOztHQUVHO0FBSUgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQU9qRSxZQUNFLFdBQTZCLEVBQzdCLGFBQStCLEVBQ3ZCLGNBQThCO1FBRXRDLEtBQUssQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFGMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBUmhDLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQWdDLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLGlCQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVoRCxVQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBUXpHLENBQUM7SUFFUSxXQUFXO1FBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQ0ksV0FBVyxDQUFDLEtBQW9DO1FBQ2xELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7O3VIQXRCVSwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOzhKQXFCSyxXQUFXO3NCQURkLEtBQUs7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFJvbGUsIEFycmF5T3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhdXRoUm9sZXNTZXRDb250YWluc0FueVJvbGVGcm9tLCBEYnhBdXRoU2VydmljZSB9IGZyb20gJy4vc2VydmljZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQWJzdHJhY3RJZkRpcmVjdGl2ZSB9IGZyb20gJy4uL3ZpZXcvaWYuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBTdHJ1Y3R1cmFsIGRlY29yYXRvciBkaXJlY3RpdmUgc2ltaWxhciB0byBuZ0lmIHRoYXQgZW1iZWRzIGNvbnRlbnQgaWYgdGhlIGN1cnJlbnQgYXV0aCB1c2VyIGhhcyBhbnkgb2YgdGhlIHRhcmdldCByb2xlKHMpLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QXV0aEhhc0FueVJvbGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhBdXRoSGFzQW55Um9sZURpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0SWZEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX3RhcmdldFJvbGVzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxBcnJheU9yVmFsdWU8QXV0aFJvbGU+Pj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgdGFyZ2V0Um9sZXMkID0gdGhpcy5fdGFyZ2V0Um9sZXMuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcmVhZG9ubHkgc2hvdyQgPSB0aGlzLmRieEF1dGhTZXJ2aWNlLmF1dGhSb2xlcyQucGlwZShhdXRoUm9sZXNTZXRDb250YWluc0FueVJvbGVGcm9tKHRoaXMudGFyZ2V0Um9sZXMkKSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIGRieEF1dGhTZXJ2aWNlOiBEYnhBdXRoU2VydmljZVxuICApIHtcbiAgICBzdXBlcih0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lcik7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl90YXJnZXRSb2xlcy5jb21wbGV0ZSgpO1xuICB9XG5cbiAgQElucHV0KCdkYnhBdXRoSGFzQW55Um9sZScpXG4gIHNldCB0YXJnZXRSb2xlcyhyb2xlczogTWF5YmU8QXJyYXlPclZhbHVlPEF1dGhSb2xlPj4pIHtcbiAgICB0aGlzLl90YXJnZXRSb2xlcy5uZXh0KHJvbGVzKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
3
+ import { authRolesSetContainsAllRolesFrom, DbxAuthService } from './service';
4
+ import { AbstractIfDirective } from '../view/if.directive';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./service";
7
+ /**
8
+ * Structural decorator directive similar to ngIf that embeds content if the current auth user has all of the target role(s).
9
+ */
10
+ export class DbxAuthHasRolesDirective extends AbstractIfDirective {
11
+ constructor(templateRef, viewContainer, dbxAuthService) {
12
+ super(templateRef, viewContainer);
13
+ this.dbxAuthService = dbxAuthService;
14
+ this._targetRoles = new BehaviorSubject(undefined);
15
+ this.targetRoles$ = this._targetRoles.asObservable();
16
+ this.show$ = this.dbxAuthService.authRoles$.pipe(authRolesSetContainsAllRolesFrom(this.targetRoles$));
17
+ }
18
+ ngOnDestroy() {
19
+ this._targetRoles.complete();
20
+ }
21
+ set targetRoles(roles) {
22
+ this._targetRoles.next(roles);
23
+ }
24
+ }
25
+ DbxAuthHasRolesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAuthHasRolesDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.DbxAuthService }], target: i0.ɵɵFactoryTarget.Directive });
26
+ DbxAuthHasRolesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxAuthHasRolesDirective, selector: "[dbxAuthHasRoles]", inputs: { targetRoles: ["dbxAuthHasRoles", "targetRoles"] }, usesInheritance: true, ngImport: i0 });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAuthHasRolesDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ selector: '[dbxAuthHasRoles]'
31
+ }]
32
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.DbxAuthService }]; }, propDecorators: { targetRoles: [{
33
+ type: Input,
34
+ args: ['dbxAuthHasRoles']
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yb2xlLmhhcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvYXV0aC5yb2xlLmhhcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRTNEOztHQUVHO0FBSUgsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG1CQUFtQjtJQU8vRCxZQUNFLFdBQTZCLEVBQzdCLGFBQStCLEVBQ3ZCLGNBQThCO1FBRXRDLEtBQUssQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFGMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBUmhDLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQWdDLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLGlCQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVoRCxVQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBUTFHLENBQUM7SUFFUSxXQUFXO1FBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQ0ksV0FBVyxDQUFDLEtBQW9DO1FBQ2xELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7O3FIQXRCVSx3QkFBd0I7eUdBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOzhKQXFCSyxXQUFXO3NCQURkLEtBQUs7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFJvbGUsIEFycmF5T3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhdXRoUm9sZXNTZXRDb250YWluc0FsbFJvbGVzRnJvbSwgRGJ4QXV0aFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEFic3RyYWN0SWZEaXJlY3RpdmUgfSBmcm9tICcuLi92aWV3L2lmLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogU3RydWN0dXJhbCBkZWNvcmF0b3IgZGlyZWN0aXZlIHNpbWlsYXIgdG8gbmdJZiB0aGF0IGVtYmVkcyBjb250ZW50IGlmIHRoZSBjdXJyZW50IGF1dGggdXNlciBoYXMgYWxsIG9mIHRoZSB0YXJnZXQgcm9sZShzKS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEF1dGhIYXNSb2xlc10nXG59KVxuZXhwb3J0IGNsYXNzIERieEF1dGhIYXNSb2xlc0RpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0SWZEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX3RhcmdldFJvbGVzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxBcnJheU9yVmFsdWU8QXV0aFJvbGU+Pj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgdGFyZ2V0Um9sZXMkID0gdGhpcy5fdGFyZ2V0Um9sZXMuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcmVhZG9ubHkgc2hvdyQgPSB0aGlzLmRieEF1dGhTZXJ2aWNlLmF1dGhSb2xlcyQucGlwZShhdXRoUm9sZXNTZXRDb250YWluc0FsbFJvbGVzRnJvbSh0aGlzLnRhcmdldFJvbGVzJCkpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBkYnhBdXRoU2VydmljZTogRGJ4QXV0aFNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIodGVtcGxhdGVSZWYsIHZpZXdDb250YWluZXIpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fdGFyZ2V0Um9sZXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIEBJbnB1dCgnZGJ4QXV0aEhhc1JvbGVzJylcbiAgc2V0IHRhcmdldFJvbGVzKHJvbGVzOiBNYXliZTxBcnJheU9yVmFsdWU8QXV0aFJvbGU+Pikge1xuICAgIHRoaXMuX3RhcmdldFJvbGVzLm5leHQocm9sZXMpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { fromDbxAppAuth } from './state';
2
+ import { NgModule } from '@angular/core';
3
+ import { EffectsModule } from '@ngrx/effects';
4
+ import { StoreModule } from '@ngrx/store';
5
+ import { DbxAppAuthEffects } from './state/effect/auth.effect';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ngrx/store";
8
+ import * as i2 from "@ngrx/effects";
9
+ export class DbxAppAuthStateModule {
10
+ }
11
+ DbxAppAuthStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ DbxAppAuthStateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthStateModule, imports: [i1.StoreFeatureModule, i2.EffectsFeatureModule] });
13
+ DbxAppAuthStateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthStateModule, imports: [[
14
+ StoreModule.forFeature(fromDbxAppAuth.featureKey, fromDbxAppAuth.reducers),
15
+ EffectsModule.forFeature([DbxAppAuthEffects])
16
+ ]] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthStateModule, decorators: [{
18
+ type: NgModule,
19
+ args: [{
20
+ imports: [
21
+ StoreModule.forFeature(fromDbxAppAuth.featureKey, fromDbxAppAuth.reducers),
22
+ EffectsModule.forFeature([DbxAppAuthEffects])
23
+ ],
24
+ declarations: [],
25
+ exports: []
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zdGF0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvYXV0aC5zdGF0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQVUvRCxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixZQVB2QjtZQUNQLFdBQVcsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsUUFBUSxDQUFDO1lBQzFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQzlDOzJGQUlVLHFCQUFxQjtrQkFSakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUM7d0JBQzFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO3FCQUM5QztvQkFDRCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tRGJ4QXBwQXV0aCB9IGZyb20gJy4vc3RhdGUnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRGJ4QXBwQXV0aEVmZmVjdHMgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9hdXRoLmVmZmVjdCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKGZyb21EYnhBcHBBdXRoLmZlYXR1cmVLZXksIGZyb21EYnhBcHBBdXRoLnJlZHVjZXJzKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW0RieEFwcEF1dGhFZmZlY3RzXSlcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgZXhwb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgRGJ4QXBwQXV0aFN0YXRlTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,23 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { Store } from "@ngrx/store";
3
+ import { fromDbxAppAuth } from './state';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngrx/store";
6
+ /**
7
+ * State for accessing the app's DbxAppAuthState defined within the DbxAppAuthFullState for the ngrx store.
8
+ */
9
+ export class DbxAppAuthStateService {
10
+ constructor(store) {
11
+ this.store = store;
12
+ this.authStateUser$ = this.store.select(fromDbxAppAuth.selectDbxAppAuthUser);
13
+ }
14
+ }
15
+ DbxAppAuthStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthStateService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
16
+ DbxAppAuthStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthStateService, providedIn: 'root' });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthStateService, decorators: [{
18
+ type: Injectable,
19
+ args: [{
20
+ providedIn: 'root'
21
+ }]
22
+ }], ctorParameters: function () { return [{ type: i1.Store }]; } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL2F1dGguc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBSXpDOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUFxQixLQUFpQztRQUFqQyxVQUFLLEdBQUwsS0FBSyxDQUE0QjtRQUY3QyxtQkFBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXZCLENBQUM7O21IQUpoRCxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQUZyQixNQUFNOzJGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XG5pbXBvcnQgeyBmcm9tRGJ4QXBwQXV0aCB9IGZyb20gJy4vc3RhdGUnO1xuaW1wb3J0IHsgRGJ4QXBwQXV0aEZ1bGxTdGF0ZSB9IGZyb20gXCIuL3N0YXRlL3N0YXRlXCI7XG5cblxuLyoqXG4gKiBTdGF0ZSBmb3IgYWNjZXNzaW5nIHRoZSBhcHAncyBEYnhBcHBBdXRoU3RhdGUgZGVmaW5lZCB3aXRoaW4gdGhlIERieEFwcEF1dGhGdWxsU3RhdGUgZm9yIHRoZSBuZ3J4IHN0b3JlLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYnhBcHBBdXRoU3RhdGVTZXJ2aWNlIHtcblxuICByZWFkb25seSBhdXRoU3RhdGVVc2VyJCA9IHRoaXMuc3RvcmUuc2VsZWN0KGZyb21EYnhBcHBBdXRoLnNlbGVjdERieEFwcEF1dGhVc2VyKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBzdG9yZTogU3RvcmU8RGJ4QXBwQXV0aEZ1bGxTdGF0ZT4pIHsgfVxuXG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ export const NO_AUTH_USER_IDENTIFIER = '0';
2
+ /**
3
+ * Creates an AuthUserIdentifier from the input. If the input is undefined, returns the NoAuthUserIdentifier.
4
+ *
5
+ * @param inputId
6
+ * @returns
7
+ */
8
+ export function authUserIdentifier(inputId) {
9
+ return (inputId) ? inputId : NO_AUTH_USER_IDENTIFIER;
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC51c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL2F1dGgudXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQkEsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0FBUTNDOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQWtDO0lBQ25FLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF5YmUgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuXG5cbi8qKlxuICogQW4gYXBwbGljYXRpb24gdXNlciBzdGF0ZS5cbiAqIFxuICogR2VuZXJpYyBzdGF0ZXMgdGhhdCBkZWZpbmUgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHVzZXI6XG4gKiAtIG5vbmU6IHRoZSB1c2VyIGlzIG5vdCBsb2dnZWQgaW5cbiAqIC0gYW5vbjogdGhlIHVzZXIgaXMgbG9nZ2VkIGluIGFzIGFuIGFub255bW91cyBhY2NvdW50XG4gKiAtIGVycm9yOiB0aGVyZSB3YXMgYW4gZXJyb3IgbG9hZGluZyB0aGUgY29ycmVjdCB1c2VyIHN0YXRlXG4gKiAtIG5ldzogdGhlIHVzZXIgaGFzIGEgZnVsbCBhY2NvdW50IGJ1dCBoYXMgbm90IGNvbXBsZXRlZCBvbmJvYXJkaW5nL3NldHVwXG4gKiAtIHVzZXI6IHRoZSB1c2VyIGhhcyBhIGZ1bGwgYWNjb3VudCBhbmQgaGFzIGNvbXBsZXRlZCBzZXR1cFxuICovXG5leHBvcnQgdHlwZSBBdXRoVXNlclN0YXRlID0gJ25vbmUnIHwgJ2Fub24nIHwgJ25ldycgfCAndXNlcicgfCAnZXJyb3InO1xuXG4vKipcbiAqIEFyYml0cmFyeSBpZGVudGlmaWVyIHVzZWQgdG8gZGlmZmVyZW50aWF0ZSB1c2Vycy5cbiAqL1xuZXhwb3J0IHR5cGUgQXV0aFVzZXJJZGVudGlmaWVyID0gc3RyaW5nO1xuXG5leHBvcnQgY29uc3QgTk9fQVVUSF9VU0VSX0lERU5USUZJRVIgPSAnMCc7XG5cbi8qKlxuICogQXV0aFVzZXJJZGVudGlmaWVyIHVzZWQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgdXNlciBjYW5ub3QgYmUgdW5pcXVlbHkgaWRlbnRpZmllci5cbiAqL1xuZXhwb3J0IHR5cGUgTm9BdXRoVXNlcklkZW50aWZpZXIgPSB0eXBlb2YgTk9fQVVUSF9VU0VSX0lERU5USUZJRVI7XG5cblxuLyoqXG4gKiBDcmVhdGVzIGFuIEF1dGhVc2VySWRlbnRpZmllciBmcm9tIHRoZSBpbnB1dC4gSWYgdGhlIGlucHV0IGlzIHVuZGVmaW5lZCwgcmV0dXJucyB0aGUgTm9BdXRoVXNlcklkZW50aWZpZXIuXG4gKiBcbiAqIEBwYXJhbSBpbnB1dElkIFxuICogQHJldHVybnMgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdXRoVXNlcklkZW50aWZpZXIoaW5wdXRJZDogTWF5YmU8QXV0aFVzZXJJZGVudGlmaWVyPik6IEF1dGhVc2VySWRlbnRpZmllciB7XG4gIHJldHVybiAoaW5wdXRJZCkgPyBpbnB1dElkIDogTk9fQVVUSF9VU0VSX0lERU5USUZJRVI7XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ export * from './router';
2
+ export * from './service';
3
+ export * from './state';
4
+ export * from './auth.user';
5
+ export * from './auth.module';
6
+ export * from './auth.role.any.directive';
7
+ export * from './auth.role.has.directive';
8
+ export * from './auth.state.module';
9
+ export * from './auth.state.service';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcm91dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRlJ1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLnVzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgucm9sZS5hbnkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC5yb2xlLmhhcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLnN0YXRlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGguc3RhdGUuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Auth routes configurations for an app.
3
+ */
4
+ export class DbxAppAuthRoutes {
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvcm91dGVyL2F1dGgucm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixnQkFBZ0I7Q0FLckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rIH0gZnJvbSAnLi4vLi4vcm91dGVyL3NlZ3VlJztcblxuLyoqXG4gKiBBdXRoIHJvdXRlcyBjb25maWd1cmF0aW9ucyBmb3IgYW4gYXBwLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4QXBwQXV0aFJvdXRlcyB7XG4gIGFic3RyYWN0IHJlYWRvbmx5IGxvZ2luUmVmOiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rO1xuICBhYnN0cmFjdCByZWFkb25seSBsb2dnZWRPdXRSZWY/OiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rO1xuICBhYnN0cmFjdCByZWFkb25seSBvbmJvYXJkUmVmPzogU2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluaztcbiAgYWJzdHJhY3QgcmVhZG9ubHkgYXBwUmVmOiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rO1xufVxuIl19
@@ -0,0 +1,26 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { DbxAppAuthRoutes } from './auth.router';
3
+ import * as i0 from "@angular/core";
4
+ export class DbxAppAuthRouterModule {
5
+ static forRoot(dbxAppAuthRoutes) {
6
+ return {
7
+ ngModule: DbxAppAuthRouterModule,
8
+ providers: [{
9
+ provide: DbxAppAuthRoutes,
10
+ useValue: dbxAppAuthRoutes
11
+ }]
12
+ };
13
+ }
14
+ }
15
+ DbxAppAuthRouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ DbxAppAuthRouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterModule });
17
+ DbxAppAuthRouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterModule, imports: [[]] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ imports: [],
22
+ declarations: [],
23
+ exports: []
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yb3V0ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL3JvdXRlci9hdXRoLnJvdXRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9qRCxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWtDO1FBQy9DLE9BQU87WUFDTCxRQUFRLEVBQUUsc0JBQXNCO1lBQ2hDLFNBQVMsRUFBRSxDQUFDO29CQUNWLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQzs7bUhBVlUsc0JBQXNCO29IQUF0QixzQkFBc0I7b0hBQXRCLHNCQUFzQixZQUp4QixFQUFFOzJGQUlBLHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4QXBwQXV0aFJvdXRlcyB9IGZyb20gJy4vYXV0aC5yb3V0ZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgZXhwb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgRGJ4QXBwQXV0aFJvdXRlck1vZHVsZSB7XG5cbiAgc3RhdGljIGZvclJvb3QoZGJ4QXBwQXV0aFJvdXRlczogRGJ4QXBwQXV0aFJvdXRlcyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGJ4QXBwQXV0aFJvdXRlck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4QXBwQXV0aFJvdXRlck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogRGJ4QXBwQXV0aFJvdXRlcyxcbiAgICAgICAgdXNlVmFsdWU6IGRieEFwcEF1dGhSb3V0ZXNcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,61 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { goWithRouter } from "../../router";
3
+ import { DbxRouterService } from "../../router/router/service/router.service";
4
+ import { DbxAppAuthRoutes } from "./auth.router";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../router/router/service/router.service";
7
+ import * as i2 from "./auth.router";
8
+ /**
9
+ * Helper service for navigating to important auth-related routes.
10
+ */
11
+ export class DbxAppAuthRouterService {
12
+ constructor(dbxRouterService, dbxAppAuthRoutes) {
13
+ this.dbxRouterService = dbxRouterService;
14
+ this.dbxAppAuthRoutes = dbxAppAuthRoutes;
15
+ }
16
+ get hasOnboardingState() {
17
+ return Boolean(this.dbxAppAuthRoutes.onboardRef);
18
+ }
19
+ // MARK: Navigate
20
+ /**
21
+ * Navigates to the login state.
22
+ *
23
+ * @returns
24
+ */
25
+ goToLogin() {
26
+ return goWithRouter(this.dbxRouterService)(this.dbxAppAuthRoutes.loginRef);
27
+ }
28
+ /**
29
+ * Navigates to the logged out state, if it exists, otherwise navigates to the login state.
30
+ *
31
+ * @returns
32
+ */
33
+ goToLoggedOut() {
34
+ return goWithRouter(this.dbxRouterService)(this.dbxAppAuthRoutes.loggedOutRef ?? this.dbxAppAuthRoutes.loginRef);
35
+ }
36
+ /**
37
+ * Navigates to the onboarding state if it is available, otherwise navigates to the app.
38
+ *
39
+ * @returns
40
+ */
41
+ goToOnboarding() {
42
+ return goWithRouter(this.dbxRouterService)(this.dbxAppAuthRoutes.onboardRef ?? this.dbxAppAuthRoutes.appRef);
43
+ }
44
+ /**
45
+ * Navigates to the app state.
46
+ *
47
+ * @returns
48
+ */
49
+ goToApp() {
50
+ return goWithRouter(this.dbxRouterService)(this.dbxAppAuthRoutes.appRef);
51
+ }
52
+ }
53
+ DbxAppAuthRouterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterService, deps: [{ token: i1.DbxRouterService }, { token: i2.DbxAppAuthRoutes }], target: i0.ɵɵFactoryTarget.Injectable });
54
+ DbxAppAuthRouterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterService, providedIn: 'root' });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterService, decorators: [{
56
+ type: Injectable,
57
+ args: [{
58
+ providedIn: 'root'
59
+ }]
60
+ }], ctorParameters: function () { return [{ type: i1.DbxRouterService }, { type: i2.DbxAppAuthRoutes }]; } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yb3V0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYXV0aC9yb3V0ZXIvYXV0aC5yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRWpEOztHQUVHO0FBSUgsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQyxZQUFxQixnQkFBa0MsRUFBVyxnQkFBa0M7UUFBL0UscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFXLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBSSxDQUFDO0lBRXpHLElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsaUJBQWlCO0lBQ2pCOzs7O09BSUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsY0FBYztRQUNaLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTztRQUNMLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDOztvSEEzQ1UsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBnb1dpdGhSb3V0ZXIgfSBmcm9tIFwiLi4vLi4vcm91dGVyXCI7XG5pbXBvcnQgeyBEYnhSb3V0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3JvdXRlci9yb3V0ZXIvc2VydmljZS9yb3V0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgRGJ4QXBwQXV0aFJvdXRlcyB9IGZyb20gXCIuL2F1dGgucm91dGVyXCI7XG5cbi8qKlxuICogSGVscGVyIHNlcnZpY2UgZm9yIG5hdmlnYXRpbmcgdG8gaW1wb3J0YW50IGF1dGgtcmVsYXRlZCByb3V0ZXMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieEFwcEF1dGhSb3V0ZXJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkYnhSb3V0ZXJTZXJ2aWNlOiBEYnhSb3V0ZXJTZXJ2aWNlLCByZWFkb25seSBkYnhBcHBBdXRoUm91dGVzOiBEYnhBcHBBdXRoUm91dGVzKSB7IH1cblxuICBnZXQgaGFzT25ib2FyZGluZ1N0YXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMuZGJ4QXBwQXV0aFJvdXRlcy5vbmJvYXJkUmVmKTtcbiAgfVxuXG4gIC8vIE1BUks6IE5hdmlnYXRlXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZXMgdG8gdGhlIGxvZ2luIHN0YXRlLlxuICAgKiBcbiAgICogQHJldHVybnMgXG4gICAqL1xuICBnb1RvTG9naW4oKSB7XG4gICAgcmV0dXJuIGdvV2l0aFJvdXRlcih0aGlzLmRieFJvdXRlclNlcnZpY2UpKHRoaXMuZGJ4QXBwQXV0aFJvdXRlcy5sb2dpblJlZik7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBsb2dnZWQgb3V0IHN0YXRlLCBpZiBpdCBleGlzdHMsIG90aGVyd2lzZSBuYXZpZ2F0ZXMgdG8gdGhlIGxvZ2luIHN0YXRlLlxuICAgKiBcbiAgICogQHJldHVybnMgXG4gICAqL1xuICBnb1RvTG9nZ2VkT3V0KCkge1xuICAgIHJldHVybiBnb1dpdGhSb3V0ZXIodGhpcy5kYnhSb3V0ZXJTZXJ2aWNlKSh0aGlzLmRieEFwcEF1dGhSb3V0ZXMubG9nZ2VkT3V0UmVmID8/IHRoaXMuZGJ4QXBwQXV0aFJvdXRlcy5sb2dpblJlZik7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBvbmJvYXJkaW5nIHN0YXRlIGlmIGl0IGlzIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIG5hdmlnYXRlcyB0byB0aGUgYXBwLlxuICAgKiBcbiAgICogQHJldHVybnMgXG4gICAqL1xuICBnb1RvT25ib2FyZGluZygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gZ29XaXRoUm91dGVyKHRoaXMuZGJ4Um91dGVyU2VydmljZSkodGhpcy5kYnhBcHBBdXRoUm91dGVzLm9uYm9hcmRSZWYgPz8gdGhpcy5kYnhBcHBBdXRoUm91dGVzLmFwcFJlZik7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBhcHAgc3RhdGUuXG4gICAqIFxuICAgKiBAcmV0dXJucyBcbiAgICovXG4gIGdvVG9BcHAoKSB7XG4gICAgcmV0dXJuIGdvV2l0aFJvdXRlcih0aGlzLmRieFJvdXRlclNlcnZpY2UpKHRoaXMuZGJ4QXBwQXV0aFJvdXRlcy5hcHBSZWYpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from './provider/uirouter';
2
+ export * from './state';
3
+ export * from './auth.router';
4
+ export * from './auth.router.service';
5
+ export * from './auth.router.module';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvcm91dGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlci91aXJvdXRlcic7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC5yb3V0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLnJvdXRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC5yb3V0ZXIubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { makeAuthTransitionHook } from './hook';
2
+ /**
3
+ * This hook redirects to the configured default state when a user is not logged in for configured states.
4
+ */
5
+ export function enableIsLoggedInHook(transitionService, config) {
6
+ // Matches if the destination state's data property has a truthy 'isSecure' property
7
+ const isSecureCriteria = {
8
+ entering: (state) => {
9
+ const data = state?.data;
10
+ const match = Boolean(data?.requiredLogIn);
11
+ return match;
12
+ }
13
+ };
14
+ const assertIsLoggedIn = makeAuthTransitionHook({
15
+ ...config.options,
16
+ makeDecisionsObs(transition, authService) {
17
+ return authService.isLoggedIn$;
18
+ }
19
+ });
20
+ // Register the "requires auth" hook with the TransitionsService
21
+ transitionService.onBefore(isSecureCriteria, assertIsLoggedIn, { priority: 100 });
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ob29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL3JvdXRlci9wcm92aWRlci91aXJvdXRlci9hdXRoLmhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFxRCxzQkFBc0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQWtCbkc7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsaUJBQW9DLEVBQUUsTUFBNEI7SUFFckcsb0ZBQW9GO0lBQ3BGLE1BQU0sZ0JBQWdCLEdBQXNCO1FBQzFDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2xCLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFBRSxJQUEyQyxDQUFDO1lBQ2hFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDM0MsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0tBQ0YsQ0FBQztJQUVGLE1BQU0sZ0JBQWdCLEdBQXFCLHNCQUFzQixDQUFDO1FBQ2hFLEdBQUcsTUFBTSxDQUFDLE9BQU87UUFDakIsZ0JBQWdCLENBQUMsVUFBc0IsRUFBRSxXQUEyQjtZQUNsRSxPQUFPLFdBQVcsQ0FBQyxXQUFXLENBQUM7UUFDakMsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILGdFQUFnRTtJQUNoRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUNwRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IFRyYW5zaXRpb25TZXJ2aWNlLCBUcmFuc2l0aW9uSG9va0ZuLCBUcmFuc2l0aW9uLCBIb29rTWF0Y2hDcml0ZXJpYSB9IGZyb20gJ0B1aXJvdXRlci9jb3JlJztcbmltcG9ydCB7IERieEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFRyYW5zaXRpb25EZWNpc2lvbiwgQXV0aFRyYW5zaXRpb25Ib29rT3B0aW9ucywgbWFrZUF1dGhUcmFuc2l0aW9uSG9vayB9IGZyb20gJy4vaG9vayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXNMb2dnZWRJbkhvb2tDb25maWcge1xuICBvcHRpb25zOiBBdXRoVHJhbnNpdGlvbkhvb2tPcHRpb25zO1xufVxuXG4vKipcbiAqIFVJUm91dGVyIFN0YXRlIGRhdGEgd2l0aCBjb25maWd1cmF0aW9uIGZvciB0aGUgaGFzQXV0aFJvbGVIb29rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElzTG9nZ2VkSW5TdGF0ZURhdGEge1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgdXNlciBuZWVkcyB0byBiZSBsb2dnZWQgaW4gZm9yIHRoaXMgc3RhdGUuXG4gICAqL1xuICByZXF1aXJlZExvZ0luOiBib29sZWFuO1xuXG59XG5cbi8qKlxuICogVGhpcyBob29rIHJlZGlyZWN0cyB0byB0aGUgY29uZmlndXJlZCBkZWZhdWx0IHN0YXRlIHdoZW4gYSB1c2VyIGlzIG5vdCBsb2dnZWQgaW4gZm9yIGNvbmZpZ3VyZWQgc3RhdGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5hYmxlSXNMb2dnZWRJbkhvb2sodHJhbnNpdGlvblNlcnZpY2U6IFRyYW5zaXRpb25TZXJ2aWNlLCBjb25maWc6IElzTG9nZ2VkSW5Ib29rQ29uZmlnKTogdm9pZCB7XG5cbiAgLy8gTWF0Y2hlcyBpZiB0aGUgZGVzdGluYXRpb24gc3RhdGUncyBkYXRhIHByb3BlcnR5IGhhcyBhIHRydXRoeSAnaXNTZWN1cmUnIHByb3BlcnR5XG4gIGNvbnN0IGlzU2VjdXJlQ3JpdGVyaWE6IEhvb2tNYXRjaENyaXRlcmlhID0ge1xuICAgIGVudGVyaW5nOiAoc3RhdGUpID0+IHtcbiAgICAgIGNvbnN0IGRhdGEgPSBzdGF0ZT8uZGF0YSBhcyBNYXliZTxQYXJ0aWFsPElzTG9nZ2VkSW5TdGF0ZURhdGE+PjtcbiAgICAgIGNvbnN0IG1hdGNoID0gQm9vbGVhbihkYXRhPy5yZXF1aXJlZExvZ0luKTtcbiAgICAgIHJldHVybiBtYXRjaDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgYXNzZXJ0SXNMb2dnZWRJbjogVHJhbnNpdGlvbkhvb2tGbiA9IG1ha2VBdXRoVHJhbnNpdGlvbkhvb2soe1xuICAgIC4uLmNvbmZpZy5vcHRpb25zLFxuICAgIG1ha2VEZWNpc2lvbnNPYnModHJhbnNpdGlvbjogVHJhbnNpdGlvbiwgYXV0aFNlcnZpY2U6IERieEF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoVHJhbnNpdGlvbkRlY2lzaW9uPiB7XG4gICAgICByZXR1cm4gYXV0aFNlcnZpY2UuaXNMb2dnZWRJbiQ7XG4gICAgfVxuICB9KTtcblxuICAvLyBSZWdpc3RlciB0aGUgXCJyZXF1aXJlcyBhdXRoXCIgaG9vayB3aXRoIHRoZSBUcmFuc2l0aW9uc1NlcnZpY2VcbiAgdHJhbnNpdGlvblNlcnZpY2Uub25CZWZvcmUoaXNTZWN1cmVDcml0ZXJpYSwgYXNzZXJ0SXNMb2dnZWRJbiwgeyBwcmlvcml0eTogMTAwIH0pO1xufVxuIl19
@@ -0,0 +1,65 @@
1
+ import { catchError, map, first, firstValueFrom, of, switchMap } from 'rxjs';
2
+ import { DbxAuthService } from '../../../service/auth.service';
3
+ import { getValueFromGetter, isGetter } from '@dereekb/util';
4
+ /**
5
+ * This generates a TransitionHookFn that can be used with redirecting routes.
6
+ */
7
+ export function makeAuthTransitionHook(config) {
8
+ const { defaultRedirectTarget, errorRedirectTarget = defaultRedirectTarget } = config;
9
+ // https://ui-router.github.io/ng2/docs/latest/modules/transition.html#hookresult
10
+ const assertIsAuthenticated = (transition) => {
11
+ const injector = transition.injector();
12
+ const authService = injector.get(DbxAuthService);
13
+ const $state = transition.router.stateService;
14
+ const decisionObs = config.makeDecisionsObs(transition, authService, injector);
15
+ function redirectOut() {
16
+ const stateData = transition.targetState().state().data;
17
+ const redirectTo = stateData?.redirectTo;
18
+ let redirectToObs;
19
+ if (redirectTo) {
20
+ let resultObs;
21
+ if (isGetter(redirectTo)) {
22
+ resultObs = getValueFromGetter(redirectTo, { authService, injector, transition });
23
+ }
24
+ else {
25
+ resultObs = of(redirectTo);
26
+ }
27
+ redirectToObs = resultObs.pipe(map((stateRef) => {
28
+ let redirectTarget;
29
+ let redirectParams;
30
+ if (stateRef) {
31
+ redirectTarget = stateRef.ref;
32
+ redirectParams = stateRef.refParams;
33
+ }
34
+ if (!redirectTarget) {
35
+ redirectTarget = defaultRedirectTarget;
36
+ }
37
+ return $state.target(redirectTarget, redirectParams);
38
+ }));
39
+ }
40
+ else {
41
+ redirectToObs = of($state.target(defaultRedirectTarget));
42
+ }
43
+ return redirectToObs;
44
+ }
45
+ const resultObs = decisionObs.pipe(first(), switchMap((decision) => {
46
+ if (typeof decision === 'boolean') {
47
+ if (decision) {
48
+ return of(true);
49
+ }
50
+ else {
51
+ return redirectOut();
52
+ }
53
+ }
54
+ else {
55
+ return of($state.target(decision.ref, decision.refParams, decision.refOptions));
56
+ }
57
+ }), catchError((x) => {
58
+ console.warn('Encountered error in auth transition hook.', x);
59
+ return of($state.target(errorRedirectTarget, { location: true })); // Redirect to home
60
+ }));
61
+ return firstValueFrom(resultObs);
62
+ };
63
+ return assertIsAuthenticated;
64
+ }
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYXV0aC9yb3V0ZXIvcHJvdmlkZXIvdWlyb3V0ZXIvaG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBOEMsa0JBQWtCLEVBQUUsUUFBUSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBb0RoSDs7R0FFRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxNQUFnQztJQUNyRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEdBQUcscUJBQXFCLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFdEYsaUZBQWlGO0lBQ2pGLE1BQU0scUJBQXFCLEdBQXFCLENBQUMsVUFBc0IsRUFBYyxFQUFFO1FBQ3JGLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QyxNQUFNLFdBQVcsR0FBbUIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBaUIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDNUQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFL0UsU0FBUyxXQUFXO1lBQ2xCLE1BQU0sU0FBUyxHQUE0QixVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2pGLE1BQU0sVUFBVSxHQUFHLFNBQVMsRUFBRSxVQUFVLENBQUM7WUFFekMsSUFBSSxhQUFxQyxDQUFDO1lBRTFDLElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksU0FBc0MsQ0FBQztnQkFFM0MsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ3hCLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBdUMsQ0FBQyxDQUFDO2lCQUN4SDtxQkFBTTtvQkFDTCxTQUFTLEdBQUcsRUFBRSxDQUFDLFVBQXNCLENBQUMsQ0FBQztpQkFDeEM7Z0JBRUQsYUFBYSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQzVCLEdBQUcsQ0FBQyxDQUFDLFFBQXlCLEVBQUUsRUFBRTtvQkFDaEMsSUFBSSxjQUFjLENBQUM7b0JBQ25CLElBQUksY0FBYyxDQUFDO29CQUVuQixJQUFJLFFBQVEsRUFBRTt3QkFDWixjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQzt3QkFDOUIsY0FBYyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7cUJBQ3JDO29CQUVELElBQUksQ0FBQyxjQUFjLEVBQUU7d0JBQ25CLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztxQkFDeEM7b0JBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLENBQ0gsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLGFBQWEsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7YUFDMUQ7WUFFRCxPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FDaEMsS0FBSyxFQUFFLEVBQ1AsU0FBUyxDQUFDLENBQUMsUUFBZ0MsRUFBMEIsRUFBRTtZQUNyRSxJQUFJLE9BQU8sUUFBUSxLQUFLLFNBQVMsRUFBRTtnQkFDakMsSUFBSSxRQUFRLEVBQUU7b0JBQ1osT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2pCO3FCQUFNO29CQUNMLE9BQU8sV0FBVyxFQUFFLENBQUM7aUJBQ3RCO2FBQ0Y7aUJBQU07Z0JBQ0wsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxTQUFzQixFQUFFLFFBQVEsQ0FBQyxVQUErQixDQUFDLENBQUMsQ0FBQzthQUNuSDtRQUNILENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyw0Q0FBNEMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5RCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtRQUN4RixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsT0FBTyxjQUFjLENBQUMsU0FBUyxDQUFlLENBQUM7SUFDakQsQ0FBQyxDQUFDO0lBRUYsT0FBTyxxQkFBcUIsQ0FBQztBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNpdGlvbkhvb2tGbiwgVHJhbnNpdGlvbiwgSG9va1Jlc3VsdCwgU3RhdGVTZXJ2aWNlLCBVSUluamVjdG9yLCBUcmFuc2l0aW9uT3B0aW9ucywgUmF3UGFyYW1zIH0gZnJvbSAnQHVpcm91dGVyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBmaXJzdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlZ3VlUmVmIH0gZnJvbSAnLi8uLi8uLi8uLi8uLi9yb3V0ZXIvc2VndWUnO1xuaW1wb3J0IHsgRGJ4QXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBGYWN0b3J5V2l0aElucHV0LCBGYWN0b3J5V2l0aFJlcXVpcmVkSW5wdXQsIGdldFZhbHVlRnJvbUdldHRlciwgaXNHZXR0ZXIsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIGF1dGhUcmFuc2l0aW9uSG9va0ZuKCkgY29uZmlndXJhdGlvbi4gVGhlIHZhbHVlcyBhcmUgaGFuZGxlZCBhczpcbiAqIC0gdHJ1ZTogY29udGludWUgdG8gdGhlIHN0YXRlLlxuICogLSBmYWxzZTogcmVkaXJlY3QgdG8gdGhlIGxvZ2luIHBhZ2UuXG4gKiAtIFN0YXRlT3JOYW1lOiByZWRpcmVjdCB0byB0aGUgdGFyZ2V0IHBhZ2UgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IHR5cGUgQXV0aFRyYW5zaXRpb25EZWNpc2lvbiA9IHRydWUgfCBmYWxzZSB8IFNlZ3VlUmVmO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhUcmFuc2l0aW9uRGVjaXNpb25HZXR0ZXJJbnB1dCB7XG4gIHJlYWRvbmx5IHRyYW5zaXRpb246IFRyYW5zaXRpb247XG4gIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcjtcbiAgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IERieEF1dGhTZXJ2aWNlO1xufVxuXG5leHBvcnQgdHlwZSBBdXRoVHJhbnNpdGlvblJlZGlyZWN0VGFyZ2V0R2V0dGVyID0gRmFjdG9yeVdpdGhSZXF1aXJlZElucHV0PE9ic2VydmFibGU8TWF5YmU8U2VndWVSZWY+PiwgQXV0aFRyYW5zaXRpb25EZWNpc2lvbkdldHRlcklucHV0PjtcbmV4cG9ydCB0eXBlIEF1dGhUcmFuc2l0aW9uUmVkaXJlY3RUYXJnZXRPckdldHRlciA9IE1heWJlPFNlZ3VlUmVmPiB8IEF1dGhUcmFuc2l0aW9uUmVkaXJlY3RUYXJnZXRHZXR0ZXI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFRyYW5zaXRpb25Ib29rT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0ZSB0byByZWRpcmVjdCB0aGUgdXNlciB0byB3aGVuIHRoZWlyIGF1dGggZmFpbHMuXG4gICAqL1xuICBkZWZhdWx0UmVkaXJlY3RUYXJnZXQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXRlIHRvIHJlZGlyZWN0IHRoZSB1c2VyIHRvLiBEZWZhdWx0cyB0byBkZWZhdWx0UmVkaXJlY3RUYXJnZXQuXG4gICAqL1xuICBlcnJvclJlZGlyZWN0VGFyZ2V0Pzogc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFRyYW5zaXRpb25Ib29rQ29uZmlnIGV4dGVuZHMgQXV0aFRyYW5zaXRpb25Ib29rT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIGRlY2lzaW9uIG9ic2VydmFibGUgZm9yIHRoZSB0cmFuc2l0aW9uIHRoYXQgZGVjaWRlcyB3aGV0aGVyIG9yIG5vdCB0byByZWRpcmVjdCBvciBjb250aW51ZS5cbiAgICovXG4gIG1ha2VEZWNpc2lvbnNPYnM6ICh0cmFuc2l0aW9uOiBUcmFuc2l0aW9uLCBhdXRoU2VydmljZTogRGJ4QXV0aFNlcnZpY2UsIGluamVjdG9yOiBVSUluamVjdG9yKSA9PiBPYnNlcnZhYmxlPEF1dGhUcmFuc2l0aW9uRGVjaXNpb24+O1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFRyYW5zaXRpb25TdGF0ZURhdGEge1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBnZXR0ZXIvZGVjaXNpb24gbWFrZXIgd2hlbiBhIHJvbGUgbmVlZHMgdG8gYmUgXG4gICAqL1xuICByZWRpcmVjdFRvPzogQXV0aFRyYW5zaXRpb25SZWRpcmVjdFRhcmdldE9yR2V0dGVyO1xuXG59XG5cbi8qKlxuICogVGhpcyBnZW5lcmF0ZXMgYSBUcmFuc2l0aW9uSG9va0ZuIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCByZWRpcmVjdGluZyByb3V0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlQXV0aFRyYW5zaXRpb25Ib29rKGNvbmZpZzogQXV0aFRyYW5zaXRpb25Ib29rQ29uZmlnKTogVHJhbnNpdGlvbkhvb2tGbiB7XG4gIGNvbnN0IHsgZGVmYXVsdFJlZGlyZWN0VGFyZ2V0LCBlcnJvclJlZGlyZWN0VGFyZ2V0ID0gZGVmYXVsdFJlZGlyZWN0VGFyZ2V0IH0gPSBjb25maWc7XG5cbiAgLy8gaHR0cHM6Ly91aS1yb3V0ZXIuZ2l0aHViLmlvL25nMi9kb2NzL2xhdGVzdC9tb2R1bGVzL3RyYW5zaXRpb24uaHRtbCNob29rcmVzdWx0XG4gIGNvbnN0IGFzc2VydElzQXV0aGVudGljYXRlZDogVHJhbnNpdGlvbkhvb2tGbiA9ICh0cmFuc2l0aW9uOiBUcmFuc2l0aW9uKTogSG9va1Jlc3VsdCA9PiB7XG4gICAgY29uc3QgaW5qZWN0b3IgPSB0cmFuc2l0aW9uLmluamVjdG9yKCk7XG4gICAgY29uc3QgYXV0aFNlcnZpY2U6IERieEF1dGhTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KERieEF1dGhTZXJ2aWNlKTtcbiAgICBjb25zdCAkc3RhdGU6IFN0YXRlU2VydmljZSA9IHRyYW5zaXRpb24ucm91dGVyLnN0YXRlU2VydmljZTtcbiAgICBjb25zdCBkZWNpc2lvbk9icyA9IGNvbmZpZy5tYWtlRGVjaXNpb25zT2JzKHRyYW5zaXRpb24sIGF1dGhTZXJ2aWNlLCBpbmplY3Rvcik7XG5cbiAgICBmdW5jdGlvbiByZWRpcmVjdE91dCgpOiBPYnNlcnZhYmxlPEhvb2tSZXN1bHQ+IHtcbiAgICAgIGNvbnN0IHN0YXRlRGF0YTogQXV0aFRyYW5zaXRpb25TdGF0ZURhdGEgPSB0cmFuc2l0aW9uLnRhcmdldFN0YXRlKCkuc3RhdGUoKS5kYXRhO1xuICAgICAgY29uc3QgcmVkaXJlY3RUbyA9IHN0YXRlRGF0YT8ucmVkaXJlY3RUbztcblxuICAgICAgbGV0IHJlZGlyZWN0VG9PYnM6IE9ic2VydmFibGU8SG9va1Jlc3VsdD47XG5cbiAgICAgIGlmIChyZWRpcmVjdFRvKSB7XG4gICAgICAgIGxldCByZXN1bHRPYnM6IE9ic2VydmFibGU8TWF5YmU8U2VndWVSZWY+PjtcblxuICAgICAgICBpZiAoaXNHZXR0ZXIocmVkaXJlY3RUbykpIHtcbiAgICAgICAgICByZXN1bHRPYnMgPSBnZXRWYWx1ZUZyb21HZXR0ZXIocmVkaXJlY3RUbywgeyBhdXRoU2VydmljZSwgaW5qZWN0b3IsIHRyYW5zaXRpb24gfSBhcyBBdXRoVHJhbnNpdGlvbkRlY2lzaW9uR2V0dGVySW5wdXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdE9icyA9IG9mKHJlZGlyZWN0VG8gYXMgU2VndWVSZWYpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVkaXJlY3RUb09icyA9IHJlc3VsdE9icy5waXBlKFxuICAgICAgICAgIG1hcCgoc3RhdGVSZWY6IE1heWJlPFNlZ3VlUmVmPikgPT4ge1xuICAgICAgICAgICAgbGV0IHJlZGlyZWN0VGFyZ2V0O1xuICAgICAgICAgICAgbGV0IHJlZGlyZWN0UGFyYW1zO1xuXG4gICAgICAgICAgICBpZiAoc3RhdGVSZWYpIHtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUYXJnZXQgPSBzdGF0ZVJlZi5yZWY7XG4gICAgICAgICAgICAgIHJlZGlyZWN0UGFyYW1zID0gc3RhdGVSZWYucmVmUGFyYW1zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXJlZGlyZWN0VGFyZ2V0KSB7XG4gICAgICAgICAgICAgIHJlZGlyZWN0VGFyZ2V0ID0gZGVmYXVsdFJlZGlyZWN0VGFyZ2V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gJHN0YXRlLnRhcmdldChyZWRpcmVjdFRhcmdldCwgcmVkaXJlY3RQYXJhbXMpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZWRpcmVjdFRvT2JzID0gb2YoJHN0YXRlLnRhcmdldChkZWZhdWx0UmVkaXJlY3RUYXJnZXQpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlZGlyZWN0VG9PYnM7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0T2JzID0gZGVjaXNpb25PYnMucGlwZShcbiAgICAgIGZpcnN0KCksXG4gICAgICBzd2l0Y2hNYXAoKGRlY2lzaW9uOiBBdXRoVHJhbnNpdGlvbkRlY2lzaW9uKTogT2JzZXJ2YWJsZTxIb29rUmVzdWx0PiA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgZGVjaXNpb24gPT09ICdib29sZWFuJykge1xuICAgICAgICAgIGlmIChkZWNpc2lvbikge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcmVkaXJlY3RPdXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG9mKCRzdGF0ZS50YXJnZXQoZGVjaXNpb24ucmVmLCBkZWNpc2lvbi5yZWZQYXJhbXMgYXMgUmF3UGFyYW1zLCBkZWNpc2lvbi5yZWZPcHRpb25zIGFzIFRyYW5zaXRpb25PcHRpb25zKSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoeCkgPT4ge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0VuY291bnRlcmVkIGVycm9yIGluIGF1dGggdHJhbnNpdGlvbiBob29rLicsIHgpO1xuICAgICAgICByZXR1cm4gb2YoJHN0YXRlLnRhcmdldChlcnJvclJlZGlyZWN0VGFyZ2V0LCB7IGxvY2F0aW9uOiB0cnVlIH0pKTsgLy8gUmVkaXJlY3QgdG8gaG9tZVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHJlc3VsdE9icykgYXMgSG9va1Jlc3VsdDtcbiAgfTtcblxuICByZXR1cm4gYXNzZXJ0SXNBdXRoZW50aWNhdGVkO1xufVxuIl19
@@ -0,0 +1,6 @@
1
+ export * from './hook';
2
+ export * from './redirect';
3
+ export * from './auth.hook';
4
+ export * from './role.hook';
5
+ export * from './state.hook';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvcm91dGVyL3Byb3ZpZGVyL3Vpcm91dGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ob29rJztcbmV4cG9ydCAqIGZyb20gJy4vcmVkaXJlY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLmhvb2snO1xuZXhwb3J0ICogZnJvbSAnLi9yb2xlLmhvb2snO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZS5ob29rJztcbiJdfQ==