https://github.com/brainpoint/febs-decorator
Some typescript decorator which use in front-end and back-end
https://github.com/brainpoint/febs-decorator
annotation nodejs-spring-validation spring spring-validation typescript-decorator validation validator-decorator
Last synced: 3 months ago
JSON representation
Some typescript decorator which use in front-end and back-end
- Host: GitHub
- URL: https://github.com/brainpoint/febs-decorator
- Owner: brainpoint
- License: mit
- Created: 2020-10-17T17:29:57.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-26T03:38:48.000Z (almost 5 years ago)
- Last Synced: 2025-01-30T11:34:58.147Z (about 1 year ago)
- Topics: annotation, nodejs-spring-validation, spring, spring-validation, typescript-decorator, validation, validator-decorator
- Language: TypeScript
- Homepage:
- Size: 550 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Some typescript decorators, like spring-validation and so on.
- [Setup](#setup)
- [Example](#example)
- [Reference](#reference)
- [Validator Decorator](#validator-decorator)
- [Rest Decorator](#rest-decorator)
## Setup
```
npm i febs-decorator
```
set config in tsconfig.json
```
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
```
## Example
Validation Example:
```js
import {NotNull, Type} from 'febs-decorator';
class BeanDemo {
@NotNull
@Type.Boolean
a: boolean = null
}
let obj = new BeanA(); // will throw a exception.
```
Service Example:
```js
import {Service} from 'febs-decorator';
@Service()
class BeanDemo {
}
// get service instances.
@Autowired(BeanDemo)
let objArray:any[];
```
Bean Example:
```js
import {Service, Bean} from 'febs-decorator';
@Service()
class BeanDemo {
@Bean()
foo(): Object {
return {};
}
}
// get bean instances.
@Autowired('foo')
let obj:Object;
```
FeignClient Example:
```js
import { RestController, RequestMapping, RequestMethod } from "febs-decorator";
@FeignClient({name:'serviceName'})
export class BaseService {
@RequestMapping({ path: '/api', method: RequestMethod.GET, feignCastType: BeanDemo })
async request(): Promise {
// fallback.
throw new Error('Message Error');
}
}
// request
let result:BeanDemo = new BaseService().request();
```
## Reference
### Validator Decorator
see [readme](./libs/validator/readme.md)
A set of validator decorators, e.g. `@NotNull`, `@Max`, `@Min`, `@Range` ..
### Rest Decorator
see [readme](./libs/rest/readme.md)
A set of restful api decorators, e.g. `@RestController`, `@FeignClient`, `@RequestMapping`, `@RequestBody`, `@PathVariable` ..