1 unstable release
0.1.0 | Jan 24, 2021 |
---|
#12 in #odata
310KB
7K
SLoC
OData Schema
Parse OData schemas into Rust types, with the goal of supporting Dynamics 365 OData operations.
Roadmap
https://en.wikipedia.org/wiki/Open_Data_Protocol#Architecture
- Deserialise
$metadata
document - Construct coherent entity model
- References/includes
- Annotations/annotation groups (annotations currently not constructed for "completed" items either)
- Types
- Actions
- Functions
- Terms
- Entity containers
- Entity sets
- Action imports
- Function imports
- Singletons
- Extends
- Customisation/handling of metadata inconsistencies
- User-specified handling of qualified name/target path resolution errors
- Code generation
- Type definitions
- Entity container definitions
- Entity set definitions
- Actions
- Functions
- Black/whitelist for generated types (with stubbed dependencies)
- Client functionality
- Retrieve
- Filter/queries
- Create/Update/Delete
- Call actions & functions
- ETag support
- Retrieve/set open types
- Batch requests
- Consuming crate bindings
- Proc macro
- Proc macro attribute
-
build.rs
code generation
- What-if/dry-run
lib.rs
:
Functionality to utilise OData entity model code generated by the odata_client_codegen
crate.
Re-exports from third-party crates are presented here so that users of generated code need not
add those crates to their own Cargo.toml
.
Dependencies
~12–27MB
~452K SLoC