In tslint.json:
{
"rulesDirectory": "node_modules/tslint-strict-oop/dist",
"rules": {
"one-class-per-file": true,
"strict-unions": true,
"class-filename": true,
"only-classes-on-top": true
},
}
- File must contain only one class declaration.
- Only classes are allowed to be declared in the global scope.
- File name must match the name of the class it contains.
- Explicit or implicit unions can contain only one type plus null and undefined.
This is not allowed:
class Sample1 {
someMethod() { // two types union for return type: boolean | string
if (Math.random() > 0.5) {
return true; // type one
} else {
return 'this is true'; // type two
}
}
}