( curr: ActivatedRouteSnapshot, future: ActivatedRouteSnapshot, mode: RunGuardsAndResolvers | undefined, )
| 174 | } |
| 175 | |
| 176 | function shouldRunGuardsAndResolvers( |
| 177 | curr: ActivatedRouteSnapshot, |
| 178 | future: ActivatedRouteSnapshot, |
| 179 | mode: RunGuardsAndResolvers | undefined, |
| 180 | ): boolean { |
| 181 | if (typeof mode === 'function') { |
| 182 | return runInInjectionContext(future._environmentInjector, () => mode(curr, future)); |
| 183 | } |
| 184 | switch (mode) { |
| 185 | case 'pathParamsChange': |
| 186 | return !equalPath(curr.url, future.url); |
| 187 | |
| 188 | case 'pathParamsOrQueryParamsChange': |
| 189 | return ( |
| 190 | !equalPath(curr.url, future.url) || !shallowEqual(curr.queryParams, future.queryParams) |
| 191 | ); |
| 192 | |
| 193 | case 'always': |
| 194 | return true; |
| 195 | |
| 196 | case 'paramsOrQueryParamsChange': |
| 197 | return ( |
| 198 | !equalParamsAndUrlSegments(curr, future) || |
| 199 | !shallowEqual(curr.queryParams, future.queryParams) |
| 200 | ); |
| 201 | |
| 202 | case 'paramsChange': |
| 203 | default: |
| 204 | return !equalParamsAndUrlSegments(curr, future); |
| 205 | } |
| 206 | } |
| 207 | |
| 208 | function deactivateRouteAndItsChildren( |
| 209 | route: TreeNode<ActivatedRouteSnapshot>, |
no test coverage detected
searching dependent graphs…