#json #json-parser #samples #codegen #macro #breaking #default

json_typegen_shared

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

#355 in Procedural macros

Download history 304/week @ 2023-12-18 94/week @ 2023-12-25 236/week @ 2024-01-01 288/week @ 2024-01-08 407/week @ 2024-01-15 485/week @ 2024-01-22 328/week @ 2024-01-29 445/week @ 2024-02-05 280/week @ 2024-02-12 572/week @ 2024-02-19 692/week @ 2024-02-26 341/week @ 2024-03-04 403/week @ 2024-03-11 624/week @ 2024-03-18 209/week @ 2024-03-25 756/week @ 2024-04-01

2,003 downloads per month
Used in 4 crates

MIT/Apache

94KB
2.5K SLoC

json_typegen_shared

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"] }

remote-samples

Required to load samples from URLs.

local-samples

Required to load samples from local paths.

option-parsing

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.

Dependencies

~6–12MB
~239K SLoC