Trait serde_with::schemars_0_8::JsonSchemaAs

source ·
pub trait JsonSchemaAs<T: ?Sized> {
    // Required methods
    fn schema_name() -> String;
    fn json_schema(gen: &mut SchemaGenerator) -> Schema;

    // Provided methods
    fn is_referenceable() -> bool { ... }
    fn schema_id() -> Cow<'static, str> { ... }
}
Available on crate feature schemars_0_8 only.
Expand description

A type which can be described as a JSON schema document.

This trait is as SerializeAs is to Serialize but for JsonSchema. You can use it to make your custom SerializeAs and DeserializeAs types also support being described via JSON schemas.

It is used by the Schema type in order to implement JsonSchema for the relevant types. Schema is used implicitly by the serde_as macro to instruct schemars on how to generate JSON schemas for fields annotated with #[serde_as(as = "...")] attributes.

§Examples

Suppose we have our very own PositiveInt type. Then we could add support for generating a schema from it like this

use serde_with::schemars_0_8::JsonSchemaAs;
use schemars::gen::SchemaGenerator;
use schemars::schema::Schema;
use schemars::JsonSchema;

struct PositiveInt;

impl SerializeAs<i32> for PositiveInt {
    // ...
}

impl<'de> DeserializeAs<'de, i32> for PositiveInt {
    // ...
}

impl JsonSchemaAs<i32> for PositiveInt {
    fn schema_name() -> String {
        "PositiveInt".into()
    }

    fn json_schema(gen: &mut SchemaGenerator) -> Schema {
        let mut schema = <i32 as JsonSchema>::json_schema(gen).into_object();
        schema.number().minimum = Some(0.0);
        schema.into()
    }
}

Required Methods§

source

fn schema_name() -> String

The name of the generated JSON Schema.

This is used as the title for root schemas, and the key within the root’s definitions property for sub-schemas.

source

