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 array() -> SchemaBuilder

Creates an array schema.

pub fn boolean() -> SchemaBuilder

Creates a boolean schema.

pub fn build(builder: SchemaBuilder) -> schema.Schema

Builds the 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 deprecated(builder: SchemaBuilder) -> SchemaBuilder

Marks as deprecated.

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 format(builder: SchemaBuilder, f: String) -> SchemaBuilder

Sets the format.

pub fn integer() -> SchemaBuilder

Creates an integer schema.

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 maximum(builder: SchemaBuilder, n: Float) -> SchemaBuilder

Sets maximum value.

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 minimum(builder: SchemaBuilder, n: Float) -> SchemaBuilder

Sets minimum value.

pub fn multiple_of(
  builder: SchemaBuilder,
  n: Float,
) -> SchemaBuilder

Sets multiple of.

pub fn new() -> SchemaBuilder

Creates a new schema builder.

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 null() -> SchemaBuilder

Creates a null schema.

pub fn nullable(builder: SchemaBuilder) -> SchemaBuilder

Creates a nullable type (e.g., [“string”, “null”]).

pub fn number() -> SchemaBuilder

Creates a number schema.

pub fn object() -> SchemaBuilder

Creates an object schema.

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 read_only(builder: SchemaBuilder) -> SchemaBuilder

Marks as read-only.

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 string() -> SchemaBuilder

Creates a string schema.

pub fn title(builder: SchemaBuilder, t: String) -> SchemaBuilder

Sets the title.

pub fn unique_items(builder: SchemaBuilder) -> SchemaBuilder

Sets unique items for arrays.

pub fn write_only(builder: SchemaBuilder) -> SchemaBuilder

Marks as write-only.

Search Document