Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 1x 1x 1x | import { inject } from '@angular/core';
import { CanActivateFn, createUrlTreeFromSnapshot, RedirectCommand } from '@angular/router';
import { isString } from 'lodash-es';
import { Store } from '../store/store';
export const conditionGuard = (condition: () => any, redirect: (string | (() => string))[]) => {
const fn: CanActivateFn = ((route, state) => {
const store = inject(Store);
if (condition()) return true;
return new RedirectCommand(createUrlTreeFromSnapshot(route, redirect.map(r => isString(r) ? r : r())));
});
return fn;
};
|