All files / lib/utils ng-directives.ts

100% Statements 30/30
100% Branches 0/0
100% Functions 0/0
100% Lines 30/30

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 29 30 311x 1x 1x 1x 1x 1x 1x 1x 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({
  //eslint-disable-next-line @angular-eslint/directive-selector -- as ng-template is the prefix, data-gc is not needed for valid html rendering
  selector: 'ng-template[gc-icon]',
  standalone: false,
})
export class IconTemplateDirective {
  constructor(public readonly template: TemplateRef<HTMLElement>) {}
 
  /**
   * @ignore
   */
  static ngTemplateContextGuard(
    dir: IconTemplateDirective,
    ctx: unknown,
  ): ctx is IconTemplateContext {
    return true;
  }
}