#json #code-generation #shared #codegen #typescript #kotlin


Codegen from JSON samples. Not intended to be used directly. See repository for the intended crates.

11 releases (6 breaking)

0.7.0 Sep 16, 2021
0.6.0 Mar 14, 2021
0.5.0 Dec 25, 2020
0.4.1 Sep 8, 2020
0.1.0 Apr 21, 2017

#187 in Build Utils

Download history 131/week @ 2022-08-17 83/week @ 2022-08-24 91/week @ 2022-08-31 132/week @ 2022-09-07 134/week @ 2022-09-14 154/week @ 2022-09-21 221/week @ 2022-09-28 122/week @ 2022-10-05 114/week @ 2022-10-12 141/week @ 2022-10-19 188/week @ 2022-10-26 220/week @ 2022-11-02 190/week @ 2022-11-09 86/week @ 2022-11-16 105/week @ 2022-11-23 123/week @ 2022-11-30

531 downloads per month
Used in 4 crates


2.5K SLoC


json_typegen as just a library, for use in build scripts and other crates. If you want an actual interface, like a website, CLI or procedural macro, check the repo: github.com/evestera/json_typegen

Note: This crate is to a certain extent considered internal API of the json_typegen tools. If you want to use this crate directly, be prepared for breaking changes to happen, and consider opening an issue to let me know what you are using. (Breaking changes may still happen, but then I'll at least try to keep your use-case in mind if possible. This has happened enough by now that there are parts I already consider public API.)

Crate feature flags

All of these flags are on by default, but you can avoid dependencies you don't care about disabling some or all of them, with e.g. something like this to only enable option parsing:

json_typegen_shared = { version = "*", default-features = false, features = ["option-parsing"] }


Required to load samples from URLs.


Required to load samples from local paths.


Required to parse an options object from a string. Since this is required for code generation from macro-like strings, this is also required for the functions codegen_from_macro and codegen_from_macro_input.


~243K SLoC