Helpful Decorators For Typescript Projects
Installation
npm install helpful-decorators
yarn add helpful-decorators
Usage
delay
- Add setTimeout
functionality to the method
import { delay } from 'helpful-decorators';
class Test {
@delay(1000)
method() {
}
}
debounce
- Add debounce
functionality to the method (options)
import { debounce } from 'helpful-decorators';
class Test {
@debounce(1000, options)
method() {
}
}
throttle
- Add throttle
functionality to the method (options)
import { throttle } from 'helpful-decorators';
class Test {
@throttle(1000, options)
method() {
}
}
once
- Add once
functionality to the method
import { once } from 'helpful-decorators';
class Test {
@once
method() {
}
}
measure
- measure time taken by a function to execute
import { measure } from 'helpful-decorators';
class Test {
@measure
doSomething() {
}
}
Mixin
- this pattern is used to achieve multiple inheritance
import { Mixin } from 'helpful-decorators';
@Mixin([Disposable, Activatable])
class Test {
}
memo
- memoizes the result of the function
import { memo } from 'helpful-decorators';
class Test {
@memo()
method() {
...memoized
}
}
bind
- automatically bind methods to class instances
import { bind } from 'helpful-decorators';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor() {
document.body.addEventListener('click', this.onClick);
}
@bind
onClick($event) {
console.log($event);
}
}
Roadmap
delaydebouncethrottleoncemeasureMixinmemoize- ...
License
MIT