Convert assembled Smithy models to JSON Schema
Dependencies
///|
test {
let loaded = @smithy.Loader::new()
.add_idl(
"example.smithy", "$version: \"2\"\nnamespace example\nstructure Value { name: String }",
)
.assemble()
let document = @jsonschema.convert(loaded.model.unwrap())
assert_true(document is { "definitions": { "Value": _, .. }, .. })
}{
"version": "1.0",
"sources": ["model"],
"projections": {
"schema": {
"plugins": {
"jsonSchema": {
"service": "example#Api",
"useJsonName": true
}
}
}
}
}| Plugin setting | Library Config::new argument | Default |
|---|---|---|
| useJsonName | use_json_name | false |
| unionStrategy | union_strategy | oneOf; also object, structure |
| enumStrategy | enum_strategy | enum; also oneOf |
| mapStrategy | map_strategy | propertyNames; also patternProperties |
| defaultTimestampFormat | default_timestamp_format | date-time; also http-date, epoch-seconds |
| supportNonNumericFloats | support_non_numeric_floats | false |
| definitionPointer | definition_pointer | #/definitions |
| schemaDocumentExtensions | schema_document_extensions | {} |
| addReferenceDescriptions | add_reference_descriptions | false |
| disableDefaultValues | disable_default_values | false |
| disableIntEnums | disable_int_enums | false |
| useIntegerType | use_integer_type | false |
pub(all) suberror JsonSchemaError {
ConflictingShapeName(String)
InvalidConfiguration(String)
} derive(Debug)pub(all) struct Config {
map_strategy : String
union_strategy : String
enum_strategy : String
use_json_name : Bool
default_timestamp_format : String
support_non_numeric_floats : Bool
schema_document_extensions : Json
definition_pointer : String
add_reference_descriptions : Bool
disable_default_values : Bool
disable_int_enums : Bool
use_integer_type : Bool
}fn Config::new(map_strategy? : String, union_strategy? : String, enum_strategy? : String, use_json_name? : Bool, default_timestamp_format? : String, support_non_numeric_floats? : Bool, schema_document_extensions? : Json, definition_pointer? : String, add_reference_descriptions? : Bool, disable_default_values? : Bool, disable_int_enums? : Bool, use_integer_type? : Bool) -> ConfigInstall
Download zipConvert assembled Smithy models to JSON Schema
Dependencies