ts-guard-decorator 🛡
TypeScript decorator for running a check before running a method.
Installation
npm install --save ts-guard-decorator
Usage
import guard from 'ts-guard-decorator';
class MyClass {
@guard(typeof window !== 'undefined')
myFunc() {
}
}
This is equivalent to writing:
class MyClass {
myFunc() {
if (typeof window === 'undefined') {
return;
}
}
}
Options
The guard accepts 2 arguments:
- A boolean expression (i.e. something that evaluates to
true
or false
) indicating whether the method should run. - A optional return value if the method should not run.
function myGuardFunc(arg1: any, arg2: any): boolean {
return arg1 === arg2;
}
class MyClass {
@guard(true)
myFunc1() {
return true;
}
@guard(false)
myFunc2() {
return true;
}
@guard(1 === 1)
myFunc3() {
return true;
}
@guard(1 === 2, 'hello')
myFunc4() {
return true;
}
@guard(myGuardFunc(1, 1), 'hello')
myFunc5() {
return true;
}
@guard(myGuardFunc(1, 2), 'hello')
myFunc6() {
return true;
}
}