GitHub

daffRouterComposeGuards

Composes functional guards together into a single functional guard. Both blocking and non-blocking guards may be specified. Blocking guards run in serial, waiting for a response before calling the next blocking guard. If a blocking guard returns a failure condition (falsy or a UrlTree), all future guards will be skipped and not called. The failure condition return will be returned from the composed guard. Non-blocking guards are run in parallel after all of the blocking guards have finished.

import { daffRouterComposeGuards } from '@daffodil/router'
function daffRouterComposeGuards(
  blockingGuards: (CanActivateFn | CanActivateChildFn)[]
  nonBlockingGuards: (CanActivateFn | CanActivateChildFn)[] = []
): CanActivateFn | CanActivateChildFn