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