Init Project...
This commit is contained in:
4
packages/cc-server-ioc/.gitignore
vendored
Normal file
4
packages/cc-server-ioc/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
/node_modules
|
||||
/dist
|
||||
/package-lock.json
|
||||
/yarn.lock
|
||||
11
packages/cc-server-ioc/README.md
Normal file
11
packages/cc-server-ioc/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# `cc-server-ioc`
|
||||
|
||||
> TODO: description
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
const ccServerIoc = require('cc-server-ioc');
|
||||
|
||||
// TODO: DEMONSTRATE API
|
||||
```
|
||||
20
packages/cc-server-ioc/package.json
Normal file
20
packages/cc-server-ioc/package.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "cc-server-ioc",
|
||||
"version": "0.0.1",
|
||||
"description": "> TODO: description",
|
||||
"author": "MiaoWoo <admin@yumc.pw>",
|
||||
"homepage": "https://faas.yumc.pw",
|
||||
"license": "ISC",
|
||||
"main": "dist/index.js",
|
||||
"publishConfig": {
|
||||
"registry": "https://repo.yumc.pw/repository/npm-hosted/"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: run tests from root\" && exit 1"
|
||||
},
|
||||
"dependencies": {
|
||||
"inversify": "^5.0.1",
|
||||
"reflect-metadata": "^0.1.13"
|
||||
},
|
||||
"devDependencies": {}
|
||||
}
|
||||
4
packages/cc-server-ioc/src/constant/types.ts
Normal file
4
packages/cc-server-ioc/src/constant/types.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export const METADATA_KEY = {
|
||||
container: "cc-server-core:container",
|
||||
service: "cc-server-core:service"
|
||||
};
|
||||
16
packages/cc-server-ioc/src/decorators.ts
Normal file
16
packages/cc-server-ioc/src/decorators.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
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 }
|
||||
2
packages/cc-server-ioc/src/index.ts
Normal file
2
packages/cc-server-ioc/src/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from './constant/types'
|
||||
export * from './decorators'
|
||||
7
packages/cc-server-ioc/tsconfig.json
Normal file
7
packages/cc-server-ioc/tsconfig.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"extends": "../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"baseUrl": "src",
|
||||
"outDir": "dist"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user