All files / lib/utils ng-directives.ts

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

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 31 321x 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 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,
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    ctx: unknown,
  ): ctx is IconTemplateContext {
    return true;
  }
}