Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to define enum type in Angular to not violating tslint typedef rule

To be able to use enumerations in template, we write below codes in ts file.

in workflowProgress.ts

export enum WorkflowProgress
{
    cancelled = 0,
    inProgress,
    done
}

in component.ts

export class Component {
   WorkflowProgress = WorkflowProgress;
   x : WorkflowProgress = WorkflowProgress.done;
}

in template.html

<div *ngIf="x === WorkflowProgress.done">

and we already have tslint with typedef rule enabled. but tslint is nagging about this line WorkflowProgress = WorkflowProgress;

[tslint] expected member-variable-declaration: 'WorkflowProgress' to have a typedef (typedef)

I can disable the rule for by adding // tslint:disable-next-line:typedef but I was wondering if there is better way to do it?

like image 480
Reza Avatar asked Dec 24 '22 06:12

Reza


1 Answers

You can use typeof operator to "query" the type of enum:

WorkflowProgress: typeof WorkflowProgress = WorkflowProgress
like image 186
Aleksey L. Avatar answered Dec 28 '22 11:12

Aleksey L.