Commit Graph

71 Commits

Author SHA1 Message Date
Adam H. Leventhal eb14e8bbb8 starting progenitor 0.1.2-dev after releasing 0.1.1 2022-05-13 10:49:50 -07:00
Adam H. Leventhal 160190ff5a update to 0.1.1 2022-05-13 10:30:50 -07:00
Adam Leventhal 131ad61e6b
prep for initial release (#51) 2022-05-12 16:18:12 -07:00
Adam Leventhal 1af79ebec7
honor default values for struct properties (#50) 2022-05-12 15:07:48 -07:00
Adam Leventhal 7f1b98f7b1
pull in the most recent typify (#44)
change symbol sanitization accordingly (use heck rather than convert_case)
fix: OpenAPI -> JSON Schema conversion was losing title and docs
remove assert that there are no tag (but still ignore them)
2022-05-09 17:30:08 -07:00
Adam Leventhal bbf81dfe7d
reorganize some code in anticipation of some larger changes (#40) 2022-04-01 22:30:23 -07:00
Adam Leventhal 75348207d7
improve rustdoc output for generated crates (#37) 2022-03-17 23:54:10 -07:00
Adam Leventhal ea80069ef3
Handle byte streams for both success and error responses (#35) 2022-03-15 16:11:47 -07:00
Adam Leventhal ae7c178e21
Correct renaming of path component identifiers (#34) 2022-03-08 14:31:56 -08:00
Adam Leventhal 305635e779
update (#33) 2022-03-07 23:22:44 -08:00
Adam Leventhal 579260a943
correct handling of parameters (#32)
- improve parameter handling for names that are invalid rust identifiers
- fix broken logic for non-optional query parameters
2022-03-04 10:58:16 -08:00
Adam Leventhal 25192b5dc1
Add a wrapper types for success and error responses (#26) 2022-02-08 08:59:38 -08:00
Adam H. Leventhal f1f9e2e938 improve santization 2022-01-16 09:09:30 -08:00
Adam Leventhal aff25f2292
Allow consumers to specify additional derive macros for generated types (#21) 2022-01-14 18:01:59 -08:00
Adam Leventhal e47fc93748
generate iterators over dropshot paginated interfaces (#19)
* Adds support for interating with Streams over interfaces that are tagged
with the x-dropshot-pagination extension. This requires clients to use
the futures crate.

Adds tests that compile generated clients.

Updates nexus.json to reflect a more recent omicron API.

Changes all generated methods to have a lifetime ('a) bound on all
references. This isn't necessary for most methods, but greatly
simplifies generation of the associated paginated interface.
2022-01-05 12:02:46 -08:00
Adam Leventhal e58ebd18fa
introduce an intermediate form (#18)
introduce an intermediate form; this is going to be used to generate a few different things:
- an interator interface for paginated APIs; the IR will let us re-use
  the typify types
- a CLI generator that will generate calls into the generated client
- an automated test harness that will validate the generated client
  against a mock server
2021-12-09 18:15:24 -08:00
Adam H. Leventhal 75b224c047 Handle operations whose response is a `null` 2021-11-09 23:27:07 -08:00
Adam Leventhal a3fbbc06ba
fixes to support omicron clients (#14) 2021-11-06 23:24:03 -07:00
Adam Leventhal 05dcf08091
update for typify (#13) 2021-11-02 11:16:55 -07:00
Adam Leventhal 7934be90b9
a variety of improvements to support omicron clients (#12)
- add the start of a client support crate
- add support for pre/post request hooks with consumer-specific data
- suggest type names for parameter and response types in case those
  types are unnamed
- handle more reference types by resolving them properly
- improve optional parameter generation
2021-10-29 07:16:39 -07:00
Adam Leventhal 97857c347c
convert from executable -> executable + library with macro and builder options (#9) 2021-10-17 10:40:22 -07:00