Awesome metadata emitter for TypeScript. Injects fake decorators in every class with additional information, to be accessed by other libraries and utilities.
- TSON: This library makes automatic serialization and deseralization possible, like GSON for Java.
- ts-mongoose-metadata Generates mongoose schemas automatically from class metadata.
- ts-express-validator Middleware for express that automatically deserializes the body of a request, and checks if the data is valid.
The goal of this project is to offer metadata for all elements in TypeScript, being as simple as possible.
- Class body schema metadata
atm:body
- Visibility (private, protected, public, none) BROKEN IN THIS BRANCH
- Optionality (question mark token) BROKEN IN THIS BRANCH
- Primitive members serialization
- Union types serialization
- Type alias serialization
- Array of generic types
- Type literal serialization
- Interface type serialization
- Configuration based metadata emit
- Needs discussion.
- Interface body schema metadata
- Needs discussion.
- Variable and function metadata
- Needs discussion.
We use it this way:
In package.json:
{
"scripts": {
"compile": "atm"
}
}
Then instead of compiling using tsc
, you compile using
npm run compile
# or
atm
You can get an schema of a class using:
Reflect.getMetadata("atm:body", AnyClass);