@dereekb/dbx-core 9.23.7 → 9.23.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/router/router/transition/transition.rxjs.mjs +22 -2
- package/fesm2015/dereekb-dbx-core.mjs +22 -3
- package/fesm2015/dereekb-dbx-core.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-core.mjs +22 -3
- package/fesm2020/dereekb-dbx-core.mjs.map +1 -1
- package/lib/router/router/transition/transition.rxjs.d.ts +29 -0
- package/package.json +4 -4
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { distinctUntilKeysChange } from '@dereekb/rxjs';
|
|
2
|
+
import { asArray, filterMaybeValues } from '@dereekb/util';
|
|
2
3
|
import { filter, map, distinctUntilChanged, shareReplay, startWith } from 'rxjs';
|
|
3
4
|
import { DbxRouterTransitionEventType } from './transition';
|
|
4
5
|
/**
|
|
@@ -16,6 +17,25 @@ export function filterTransitionSuccess() {
|
|
|
16
17
|
export function filterTransitionEvent(type) {
|
|
17
18
|
return filter((x) => x.type === type);
|
|
18
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new observable that uses the input DbxRouterTransitionService and DbxRouterService to determine whether or not any of the configured routes are active.
|
|
22
|
+
*
|
|
23
|
+
* @param obs
|
|
24
|
+
* @param config
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
export function latestSuccessfulRoutes(config) {
|
|
28
|
+
const { dbxRouterTransitionService, dbxRouterService, routes: inputRoutes } = config;
|
|
29
|
+
const routes = asArray(inputRoutes).map((r, i) => ({ r, i }));
|
|
30
|
+
const checkRoutes = routes.map((routeConfig) => {
|
|
31
|
+
const { r: route } = routeConfig;
|
|
32
|
+
return route.activeExactly ? () => (dbxRouterService.isActiveExactly(route.route) ? routeConfig : undefined) : () => (dbxRouterService.isActive(route.route) ? routeConfig : undefined);
|
|
33
|
+
});
|
|
34
|
+
return successTransition(dbxRouterTransitionService.transitions$).pipe(startWith(undefined), map(() => {
|
|
35
|
+
const activeRoutes = filterMaybeValues(checkRoutes.map((x) => x()));
|
|
36
|
+
return activeRoutes;
|
|
37
|
+
}), distinctUntilKeysChange((x) => x.i), map((x) => x.map((y) => y.r)), shareReplay(1));
|
|
38
|
+
}
|
|
19
39
|
/**
|
|
20
40
|
* Creates a new observable that uses the input DbxRouterTransitionService and DbxRouterService to determine whether or not any of the configured routes are active.
|
|
21
41
|
*
|
|
@@ -32,4 +52,4 @@ export function isLatestSuccessfulRoute(config) {
|
|
|
32
52
|
return isActive;
|
|
33
53
|
}), distinctUntilChanged(), shareReplay(1));
|
|
34
54
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdGlvbi5yeGpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9yb3V0ZXIvcm91dGVyL3RyYW5zaXRpb24vdHJhbnNpdGlvbi5yeGpzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQWdCLE9BQU8sRUFBRSxpQkFBaUIsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBd0Msb0JBQW9CLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl2SCxPQUFPLEVBQTRCLDRCQUE0QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQXlDO0lBQ3pFLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUI7SUFDckMsT0FBTyxxQkFBcUIsQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLElBQWtDO0lBQ3RFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUE2QkQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUE4QyxNQUF1QztJQUN6SCxNQUFNLEVBQUUsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNyRixNQUFNLE1BQU0sR0FBK0MsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFHLE1BQU0sV0FBVyxHQUFtRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDN0csTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFDakMsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8saUJBQWlCLENBQUMsMEJBQTBCLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUNwRSxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3BCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7UUFDUCxNQUFNLFlBQVksR0FBK0MsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hILE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxFQUNGLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ25DLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzdCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0FBQ0osQ0FBQztBQW1CRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBcUM7SUFDM0UsTUFBTSxFQUFFLDBCQUEwQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUMvRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sVUFBVSxHQUFxRCxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBbUMsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQW1DLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsUCxPQUFPLGlCQUFpQixDQUFDLDBCQUEwQixDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDcEUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUNwQixHQUFHLENBQUMsR0FBRyxFQUFFO1FBQ1AsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUMsRUFDRixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkaXN0aW5jdFVudGlsS2V5c0NoYW5nZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgQXJyYXlPclZhbHVlLCBhc0FycmF5LCBmaWx0ZXJNYXliZVZhbHVlcywgSW5kZXhSZWYgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rIH0gZnJvbSAnLi4vLi4vc2VndWUnO1xuaW1wb3J0IHsgRGJ4Um91dGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2Uvcm91dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL3JvdXRlci50cmFuc2l0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGJ4Um91dGVyVHJhbnNpdGlvbkV2ZW50LCBEYnhSb3V0ZXJUcmFuc2l0aW9uRXZlbnRUeXBlIH0gZnJvbSAnLi90cmFuc2l0aW9uJztcblxuLyoqXG4gKiBDb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgZmlsdGVyaW5nIHN1Y2Nlc3MgZnJvbSB0aGUgaW5wdXQgb2JzZXJ2YWJsZS5cbiAqXG4gKiBAcGFyYW0gb2JzXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3VjY2Vzc1RyYW5zaXRpb24ob2JzOiBPYnNlcnZhYmxlPERieFJvdXRlclRyYW5zaXRpb25FdmVudD4pOiBPYnNlcnZhYmxlPERieFJvdXRlclRyYW5zaXRpb25FdmVudD4ge1xuICByZXR1cm4gb2JzLnBpcGUoZmlsdGVyVHJhbnNpdGlvblN1Y2Nlc3MoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJUcmFuc2l0aW9uU3VjY2VzcygpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248RGJ4Um91dGVyVHJhbnNpdGlvbkV2ZW50PiB7XG4gIHJldHVybiBmaWx0ZXJUcmFuc2l0aW9uRXZlbnQoRGJ4Um91dGVyVHJhbnNpdGlvbkV2ZW50VHlwZS5TVUNDRVNTKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclRyYW5zaXRpb25FdmVudCh0eXBlOiBEYnhSb3V0ZXJUcmFuc2l0aW9uRXZlbnRUeXBlKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPERieFJvdXRlclRyYW5zaXRpb25FdmVudD4ge1xuICByZXR1cm4gZmlsdGVyKCh4KSA9PiB4LnR5cGUgPT09IHR5cGUpO1xufVxuLy8gTUFSSzogTGF0ZXN0U3VjY2Vzc2Z1bFJvdXRlc0NvbmZpZ1xuZXhwb3J0IGludGVyZmFjZSBMYXRlc3RTdWNjZXNzZnVsUm91dGVzQ29uZmlnUm91dGUge1xuICAvKipcbiAgICogUm91dGUgdG8gY2hlY2sgaWYgaXQgaXMgYWN0aXZlIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IHJvdXRlOiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gbWF0Y2ggdGhlIHJvdXRlIGV4YWN0bHkuXG4gICAqL1xuICByZWFkb25seSBhY3RpdmVFeGFjdGx5PzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIExhdGVzdFN1Y2Nlc3NmdWxSb3V0ZXNDb25maWdSb3V0ZUl0ZW08VD4gZXh0ZW5kcyBJbmRleFJlZiB7XG4gIHJlYWRvbmx5IHI6IFQ7XG59XG5cbi8qKlxuICogbGF0ZXN0U3VjY2Vzc2Z1bFJvdXRlKCkgY29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGF0ZXN0U3VjY2Vzc2Z1bFJvdXRlc0NvbmZpZzxUIGV4dGVuZHMgTGF0ZXN0U3VjY2Vzc2Z1bFJvdXRlc0NvbmZpZ1JvdXRlPiB7XG4gIHJlYWRvbmx5IGRieFJvdXRlclRyYW5zaXRpb25TZXJ2aWNlOiBEYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZTtcbiAgcmVhZG9ubHkgZGJ4Um91dGVyU2VydmljZTogRGJ4Um91dGVyU2VydmljZTtcbiAgLyoqXG4gICAqIFJvdXRlIG9yIGxpc3Qgb2Ygcm91dGVzIHRvIGNoZWNrIGlmIHRoZXkncmUgYWN0aXZlIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IHJvdXRlczogQXJyYXlPclZhbHVlPFQ+O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgb2JzZXJ2YWJsZSB0aGF0IHVzZXMgdGhlIGlucHV0IERieFJvdXRlclRyYW5zaXRpb25TZXJ2aWNlIGFuZCBEYnhSb3V0ZXJTZXJ2aWNlIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCBhbnkgb2YgdGhlIGNvbmZpZ3VyZWQgcm91dGVzIGFyZSBhY3RpdmUuXG4gKlxuICogQHBhcmFtIG9ic1xuICogQHBhcmFtIGNvbmZpZ1xuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxhdGVzdFN1Y2Nlc3NmdWxSb3V0ZXM8VCBleHRlbmRzIExhdGVzdFN1Y2Nlc3NmdWxSb3V0ZXNDb25maWdSb3V0ZT4oY29uZmlnOiBMYXRlc3RTdWNjZXNzZnVsUm91dGVzQ29uZmlnPFQ+KTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgY29uc3QgeyBkYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZSwgZGJ4Um91dGVyU2VydmljZSwgcm91dGVzOiBpbnB1dFJvdXRlcyB9ID0gY29uZmlnO1xuICBjb25zdCByb3V0ZXM6IExhdGVzdFN1Y2Nlc3NmdWxSb3V0ZXNDb25maWdSb3V0ZUl0ZW08VD5bXSA9IGFzQXJyYXkoaW5wdXRSb3V0ZXMpLm1hcCgociwgaSkgPT4gKHsgciwgaSB9KSk7XG4gIGNvbnN0IGNoZWNrUm91dGVzOiAoKCkgPT4gTGF0ZXN0U3VjY2Vzc2Z1bFJvdXRlc0NvbmZpZ1JvdXRlSXRlbTxUPiB8IHVuZGVmaW5lZClbXSA9IHJvdXRlcy5tYXAoKHJvdXRlQ29uZmlnKSA9PiB7XG4gICAgY29uc3QgeyByOiByb3V0ZSB9ID0gcm91dGVDb25maWc7XG4gICAgcmV0dXJuIHJvdXRlLmFjdGl2ZUV4YWN0bHkgPyAoKSA9PiAoZGJ4Um91dGVyU2VydmljZS5pc0FjdGl2ZUV4YWN0bHkocm91dGUucm91dGUpID8gcm91dGVDb25maWcgOiB1bmRlZmluZWQpIDogKCkgPT4gKGRieFJvdXRlclNlcnZpY2UuaXNBY3RpdmUocm91dGUucm91dGUpID8gcm91dGVDb25maWcgOiB1bmRlZmluZWQpO1xuICB9KTtcblxuICByZXR1cm4gc3VjY2Vzc1RyYW5zaXRpb24oZGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UudHJhbnNpdGlvbnMkKS5waXBlKFxuICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgIG1hcCgoKSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVSb3V0ZXM6IExhdGVzdFN1Y2Nlc3NmdWxSb3V0ZXNDb25maWdSb3V0ZUl0ZW08VD5bXSA9IGZpbHRlck1heWJlVmFsdWVzKGNoZWNrUm91dGVzLm1hcCgoeCkgPT4geCgpKSk7XG4gICAgICByZXR1cm4gYWN0aXZlUm91dGVzO1xuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxLZXlzQ2hhbmdlKCh4KSA9PiB4LmkpLFxuICAgIG1hcCgoeCkgPT4geC5tYXAoKHkpID0+IHkucikpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG59XG5cbi8vIE1BUks6IElzTGF0ZXN0U3VjY2Vzc2Z1bFJvdXRlQ29uZmlnXG4vKipcbiAqIGlzTGF0ZXN0U3VjY2Vzc2Z1bFJvdXRlKCkgY29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXNMYXRlc3RTdWNjZXNzZnVsUm91dGVDb25maWcge1xuICByZWFkb25seSBkYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZTogRGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2U7XG4gIHJlYWRvbmx5IGRieFJvdXRlclNlcnZpY2U6IERieFJvdXRlclNlcnZpY2U7XG4gIC8qKlxuICAgKiBSb3V0ZSBvciBsaXN0IG9mIHJvdXRlcyB0byBjaGVjayBpZiB0aGV5J3JlIGFjdGl2ZSBvciBub3QuXG4gICAqL1xuICByZWFkb25seSByb3V0ZXM6IEFycmF5T3JWYWx1ZTxTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIG1hdGNoIHJvdXRlIGFjdGl2aXR5IGV4YWN0bHkuXG4gICAqL1xuICByZWFkb25seSBhY3RpdmVFeGFjdGx5PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IG9ic2VydmFibGUgdGhhdCB1c2VzIHRoZSBpbnB1dCBEYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZSBhbmQgRGJ4Um91dGVyU2VydmljZSB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgYW55IG9mIHRoZSBjb25maWd1cmVkIHJvdXRlcyBhcmUgYWN0aXZlLlxuICpcbiAqIEBwYXJhbSBvYnNcbiAqIEBwYXJhbSBjb25maWdcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0xhdGVzdFN1Y2Nlc3NmdWxSb3V0ZShjb25maWc6IElzTGF0ZXN0U3VjY2Vzc2Z1bFJvdXRlQ29uZmlnKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIGNvbnN0IHsgZGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UsIGRieFJvdXRlclNlcnZpY2UsIGFjdGl2ZUV4YWN0bHkgfSA9IGNvbmZpZztcbiAgY29uc3Qgcm91dGVzID0gYXNBcnJheShjb25maWcucm91dGVzKTtcbiAgY29uc3QgY2hlY2tSb3V0ZTogKHJvdXRlOiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rKSA9PiBib29sZWFuID0gYWN0aXZlRXhhY3RseSA/IChyb3V0ZTogU2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluaykgPT4gZGJ4Um91dGVyU2VydmljZS5pc0FjdGl2ZUV4YWN0bHkocm91dGUpIDogKHJvdXRlOiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rKSA9PiBkYnhSb3V0ZXJTZXJ2aWNlLmlzQWN0aXZlKHJvdXRlKTtcblxuICByZXR1cm4gc3VjY2Vzc1RyYW5zaXRpb24oZGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UudHJhbnNpdGlvbnMkKS5waXBlKFxuICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgIG1hcCgoKSA9PiB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHJvdXRlcy5maW5kSW5kZXgoY2hlY2tSb3V0ZSkgIT09IC0xO1xuICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Directive, Injectable, Host, Input, forwardRef, Optional, NgModule, InjectionToken, Inject, EventEmitter, Output, LOCALE_ID, Pipe, Injector, ViewContainerRef, Component, ViewChild } from '@angular/core';
|
|
3
3
|
import * as i1$5 from '@dereekb/rxjs';
|
|
4
|
-
import { SubscriptionObject, LockSet, filterMaybe, LoadingStateType, beginLoading, idleLoadingState, errorResult, successResult, scanCount, workFactory, combineLatestFromMapValuesObsFn, emitDelayObs, asObservable, returnIfIs, timeoutStartWith, skipFirstMaybe, maybeValueFromObservableOrValueGetter, switchMapToDefault, asObservableFromGetter, onFalseToTrue, onTrueToFalse, setContainsAllValuesFrom, setContainsNoValueFrom, FilterSource, FilterSourceConnector, FilterSourceInstance, FilterMap } from '@dereekb/rxjs';
|
|
4
|
+
import { SubscriptionObject, LockSet, filterMaybe, LoadingStateType, beginLoading, idleLoadingState, errorResult, successResult, scanCount, workFactory, combineLatestFromMapValuesObsFn, emitDelayObs, asObservable, returnIfIs, timeoutStartWith, skipFirstMaybe, distinctUntilKeysChange, maybeValueFromObservableOrValueGetter, switchMapToDefault, asObservableFromGetter, onFalseToTrue, onTrueToFalse, setContainsAllValuesFrom, setContainsNoValueFrom, FilterSource, FilterSourceConnector, FilterSourceInstance, FilterMap } from '@dereekb/rxjs';
|
|
5
5
|
import * as i1 from 'rxjs';
|
|
6
6
|
import { switchMap, first, BehaviorSubject, combineLatest, distinctUntilChanged, filter, Subject, debounce, interval, throttle, exhaustMap, mergeMap, map, shareReplay, EMPTY, withLatestFrom, of, startWith, delay, tap, catchError, firstValueFrom, takeUntil, Observable } from 'rxjs';
|
|
7
7
|
import * as i1$6 from '@dereekb/util';
|
|
8
|
-
import { isDefinedAndNotFalse, hasValueOrNotEmpty, BooleanStringKeyArrayUtilityInstance, reduceBooleansWithOrFn, getValueFromGetter, toReadableError, isGetter, asArray, setIncludes, isAllowed, maybeSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, defaultForwardFunctionFactory, mergeArrays,
|
|
8
|
+
import { isDefinedAndNotFalse, hasValueOrNotEmpty, BooleanStringKeyArrayUtilityInstance, reduceBooleansWithOrFn, getValueFromGetter, toReadableError, isGetter, asArray, setIncludes, isAllowed, maybeSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, filterMaybeValues, defaultForwardFunctionFactory, mergeArrays, mergeArrayOrValueIntoArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
|
|
9
9
|
import { ComponentStore } from '@ngrx/component-store';
|
|
10
10
|
import { CommonModule, formatDate } from '@angular/common';
|
|
11
11
|
import * as i1$3 from '@ngrx/effects';
|
|
@@ -2602,6 +2602,25 @@ function filterTransitionSuccess() {
|
|
|
2602
2602
|
function filterTransitionEvent(type) {
|
|
2603
2603
|
return filter((x) => x.type === type);
|
|
2604
2604
|
}
|
|
2605
|
+
/**
|
|
2606
|
+
* Creates a new observable that uses the input DbxRouterTransitionService and DbxRouterService to determine whether or not any of the configured routes are active.
|
|
2607
|
+
*
|
|
2608
|
+
* @param obs
|
|
2609
|
+
* @param config
|
|
2610
|
+
* @returns
|
|
2611
|
+
*/
|
|
2612
|
+
function latestSuccessfulRoutes(config) {
|
|
2613
|
+
const { dbxRouterTransitionService, dbxRouterService, routes: inputRoutes } = config;
|
|
2614
|
+
const routes = asArray(inputRoutes).map((r, i) => ({ r, i }));
|
|
2615
|
+
const checkRoutes = routes.map((routeConfig) => {
|
|
2616
|
+
const { r: route } = routeConfig;
|
|
2617
|
+
return route.activeExactly ? () => (dbxRouterService.isActiveExactly(route.route) ? routeConfig : undefined) : () => (dbxRouterService.isActive(route.route) ? routeConfig : undefined);
|
|
2618
|
+
});
|
|
2619
|
+
return successTransition(dbxRouterTransitionService.transitions$).pipe(startWith(undefined), map(() => {
|
|
2620
|
+
const activeRoutes = filterMaybeValues(checkRoutes.map((x) => x()));
|
|
2621
|
+
return activeRoutes;
|
|
2622
|
+
}), distinctUntilKeysChange((x) => x.i), map((x) => x.map((y) => y.r)), shareReplay(1));
|
|
2623
|
+
}
|
|
2605
2624
|
/**
|
|
2606
2625
|
* Creates a new observable that uses the input DbxRouterTransitionService and DbxRouterService to determine whether or not any of the configured routes are active.
|
|
2607
2626
|
*
|
|
@@ -5153,5 +5172,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
5153
5172
|
* Generated bundle index. Do not edit.
|
|
5154
5173
|
*/
|
|
5155
5174
|
|
|
5156
|
-
export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractDbxActionHandlerDirective, AbstractDbxActionValueOnTriggerDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractLockSetSubscriptionDirective, AbstractSubscriptionDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AnchorType, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_ONBOARDING_APP_CONTEXT_STATE, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_VALUE, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_VALUE, DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDayRangePipe, DateDayTimeRangePipe, DateDistancePipe, DateFormatDistancePipe, DateFromToTimePipe, DateTimeRangeOnlyPipe, DateTimeRangePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMachineAsService, DbxActionContextMapDirective, DbxActionContextMapDirectiveSourceInstance, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionDisabledOnSuccessDirective, DbxActionEnforceModifiedDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHandlerInstance, DbxActionHasSuccessDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionValueDirective, DbxActionValueOnTriggerInstance, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterModule, DbxAppAuthRouterService, DbxAppAuthRouterStateModule, DbxAppAuthRoutes, DbxAppAuthStateModule, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppContextStateModule, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthNotAnyRolesDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAuthModule, DbxCoreButtonModule, DbxCoreFilterModule, DbxCoreUIRouterSegueModule, DbxDatePipeModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionComponent, DbxInjectionComponentModule, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxMiscPipeModule, DbxPipesModule, DbxRouteParamDefaultRedirectInstance, DbxRouteParamReaderInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxStorageModule, DbxUIRouterService, FilterSourceDirective, FullLocalStorageObject, InstantStorageAccessor, LimitedStorageAccessor, LockSetComponentStore, MemoryStorageObject, MinutesStringPipe, NO_AUTH_USER_IDENTIFIER, PrettyJsonPipe, SecondaryActionContextStoreSource, SimpleStorageAccessor, SimpleStorageAccessorFactory, StorageAccessor, StringStorageAccessor, StringifySimpleStorageAccessorConverter, TimeDistanceCountdownPipe, TimeDistancePipe, ToJsDatePipe, ToMinutesPipe, WrapperSimpleStorageAccessorDelegate, actionContextHasNoErrorAndIsModifiedAndCanTrigger, actionContextIsModifiedAndCanTrigger, actionContextStoreSourceInstanceFactory, actionContextStoreSourceMachineFactory, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clickableUrlInNewTab, clickableUrlMailTo, clickableUrlTel, dbxActionValueStreamDirective, dbxButtonDisplayContentType, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, hasAuthRoleDecisionPipe, isActionContextDisabled, isActionContextEnabled, isDisabledActionContextState, isIdleActionState, isLatestSuccessfulRoute, isSegueRef, isSegueRefActive, isSegueRefActiveFunction, isSegueRefActiveOnTransitionSuccess, isWorkingActionState, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, onRouterTransitionEventType, onRouterTransitionSuccessEvent, pipeActionStore, provideActionStoreSource, provideDbxAnchor, provideDbxButton, provideDbxInjectionContext, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForIdentifierParamHook, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, tapDetectChanges, tapSafeMarkForCheck, useActionStore };
|
|
5175
|
+
export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractDbxActionHandlerDirective, AbstractDbxActionValueOnTriggerDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractLockSetSubscriptionDirective, AbstractSubscriptionDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AnchorType, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_ONBOARDING_APP_CONTEXT_STATE, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_VALUE, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_VALUE, DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDayRangePipe, DateDayTimeRangePipe, DateDistancePipe, DateFormatDistancePipe, DateFromToTimePipe, DateTimeRangeOnlyPipe, DateTimeRangePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMachineAsService, DbxActionContextMapDirective, DbxActionContextMapDirectiveSourceInstance, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionDisabledOnSuccessDirective, DbxActionEnforceModifiedDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHandlerInstance, DbxActionHasSuccessDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionValueDirective, DbxActionValueOnTriggerInstance, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterModule, DbxAppAuthRouterService, DbxAppAuthRouterStateModule, DbxAppAuthRoutes, DbxAppAuthStateModule, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppContextStateModule, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthNotAnyRolesDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAuthModule, DbxCoreButtonModule, DbxCoreFilterModule, DbxCoreUIRouterSegueModule, DbxDatePipeModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionComponent, DbxInjectionComponentModule, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxMiscPipeModule, DbxPipesModule, DbxRouteParamDefaultRedirectInstance, DbxRouteParamReaderInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxStorageModule, DbxUIRouterService, FilterSourceDirective, FullLocalStorageObject, InstantStorageAccessor, LimitedStorageAccessor, LockSetComponentStore, MemoryStorageObject, MinutesStringPipe, NO_AUTH_USER_IDENTIFIER, PrettyJsonPipe, SecondaryActionContextStoreSource, SimpleStorageAccessor, SimpleStorageAccessorFactory, StorageAccessor, StringStorageAccessor, StringifySimpleStorageAccessorConverter, TimeDistanceCountdownPipe, TimeDistancePipe, ToJsDatePipe, ToMinutesPipe, WrapperSimpleStorageAccessorDelegate, actionContextHasNoErrorAndIsModifiedAndCanTrigger, actionContextIsModifiedAndCanTrigger, actionContextStoreSourceInstanceFactory, actionContextStoreSourceMachineFactory, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clickableUrlInNewTab, clickableUrlMailTo, clickableUrlTel, dbxActionValueStreamDirective, dbxButtonDisplayContentType, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, hasAuthRoleDecisionPipe, isActionContextDisabled, isActionContextEnabled, isDisabledActionContextState, isIdleActionState, isLatestSuccessfulRoute, isSegueRef, isSegueRefActive, isSegueRefActiveFunction, isSegueRefActiveOnTransitionSuccess, isWorkingActionState, latestSuccessfulRoutes, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, onRouterTransitionEventType, onRouterTransitionSuccessEvent, pipeActionStore, provideActionStoreSource, provideDbxAnchor, provideDbxButton, provideDbxInjectionContext, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForIdentifierParamHook, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, tapDetectChanges, tapSafeMarkForCheck, useActionStore };
|
|
5157
5176
|
//# sourceMappingURL=dereekb-dbx-core.mjs.map
|