Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export interface IApprove {
- approve():boolean;
- }
- export class FirstImplementation implements IApprove {
- approve():boolean {
- return true;
- }
- }
- export class SecondImplementation implements IApprove {
- private data:number;
- approve():boolean {
- return this.data > 1;
- }
- }
- function approve(guardsClasses:Array<any>, data:number):boolean {
- guardsClaases.forEach((guardClass) => {
- let guard = injector.get(guardClass); // this is some abstract injector that create instance from class
- // here I would like to check whether guard instance have "data" variable. If so - pass data value.
- let result = guard.approve();
- if (!result) {
- return false
- }
- });
- return true;
- }
- approve([FirstImplementation, SecondImplementation], 2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement