Fix DI bugs; implement general logging service

This commit is contained in:
garrettmills
2020-06-17 09:48:01 -05:00
parent 6c4696227b
commit eddb4f1fbe
13 changed files with 258 additions and 5 deletions

19
lib/src/lifecycle/Unit.ts Normal file
View 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> {};
}

View 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 }