Aller au contenu principal

UnwrapSchema<S>

UnwrapSchema<S> = S extends object ? I extends GenericSchema ? I : never : S extends object ? G extends Schema<infer V> ? Schema<V> : never : never

Extracts the inner schema type from a wrapper schema.


Type Parameters

S: S

The wrapper schema type


Returns

The inner schema type, or never if not a wrapper


Since

2.0.0


Example

type Inner = UnwrapSchema<NullableSchema`<StringSchema>`>; // StringSchema
type Inner2 = UnwrapSchema<DefaultSchema`<NumberSchema>`>; // NumberSchema