feat: add cc-server-db
This commit is contained in:
@@ -10,10 +10,14 @@
|
||||
"registry": "https://repo.yumc.pw/repository/npm-hosted/"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "npx tsc",
|
||||
"test": "echo \"Error: run tests from root\" && exit 1"
|
||||
},
|
||||
"dependencies": {
|
||||
"inversify": "^5.0.1",
|
||||
"reflect-metadata": "^0.1.13"
|
||||
}
|
||||
}
|
||||
"inversify-binding-decorators": "^4.0.0",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"typescript": "^3.5.1"
|
||||
},
|
||||
"gitHead": "7d84393a3cb6be6be9ed51d71f12677d2d7d0728"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
export const METADATA_KEY = {
|
||||
container: "cc-server-core:container",
|
||||
service: "cc-server-core:service"
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
import 'reflect-metadata'
|
||||
import { Container } from 'inversify';
|
||||
import { METADATA_KEY } from './constant/types';
|
||||
|
||||
function service(name: string | symbol) {
|
||||
return function(target: any) {
|
||||
let services = Reflect.getMetadata(METADATA_KEY.service, Reflect) || []
|
||||
services = [() => {
|
||||
let container: Container = Reflect.getMetadata(METADATA_KEY.container, Reflect)
|
||||
container.bind(name || target).to(target);
|
||||
}, ...services]
|
||||
Reflect.defineMetadata(METADATA_KEY.service, services, Reflect)
|
||||
}
|
||||
}
|
||||
|
||||
export { service }
|
||||
@@ -1,2 +1,22 @@
|
||||
export * from './constant/types'
|
||||
export * from './decorators'
|
||||
import "reflect-metadata";
|
||||
import { Container, inject } from 'inversify';
|
||||
import { autoProvide, provide, fluentProvide, buildProviderModule } from 'inversify-binding-decorators';
|
||||
|
||||
let container = new Container();
|
||||
// Reflects all decorators provided by this package and packages them into
|
||||
// a module to be loaded by the container
|
||||
// container.load(buildProviderModule());
|
||||
|
||||
const provideNamed = (identifier, name) => {
|
||||
return fluentProvide(identifier)
|
||||
.whenTargetNamed(name)
|
||||
.done();
|
||||
};
|
||||
|
||||
const provideSingleton = (identifier: any) => {
|
||||
return fluentProvide(identifier)
|
||||
.inSingletonScope()
|
||||
.done();
|
||||
};
|
||||
|
||||
export { container, autoProvide, provide, provideNamed, provideSingleton, inject, buildProviderModule };
|
||||
|
||||
Reference in New Issue
Block a user