Comments (4)
Inspired by this project, I wrote my own transformation plugin that actually generates JSON schema and passes it through AJV for validation. It doesn't emit separate json files but emits it into the javascript. One caveat is that right now each validation function has a full-blown copy of the schema needed. EG if you have validation functions for both interface Animal
and interface Cat extends Animal
, the Cat
validator will contain duplicate JSON Schema code from Animal
.
Anyway I'm not attesting to whether my project is any better or worse than this one. The reason I went this route was to make sure my own esoteric use cases are supported. Also by using ts-json-schema-generator
it minimizes the code for traversing the the Typescript AST inside my own project.
https://github.com/sparebytes/typesmith
from typescript-is.
Hi @mtiller
Indeed it's a nice way to generate JSON schema consistent with your TypeScript interfaces.
There are already some projects out there that can do this:
- https://github.com/YousefED/typescript-json-schema
- https://github.com/lbovet/typson
- https://github.com/vega/ts-json-schema-generator
Hope this helps :)
from typescript-is.
Sounds useful. Thanks for sharing!
from typescript-is.
Closing for housekeeping.
from typescript-is.
Related Issues (20)
- Feature Request: Shortcut to simplify `const v = func(); is<type>(v) ? v : default` HOT 1
- Fix intersections with primitives to add support for branded/flavored types HOT 1
- Intersection disables `disallowSuperfluousProperties` all the way down
- Non-deterministic code generated HOT 1
- Support typeof on object types
- Parsing fails when target & aliasTypeArguments are at different levels HOT 1
- Investigation of Unbound Type Parameters
- typescript-is introduces "typescript" dependency into production environment
- TypeError: Cannot read property 'text' of undefined
- Bug: A missing key and a key with a value of undefined are not considered the same
- Fail to check Enum in Record HOT 9
- Have you plan to support Deno? HOT 2
- use instantiation expressions in typescript 4.7
- Make generated code smaller by putting reusable strings to constants or functions HOT 1
- feature request: set custom error class in AssertType
- Thoughts on extending createAssertType() HOT 1
- Incompatible with TypeScript 4.8 HOT 2
- What about re-export `typia` for maintenance? HOT 1
- ttypescript not support TS@5
- Deprecation message and recommends to use `typia` instead HOT 2
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 typescript-is.