External types

Schematic provides schema implementations for third-party crates through a concept known as external types. This functionality is opt-in through Cargo features.

chrono

Requires the type_chrono Cargo feature.

Implements schemas for Date, DateTime, Duration, Days, Months, IsoWeek, NaiveWeek, NaiveDate, NaiveDateTime, and NaiveTime from the chrono crate.

indexmap

Requires the type_indexmap Cargo feature.

Implements a schema for IndexMap and IndexSet from the indexmap crate.

regex

Requires the type_regex Cargo feature.

Implements a schema for Regex from the regex crate.

relative-path

Requires the type_relative_path Cargo feature.

Implements schemas for RelativePath and RelativePathBuf from the relative-path crate.

rpkl

Requires the type_serde_rpkl Cargo feature.

Implements schemas for Value from the rpkl crate.

rust_decimal

Requires the type_rust_decimal Cargo feature.

Implements a schema for Decimal from the rust_decimal crate.

semver

Requires the type_semver Cargo feature.

Implements schemas for Version and VersionReq from the semver crate.

serde_json

Requires the type_serde_json Cargo feature.

Implements schemas for Value, Number, and Map from the serde_json crate.

serde_yaml

Requires the type_serde_yaml Cargo feature.

Implements schemas for Value, Number, and Mapping from the serde_yaml crate.

toml

Requires the type_serde_toml Cargo feature.

Implements schemas for Value and Map from the toml crate.

url

Requires the type_url Cargo feature.

Implements a schema for Url from the url crate.