Comments (4)
I see. Yeah, we're not using that format right now. This would need to be implemented. You might get something closer to what you want with a type intersection and aliases.
from ts-json-schema-generator.
I think that's technically correct since an object that satisfies the interface needs to use numbers. What would you expect?
from ts-json-schema-generator.
I'm relatively fresh to json schema so it may simply be a misunderstanding on my part.
I'd love to keep the context in the schema... So that you don't lose the human meaning of the enum, and wasn't sure if it was a config problem on my part.
For example in the not-example code we have an enum
export declare enum EventType {
DomContentLoaded = 0,
Load = 1,
FullSnapshot = 2,
IncrementalSnapshot = 3,
Meta = 4,
Custom = 5,
Plugin = 6
}
and in that more complete example the definitions section has
"definitions": {
"CanvasContext": {
"enum": [0, 1, 2],
"type": "number"
},
"EventType.Custom": {
"const": 5,
"type": "number"
},
So that where the enum is used we have
"type": {
"$ref": "#/definitions/EventType.Custom"
}
from ts-json-schema-generator.
Ah, wait... maybe I see. In one case only one value of the enum will ever be present in usage. So the schema can reference it directly.
In the other, any of the values of the enum might be present and so (I guess) the references don't get defined
It would be nice to have
"definitions": {
"CanvasContext.2D: {
const: 0
type: number
},
"CanvasContext.WebGL: {
const: 1
type: number
},
"CanvasContext.WebGL2: {
const: 2
type: number
},
"CanvasContext": {
"enum": [
"$ref": "#/definitions/CanvasContext.2D",
"$ref": "#/definitions/CanvasContext.WebGL",
"$ref": "#/definitions/CanvasContext.WebGL2"
],
"type": "number"
},
but so long as I'm not missing a trick in config, then I'm happy :)
from ts-json-schema-generator.
Related Issues (20)
- Prevent simplification of UnionType HOT 1
- Add patterns to object property names HOT 1
- Duplicate (nested) discriminator union values not allowed
- Invalid schema generated with circular dependencies - minimal case
- Errors out with mentions of @types/mocha HOT 1
- Function with generic keyof param crashes HOT 1
- Issue Generating JSON Schema for Types with Indexed Access References HOT 1
- Support @required and $data annotations. HOT 5
- Error: Unknown node "Primitive" (ts.SyntaxKind = 162) in specific Type example HOT 8
- Documentation of annotations ? HOT 1
- Enhancement: support polymorphic arrays
- Enhancement: Docusaurus documentation ? HOT 1
- Question about the goal of this package HOT 2
- Failing to create json schemas for Ocktokit types HOT 1
- tsconfig loading issue with monorepo HOT 2
- Generation failing for custom utility type HOT 1
- Support patternProperties HOT 1
- Recursive types crashes HOT 6
- Approach for renaming definition names HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ts-json-schema-generator.