ts-generator
ts-generator copied to clipboard
Feature Request: ability to annotate integer fields
Goal: convey the concept of an integer to typescript, given that typescript doesn't have this concept, using JSON Schema.
Given Kotlin classes, we generate 2 files:
- Typescript using
ts-generator. - JSON Schema from that typescript using
typescript-json-schema.
Then at runtime, we can validate any JSON object against the schema using ajv. This works fine.
Now the question of integers.
Given:
export interface Shape {
/**
* @minimum 0
* @TJS-type integer
*/
size: number;
}
Then:
typescript-json-schemacan create the correct JSON Schema, andajvcan validate it.
So, the questions are these:
- is there a way for ts-generator to add
// @TJS-type integerto the generated typescript number? - is there a way to decorate an integer such that it also outputs
// @minimum 0?
If not, then one way around this I guess would be to use a special kotlin class for these integer types, which is manually edited one-time in the schema, but that seems a bit clunky, especially in a CI context.
Maybe you could add this feature by using annotations, that way there is no need to use special classes.