-
-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support JSON-schema as an input format #729
Comments
I think this would be super useful for OpenAPI support, which is where OpenAI Plugins are headed. For context, I'm considering between In my case, I'd ideally want arktype to convert from JSON schema and to JSON schema as an intermediate layer focused on TS DX. Thanks for all your great OSS work btw! 🙏 |
Our new TypeNode system could support something like this in a fairly straightforward way by implementing multiple input output formats. Something most people probably don't know about ArkType is that it includes a full type system that can compare any two types for assignability, which means its internal representation of your types is richer than what can be represented using JSON schema. You'd lose certain optimizations like being able to validate unions based on a set of discriminants, but I agree it would still be incredibly valuable as an I/O format and a standard. We'll do our best to prioritize this! |
Actually what I would love is to convert Arktype to JSON-Schema so I can write Arktype contracts that go straight to swagger |
@thelinuxlich Definitely plan to support an output format as well, but haven't actually documented that yet. Would you be willing to create a new issue so we can track compiling to JSON schema? |
@ecyrbe mentioned he built a static JSON Schema parser for TypeMatic🔥 Would be great if we could integrate somehow so we don't duplicate work in the ecosystem! Let's make sure to investigate this before we start work on this. |
Since it hasn't been noted here, ArkType to JSON Schema is being tracked in #776 for anyone interested. |
Forgot to mention this, but for tracking purposes my work on this is currently blocked by #1033. |
This would be a large feature allowing JSON schemas as an alternative definition format, that would be statically validated and inferred, similarly to the primary TS-based syntax.
Some additional investigation is needed to determine what roadblocks we might hit (I'm not deeply familiar with JSON schema), but it seems to be structurally quite straightforward, so it should lend itself well to a parse-based approach like ArkType.
The text was updated successfully, but these errors were encountered: