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)
- Bug: `ReferenceError: structuredClone is not defined` HOT 4
- constant number is converted to a generic `number` type HOT 4
- How to exclude underscore properties from json schema ? HOT 1
- Issues with generation of Union Type of Union Type on a Record HOT 1
- Argument of type 'Config' is not assignable to parameter of type 'CompletedConfig' in ts-json-schema-generator 2.0.0 HOT 2
- "foo" | "bar" | string; should not only map to a string HOT 9
- Improved Promise handling to support packages like Prisma HOT 1
- Literal and Record<never, never> crates empty object HOT 1
- Cannot migrate to version 2 due to typescript error type CompletedConfig HOT 2
- [Bug]: Error when using the binary (v2.1.0) HOT 9
- V2 creates empty definitions after updating from V1 HOT 5
- CLI usage is throwing an error with node 22 HOT 3
- RegExp types are now emitted, breaking schema validation (v2.1.1) HOT 1
- Error when following exports?
- Dist types now require @types/ts-expose-internals HOT 9
- Fix CJS imports HOT 8
- Invalid index in type HOT 9
- CLI - ENOENT: no such file or directory, open 'package.json' HOT 3
- Error: Unknown type "undefined" HOT 2
- Required types not allowed 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.