Comments (2)
You can do something like this:
{
"title": "Example Schema",
"type": "object",
"definitions": {
"circle": {
"type": "string",
"enum": [
"circle"
]
},
"square": {
"type": "string",
"enum": [
"square"
]
},
"shape": {
"oneOf": [
{
"$ref": "#/definitions/circle"
},
{
"$ref": "#/definitions/square"
}
]
}
},
"properties": {
"shape": {
"$ref": "#/definitions/shape"
}
}
}
=>
/* eslint-disable */
/**
* This file was automatically generated by json-schema-to-typescript.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run json-schema-to-typescript to regenerate this file.
*/
export type Shape = Circle | Square;
export type Circle = "circle";
export type Square = "square";
export interface ExampleSchema {
shape?: Shape;
[k: string]: unknown;
}
from json-schema-to-typescript.
Thank you @bcherny!
from json-schema-to-typescript.
Related Issues (20)
- If `minProperties` is greater than or equal to the number of declared properties and `additionalProperties` is `false`, all properties should be required HOT 2
- properties + anyOf generates incorrect output
- `compile()` ignores `$refOptions.resolve` settings HOT 1
- What package manager does the repo use? HOT 6
- `SyntaxError` while building browser bundle HOT 2
- Add option to remove `[k: string]: unknown | undefined;` from generated types HOT 5
- Add yaml support HOT 3
- Static imports for $refs HOT 5
- bug in vercel production, but development environment is OK HOT 1
- "SyntaxError: Unexpected token in JSON at position 0" when running CLI on MacOS HOT 2
- wrongly transformed array of string HOT 6
- Update to glob 10 HOT 1
- Remove deprecated deps @types/prettier HOT 2
- Indirect dependency on es5-ext: flagged as malicious by some security scanners HOT 2
- `$ref` in `allOf` with depth of 2 is not correctly converted when multi-referenced HOT 3
- YAML support in cli doesn't work HOT 1
- Is there a way to define how types are written? HOT 1
- Generation for intersection/named schemas is order-dependent
- Option for adding `undefined` to optional union for optional properties. HOT 3
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 json-schema-to-typescript.