-
Notifications
You must be signed in to change notification settings - Fork 0
lifecycle hooks
awekrx edited this page May 29, 2026
·
1 revision
import { lifecycleHooks } from '@dev-suite/decorators/lifecycle-hooks'
class
Run standard lifecycle methods (init/destroy) consistently for classes.
- Manual init/dispose invocation wrappers
- Inconsistent lifecycle naming and call order
class WorkerProcess {
start() {
this.connect();
this.subscribe();
}
stop() {
this.unsubscribe();
this.disconnect();
}
private connect() {}
private subscribe() {}
private unsubscribe() {}
private disconnect() {}
}import { lifecycleHooks } from '@dev-suite/decorators/lifecycle-hooks';
@lifecycleHooks({ onInit: 'connect', onDestroy: 'disconnect' })
class WorkerProcess {
start() {
this.subscribe();
}
stop() {
this.unsubscribe();
}
private connect() {}
private subscribe() {}
private unsubscribe() {}
private disconnect() {}
}- Lifecycle contract is explicit at class declaration
- Reduces lifecycle orchestration boilerplate in app code
class FileWatcher {
boot() {
this.openHandle();
this.watch();
}
shutdown() {
this.unwatch();
this.closeHandle();
}
private openHandle() {}
private watch() {}
private unwatch() {}
private closeHandle() {}
}import { lifecycleHooks } from '@dev-suite/decorators/lifecycle-hooks';
@lifecycleHooks({ onInit: 'openHandle', onDestroy: 'closeHandle' })
class FileWatcher {
boot() {
this.watch();
}
shutdown() {
this.unwatch();
}
private openHandle() {}
private watch() {}
private unwatch() {}
private closeHandle() {}
}- Works the same across different lifecycle method naming styles
- Makes startup/shutdown behavior easier to audit