Comments (4)
This is closely related to #71
from ts-json-schema-generator.
I gave it a try and implemented somewhat working conditional type support. It works for the simple stuff I need and a few more complex use cases and also for basic exclude types but there are also type combinations which don't work at all... I'm not really happy with this implementation so I'm not sure if a pull request makes sense. It feels to complicated and I'm still not sure if it isn't possible to use some TypeScript internals to do all this... But maybe it is an acceptable "good enough for now" solution?
I also added some tests which shows what is already working.
from ts-json-schema-generator.
Thank you! I made a PR in #105 so we can look at it easily. It does look a bit complicated but the overall structure (having a parser, tests, ...) is a useful start.
from ts-json-schema-generator.
PR is merged and for my project conditional types are now working very well. Closing the issue.
from ts-json-schema-generator.
Related Issues (20)
- Generate a schema with an enum only includes the enums numeric values HOT 4
- 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 2
- Support patternProperties HOT 1
- Recursive types crashes HOT 7
- Approach for renaming definition names HOT 1
- bug in vercel production, but development environment is OK HOT 1
- Issue when attempting to generate a schema from a type, conflict with @types/glob dependencies HOT 2
- External reference breaks arrays HOT 1
- Get return type from ArrowFunction HOT 2
- Allow --expose option to be a list of named types
- Add support for HTML-like (Vue, Svelte) files that have <script lang="ts"> elements HOT 1
- Handle const like enum with only one option HOT 2
- Add LiteralType as array accessor
- Lowercase type breaks with a comment 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.