Skip to main content

Crate dmc_schema

Crate dmc_schema 

Source
Expand description

Schema builder. s::*

use dmc_schema::{s, BoxSchema, Ctx, Schema};
use serde_json::json;

let schema = s::object(vec![
    ("title".into(), s::string().max(99).boxed()),
    ("draft".into(), s::default_(s::boolean().boxed(), json!(false)).boxed()),
]);
let ctx = Ctx::empty();
let out = schema.parse(&json!({"title": "Hello"}), &ctx).unwrap();
assert_eq!(out["title"], "Hello");
assert_eq!(out["draft"], false);

Modules§

s

Structs§

ArraySchema
AssetPipeline
BooleanSchema
CoerceSchema
Ctx
DefaultSchema
DiscriminatedUnionSchema
EnumSchema
ExcerptSchema
FileSchema
ImageSchema
IntersectionSchema
IsodateSchema
LiteralSchema
MarkdownSchema
MdxSchema
MetadataSchema
NullableSchema
NumberSchema
ObjectSchema
OptionalSchema
PathSchema
RawSchema
RecordSchema
RefineSchema
SlugSchema
StringSchema
SuperRefineSchema
TocSchema
TransformSchema
TupleSchema
UnionSchema
UniqueSchema
ValidationError

Enums§

CoerceTarget

Traits§

BoxSchema
Schema

Functions§

compile_descriptor

Type Aliases§

RefinePredicate
Ok(()) passes; Err(msg) surfaces a single root-level error.
SuperRefinePredicate
Pushes zero or more errors into the caller-provided buffer.