Expand description
§use-api-schema
API schema primitives for RustUse.
Models schema names, schema fields, field kinds, required or optional markers, nullable markers, and broad schema shape labels without becoming a full schema system.
§Example
use use_api_schema::{FieldKind, SchemaName};
let value = SchemaName::new("User").expect("valid API primitive");
assert_eq!(value.as_str(), "User");
assert_eq!(FieldKind::String.to_string(), "string");§Scope
- Small validated types for API metadata.
- Stable display labels and conservative parsing helpers.
- Dependency-light primitives that can be reused by other RustUse crates.
§Non-goals
- No JSON Schema implementation.
- No
OpenAPIschema generator. - No
GraphQLschema engine.
§License
Licensed under either of the following, at your option:
- Apache License, Version 2.0
- MIT license
Structs§
- Primitive
Metadata - Lightweight metadata tying this crate’s primary text and label together.
- Schema
Field - API schema field metadata.
- Schema
Field Name - Schema
Name
Enums§
- ApiPrimitive
Error - Error returned when API primitive text or labels are invalid.
- Field
Kind - Schema field kind labels.
- Field
Requirement - Schema field requirement labels.
- Nullability
- Schema nullability labels.
- Schema
Shape - Broad schema shape labels.