All files / lib/utils ng-directives.ts

82.14% Statements 23/28
100% Branches 6/6
83.33% Functions 5/6
82.14% Lines 23/28

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 16 17 18 19 20 21 22 23 24 25 26 27 28 291x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x           1x  
import { Directive, TemplateRef } from '@angular/core';
 
import { Item } from './util.types';
 
export interface IconTemplateContext {
  $implicit: Item;
}
 
/**
 * A directive allowing to tag template directives who get passed
 * an $implicit value which is that least of type Item
 */
@Directive({
  selector: 'ng-template[gc-icon]', // eslint-disable-line @angular-eslint/directive-selector -- appears only on templates, which are not part of the rendered DOM
})
export class IconTemplateDirective {
  constructor(public readonly template: TemplateRef<HTMLElement>) {}
 
  /**
   * @ignore
   */
  static ngTemplateContextGuard(
    dir: IconTemplateDirective,
    ctx: unknown,
  ): ctx is IconTemplateContext {
    return true;
  }
}