Files
Angular-Docs-Cn/modules/@angular/compiler/src/directive_lifecycle_reflector.ts
T

32 lines
920 B
TypeScript
Raw Normal View History

import {LifecycleHooks} from '../core_private';
import {Type} from '../src/facade/lang';
2015-09-11 14:23:24 -07:00
export function hasLifecycleHook(lcInterface: LifecycleHooks, token): boolean {
if (!(token instanceof Type)) return false;
2015-09-11 14:23:24 -07:00
var proto = (<any>token).prototype;
switch (lcInterface) {
2015-09-11 14:23:24 -07:00
case LifecycleHooks.AfterContentInit:
return !!proto.ngAfterContentInit;
2015-09-11 14:23:24 -07:00
case LifecycleHooks.AfterContentChecked:
return !!proto.ngAfterContentChecked;
2015-09-11 14:23:24 -07:00
case LifecycleHooks.AfterViewInit:
return !!proto.ngAfterViewInit;
2015-09-11 14:23:24 -07:00
case LifecycleHooks.AfterViewChecked:
return !!proto.ngAfterViewChecked;
2015-09-11 14:23:24 -07:00
case LifecycleHooks.OnChanges:
return !!proto.ngOnChanges;
2015-09-11 14:23:24 -07:00
case LifecycleHooks.DoCheck:
return !!proto.ngDoCheck;
2015-09-11 14:23:24 -07:00
case LifecycleHooks.OnDestroy:
return !!proto.ngOnDestroy;
2015-09-11 14:23:24 -07:00
case LifecycleHooks.OnInit:
return !!proto.ngOnInit;
default:
return false;
}
}