Skip to main content

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