nori/builder/schema_builder
Builder for constructing JSON Schema objects with a fluent API.
Types
Builder for creating JSON Schema objects.
pub opaque type SchemaBuilder
Values
pub fn additional_properties(
builder: SchemaBuilder,
) -> SchemaBuilder
Allows additional properties of any type.
pub fn additional_properties_schema(
builder: SchemaBuilder,
s: schema.Schema,
) -> SchemaBuilder
Sets additional properties schema.
pub fn all_of(
builder: SchemaBuilder,
schemas: List(reference.Ref(schema.Schema)),
) -> SchemaBuilder
Adds an allOf schema.
pub fn any_of(
builder: SchemaBuilder,
schemas: List(reference.Ref(schema.Schema)),
) -> SchemaBuilder
Adds an anyOf schema.
pub fn build_ref(
builder: SchemaBuilder,
) -> reference.Ref(schema.Schema)
Builds the schema as a Ref.
pub fn const_value(
builder: SchemaBuilder,
value: json.Json,
) -> SchemaBuilder
Sets a const value.
pub fn default(
builder: SchemaBuilder,
d: json.Json,
) -> SchemaBuilder
Sets the default value.
pub fn description(
builder: SchemaBuilder,
d: String,
) -> SchemaBuilder
Sets the description.
pub fn enum_values(
builder: SchemaBuilder,
values: List(json.Json),
) -> SchemaBuilder
Sets enum values.
pub fn example(
builder: SchemaBuilder,
e: json.Json,
) -> SchemaBuilder
Sets an example.
pub fn exclusive_maximum(
builder: SchemaBuilder,
n: Float,
) -> SchemaBuilder
Sets exclusive maximum value.
pub fn exclusive_minimum(
builder: SchemaBuilder,
n: Float,
) -> SchemaBuilder
Sets exclusive minimum value.
pub fn items(
builder: SchemaBuilder,
items_schema: schema.Schema,
) -> SchemaBuilder
Sets items schema for arrays.
pub fn items_ref(
builder: SchemaBuilder,
ref: String,
) -> SchemaBuilder
Sets items schema reference for arrays.
pub fn max_items(builder: SchemaBuilder, n: Int) -> SchemaBuilder
Sets maximum items for arrays.
pub fn max_length(
builder: SchemaBuilder,
n: Int,
) -> SchemaBuilder
Sets maximum length for strings.
pub fn max_properties(
builder: SchemaBuilder,
n: Int,
) -> SchemaBuilder
Sets maximum properties.
pub fn min_items(builder: SchemaBuilder, n: Int) -> SchemaBuilder
Sets minimum items for arrays.
pub fn min_length(
builder: SchemaBuilder,
n: Int,
) -> SchemaBuilder
Sets minimum length for strings.
pub fn min_properties(
builder: SchemaBuilder,
n: Int,
) -> SchemaBuilder
Sets minimum properties.
pub fn multiple_of(
builder: SchemaBuilder,
n: Float,
) -> SchemaBuilder
Sets multiple of.
pub fn no_additional_properties(
builder: SchemaBuilder,
) -> SchemaBuilder
Disallows additional properties.
pub fn not(
builder: SchemaBuilder,
s: reference.Ref(schema.Schema),
) -> SchemaBuilder
Sets a not schema.
pub fn nullable(builder: SchemaBuilder) -> SchemaBuilder
Creates a nullable type (e.g., [“string”, “null”]).
pub fn one_of(
builder: SchemaBuilder,
schemas: List(reference.Ref(schema.Schema)),
) -> SchemaBuilder
Adds a oneOf schema.
pub fn pattern(
builder: SchemaBuilder,
p: String,
) -> SchemaBuilder
Sets pattern for strings.
pub fn property(
builder: SchemaBuilder,
name: String,
prop_schema: schema.Schema,
) -> SchemaBuilder
Adds a property to the object schema.
pub fn property_ref(
builder: SchemaBuilder,
name: String,
ref: String,
) -> SchemaBuilder
Adds a property reference to the object schema.
pub fn required(
builder: SchemaBuilder,
names: List(String),
) -> SchemaBuilder
Marks properties as required.
pub fn required_property(
builder: SchemaBuilder,
name: String,
prop_schema: schema.Schema,
) -> SchemaBuilder
Adds a required property to the object schema.
pub fn required_property_ref(
builder: SchemaBuilder,
name: String,
ref: String,
) -> SchemaBuilder
Adds a required property reference to the object schema.
pub fn unique_items(builder: SchemaBuilder) -> SchemaBuilder
Sets unique items for arrays.