Fix DI bugs; implement general logging service
This commit is contained in:
19
lib/src/lifecycle/Unit.ts
Normal file
19
lib/src/lifecycle/Unit.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { STATUS_STOPPED, isStatus } from '../const/status.ts'
|
||||
|
||||
export default abstract class LifecycleUnit {
|
||||
private _status = STATUS_STOPPED
|
||||
|
||||
public get status() {
|
||||
return this._status
|
||||
}
|
||||
|
||||
public set status(status) {
|
||||
if ( !isStatus(status) )
|
||||
throw new TypeError('Invalid unit status: '+status.description)
|
||||
|
||||
this._status = status
|
||||
}
|
||||
|
||||
public async up(): Promise<void> {};
|
||||
public async down(): Promise<void> {};
|
||||
}
|
||||
11
lib/src/lifecycle/decorators.ts
Normal file
11
lib/src/lifecycle/decorators.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { Service } from '../../../di/src/decorator/Service.ts'
|
||||
|
||||
const service = Service()
|
||||
|
||||
const Unit = (): ClassDecorator => {
|
||||
return (target) => {
|
||||
return service(target)
|
||||
}
|
||||
}
|
||||
|
||||
export { Unit }
|
||||
Reference in New Issue
Block a user