fn json_schema(gen: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type.

If the returned schema depends on any referenceable schemas, then this method will add them to the SchemaGenerator’s schema definitions.

This should not return a $ref schema.

Provided Methods§

source

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword.

For trivial types (such as primitives), this should return false. For more complex types, it should return true. For recursive types, this must return true to prevent infinite cycles when generating schemas.

By default, this returns true.

source

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type.

This does not have to be a human-readable string, and the value will not itself be included in generated schemas. If two types produce different schemas, then they must have different schema_id()s, but two types that produce identical schemas should ideally have the same schema_id().

The default implementation returns the same value as schema_name().

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl JsonSchemaAs<()> for ()

source§

impl<'a, T, TA> JsonSchemaAs<&'a T> for &'a TA
where T: ?Sized + 'a, TA: JsonSchemaAs<T> + 'a,

source§

impl<'a, T, TA> JsonSchemaAs<&'a mut T> for &'a mut TA
where T: ?Sized + 'a, TA: JsonSchemaAs<T> + 'a,

source§

impl<K, V, KA, VA> JsonSchemaAs<BTreeMap<K, V>> for BTreeMap<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, S, KA, VA> JsonSchemaAs<HashMap<K, V, S>> for HashMap<KA, VA, S>
where VA: JsonSchemaAs<V>,

source§

impl<T0, A0> JsonSchemaAs<(T0,)> for (A0,)
where A0: JsonSchemaAs<T0>,

source§

impl<T0, T1, A0, A1> JsonSchemaAs<(T0, T1)> for (A0, A1)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>,

source§

impl<T0, T1, T2, A0, A1, A2> JsonSchemaAs<(T0, T1, T2)> for (A0, A1, A2)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>,

source§

impl<T0, T1, T2, T3, A0, A1, A2, A3> JsonSchemaAs<(T0, T1, T2, T3)> for (A0, A1, A2, A3)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>,

source§

impl<T0, T1, T2, T3, T4, A0, A1, A2, A3, A4> JsonSchemaAs<(T0, T1, T2, T3, T4)> for (A0, A1, A2, A3, A4)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>,

source§

impl<T0, T1, T2, T3, T4, T5, A0, A1, A2, A3, A4, A5> JsonSchemaAs<(T0, T1, T2, T3, T4, T5)> for (A0, A1, A2, A3, A4, A5)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>, A5: JsonSchemaAs<T5>,

source§

impl<T0, T1, T2, T3, T4, T5, T6, A0, A1, A2, A3, A4, A5, A6> JsonSchemaAs<(T0, T1, T2, T3, T4, T5, T6)> for (A0, A1, A2, A3, A4, A5, A6)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>, A5: JsonSchemaAs<T5>, A6: JsonSchemaAs<T6>,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, A0, A1, A2, A3, A4, A5, A6, A7> JsonSchemaAs<(T0, T1, T2, T3, T4, T5, T6, T7)> for (A0, A1, A2, A3, A4, A5, A6, A7)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>, A5: JsonSchemaAs<T5>, A6: JsonSchemaAs<T6>, A7: JsonSchemaAs<T7>,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, A0, A1, A2, A3, A4, A5, A6, A7, A8> JsonSchemaAs<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for (A0, A1, A2, A3, A4, A5, A6, A7, A8)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>, A5: JsonSchemaAs<T5>, A6: JsonSchemaAs<T6>, A7: JsonSchemaAs<T7>, A8: JsonSchemaAs<T8>,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> JsonSchemaAs<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>, A5: JsonSchemaAs<T5>, A6: JsonSchemaAs<T6>, A7: JsonSchemaAs<T7>, A8: JsonSchemaAs<T8>, A9: JsonSchemaAs<T9>,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> JsonSchemaAs<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>, A5: JsonSchemaAs<T5>, A6: JsonSchemaAs<T6>, A7: JsonSchemaAs<T7>, A8: JsonSchemaAs<T8>, A9: JsonSchemaAs<T9>, A10: JsonSchemaAs<T10>,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> JsonSchemaAs<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>, A5: JsonSchemaAs<T5>, A6: JsonSchemaAs<T6>, A7: JsonSchemaAs<T7>, A8: JsonSchemaAs<T8>, A9: JsonSchemaAs<T9>, A10: JsonSchemaAs<T10>, A11: JsonSchemaAs<T11>,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> JsonSchemaAs<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>, A5: JsonSchemaAs<T5>, A6: JsonSchemaAs<T6>, A7: JsonSchemaAs<T7>, A8: JsonSchemaAs<T8>, A9: JsonSchemaAs<T9>, A10: JsonSchemaAs<T10>, A11: JsonSchemaAs<T11>, A12: JsonSchemaAs<T12>,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> JsonSchemaAs<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>, A5: JsonSchemaAs<T5>, A6: JsonSchemaAs<T6>, A7: JsonSchemaAs<T7>, A8: JsonSchemaAs<T8>, A9: JsonSchemaAs<T9>, A10: JsonSchemaAs<T10>, A11: JsonSchemaAs<T11>, A12: JsonSchemaAs<T12>, A13: JsonSchemaAs<T13>,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> JsonSchemaAs<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>, A5: JsonSchemaAs<T5>, A6: JsonSchemaAs<T6>, A7: JsonSchemaAs<T7>, A8: JsonSchemaAs<T8>, A9: JsonSchemaAs<T9>, A10: JsonSchemaAs<T10>, A11: JsonSchemaAs<T11>, A12: JsonSchemaAs<T12>, A13: JsonSchemaAs<T13>, A14: JsonSchemaAs<T14>,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> JsonSchemaAs<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> for (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)
where A0: JsonSchemaAs<T0>, A1: JsonSchemaAs<T1>, A2: JsonSchemaAs<T2>, A3: JsonSchemaAs<T3>, A4: JsonSchemaAs<T4>, A5: JsonSchemaAs<T5>, A6: JsonSchemaAs<T6>, A7: JsonSchemaAs<T7>, A8: JsonSchemaAs<T8>, A9: JsonSchemaAs<T9>, A10: JsonSchemaAs<T10>, A11: JsonSchemaAs<T11>, A12: JsonSchemaAs<T12>, A13: JsonSchemaAs<T13>, A14: JsonSchemaAs<T14>, A15: JsonSchemaAs<T15>,

source§

impl<T, TA> JsonSchemaAs<Option<T>> for Option<TA>
where TA: JsonSchemaAs<T>,

source§

impl<T, TA> JsonSchemaAs<Box<T>> for Box<TA>
where T: ?Sized, TA: JsonSchemaAs<T>,

source§

impl<T, TA> JsonSchemaAs<BTreeSet<T>> for BTreeSet<TA>
where TA: JsonSchemaAs<T>,

source§

impl<T, TA> JsonSchemaAs<VecDeque<T>> for VecDeque<TA>
where TA: JsonSchemaAs<T>,

source§

impl<T, TA> JsonSchemaAs<Rc<T>> for Rc<TA>
where T: ?Sized, TA: JsonSchemaAs<T>,

source§

impl<T, TA> JsonSchemaAs<Arc<T>> for Arc<TA>
where T: ?Sized, TA: JsonSchemaAs<T>,

source§

impl<T, TA> JsonSchemaAs<Vec<T>> for Vec<TA>
where TA: JsonSchemaAs<T>,

source§

impl<T, TA, S> JsonSchemaAs<T> for HashSet<TA, S>
where TA: JsonSchemaAs<T>,

source§

impl<T, TA, const N: usize> JsonSchemaAs<[T; N]> for [TA; N]
where TA: JsonSchemaAs<T>,

Implementors§

source§

impl JsonSchemaAs<bool> for BoolFromInt<Flexible>

source§

impl JsonSchemaAs<bool> for BoolFromInt<Strict>

source§

impl JsonSchemaAs<Vec<u8>> for BytesOrString

source§

impl<'a, T> JsonSchemaAs<Cow<'a, T>> for BorrowCow
where T: ?Sized + ToOwned + 'a, Cow<'a, T>: JsonSchema,

source§

impl<K, V, KA, VA> JsonSchemaAs<Box<[(K, V)]>> for Map<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, KA, VA> JsonSchemaAs<BinaryHeap<(K, V)>> for Map<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, KA, VA> JsonSchemaAs<BTreeMap<K, V>> for MapFirstKeyWins<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, KA, VA> JsonSchemaAs<BTreeMap<K, V>> for MapPreventDuplicates<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, KA, VA> JsonSchemaAs<BTreeSet<(K, V)>> for Map<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, KA, VA> JsonSchemaAs<LinkedList<(K, V)>> for Map<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, KA, VA> JsonSchemaAs<VecDeque<(K, V)>> for Map<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, KA, VA> JsonSchemaAs<Vec<(K, V)>> for Map<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, KA, VA> JsonSchemaAs<[(K, V)]> for Map<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, KA, VA, const N: usize> JsonSchemaAs<[(K, V); N]> for Map<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, S, KA, VA> JsonSchemaAs<HashMap<K, V, S>> for MapFirstKeyWins<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, S, KA, VA> JsonSchemaAs<HashMap<K, V, S>> for MapPreventDuplicates<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, S, KA, VA> JsonSchemaAs<HashSet<(K, V), S>> for Map<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, S, KA, VA> JsonSchemaAs<HashMap<K, V, S>> for MapFirstKeyWins<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, S, KA, VA> JsonSchemaAs<HashMap<K, V, S>> for MapPreventDuplicates<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, S, KA, VA> JsonSchemaAs<IndexMap<K, V, S>> for MapFirstKeyWins<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, S, KA, VA> JsonSchemaAs<IndexMap<K, V, S>> for MapFirstKeyWins<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, S, KA, VA> JsonSchemaAs<IndexMap<K, V, S>> for MapPreventDuplicates<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<K, V, S, KA, VA> JsonSchemaAs<IndexMap<K, V, S>> for MapPreventDuplicates<KA, VA>
where VA: JsonSchemaAs<V>,

source§

impl<O, T: JsonSchema> JsonSchemaAs<O> for FromInto<T>

source§

impl<O, T: JsonSchema> JsonSchemaAs<O> for FromIntoRef<T>

source§

impl<SEP, T, TA> JsonSchemaAs<T> for StringWithSeparator<SEP, TA>
where SEP: Separator,

source§

impl<T> JsonSchemaAs<Vec<T>> for EnumMap
where T: JsonSchema,

source§

impl<T> JsonSchemaAs<T> for Bytes

source§

impl<T> JsonSchemaAs<T> for DisplayFromStr

source§

impl<T, A> JsonSchemaAs<T> for PickFirst<(A,)>
where A: JsonSchemaAs<T>,

source§

impl<T, A, B> JsonSchemaAs<T> for PickFirst<(A, B)>
where A: JsonSchemaAs<T>, B: JsonSchemaAs<T>,

source§

impl<T, A, B, C> JsonSchemaAs<T> for PickFirst<(A, B, C)>
where A: JsonSchemaAs<T>, B: JsonSchemaAs<T>, C: JsonSchemaAs<T>,

source§

impl<T, A, B, C, D> JsonSchemaAs<T> for PickFirst<(A, B, C, D)>
where A: JsonSchemaAs<T>, B: JsonSchemaAs<T>, C: JsonSchemaAs<T>, D: JsonSchemaAs<T>,

source§

impl<T, F> JsonSchemaAs<T> for DurationMicroSeconds<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationMicroSeconds<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationMicroSecondsWithFrac<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationMicroSecondsWithFrac<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationMilliSeconds<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationMilliSeconds<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationMilliSecondsWithFrac<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationMilliSecondsWithFrac<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationNanoSeconds<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationNanoSeconds<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationNanoSecondsWithFrac<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationNanoSecondsWithFrac<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationSeconds<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationSeconds<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationSecondsWithFrac<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for DurationSecondsWithFrac<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampMicroSeconds<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampMicroSeconds<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampMicroSecondsWithFrac<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampMicroSecondsWithFrac<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampMilliSeconds<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampMilliSeconds<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampMilliSecondsWithFrac<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampMilliSecondsWithFrac<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampNanoSeconds<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampNanoSeconds<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampNanoSecondsWithFrac<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampNanoSecondsWithFrac<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampSeconds<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampSeconds<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampSecondsWithFrac<F, Flexible>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, F> JsonSchemaAs<T> for TimestampSecondsWithFrac<F, Strict>
where T: TimespanSchemaTarget<F>, F: Format + JsonSchema,

source§

impl<T, TA> JsonSchemaAs<Vec<T>> for KeyValueMap<TA>
where TA: JsonSchemaAs<T>,

source§

impl<T, TA> JsonSchemaAs<Vec<T>> for VecSkipError<TA>
where TA: JsonSchemaAs<T>,

source§

impl<T, TA> JsonSchemaAs<T> for DefaultOnError<TA>
where TA: JsonSchemaAs<T>,

source§

impl<T, TA> JsonSchemaAs<T> for DefaultOnNull<TA>
where TA: JsonSchemaAs<T>,

source§

impl<T, TA> JsonSchemaAs<T> for SetLastValueWins<TA>
where TA: JsonSchemaAs<T>,

source§

impl<T, TA> JsonSchemaAs<T> for SetPreventDuplicates<TA>
where TA: JsonSchemaAs<T>,

source§

impl<T, TA, FA> JsonSchemaAs<T> for IfIsHumanReadable<TA, FA>
where TA: JsonSchemaAs<T>,

source§

impl<T, U: JsonSchema> JsonSchemaAs<T> for TryFromInto<U>

source§

impl<T, U: JsonSchema> JsonSchemaAs<T> for TryFromIntoRef<U>

source§

impl<T: JsonSchema> JsonSchemaAs<T> for Same