import { ChangeDetectorRef , Directive , Inject , Self , TemplateRef } from '@angular/core' ; /**
 * ng-template wrapper directive also stores  ChangeDetectorRef to properly handle change detection.
  @ Directive ( { selector : 'ng-template[polymorpheus]' , exportAs : 'polymorpheus' , inputs : [ 'polymorpheus' ] , } ) export class PolymorpheusTemplate < C extends Record < any , any > > { polymorpheus : C | string = '' ; constructor ( @ Inject ( TemplateRef ) @ Self ( ) readonly template , @ Inject ( ChangeDetectorRef ) private readonly changeDetectorRef ) { } check ( ) { this . changeDetectorRef . markForCheck ( ) ; } static ngTemplateContextGuard < T > ( _dir , _ctx ) { return true ; } }