Type Alias TRequired<Type>

TRequired<Type>: Type extends TRecursive<infer Type extends TSchema>
    ? TRecursive<TRequired<Type>>
    : Type extends TComputed<infer Target extends string, infer Parameters extends TSchema[]>
        ? TFromComputed<Target, Parameters>
        : Type extends TRef<infer Ref extends string>
            ? TFromRef<Ref>
            : Type extends TIntersect<infer Types extends TSchema[]>
                ? TIntersect<TFromRest<Types>>
                : Type extends TUnion<infer Types extends TSchema[]>
                    ? TUnion<TFromRest<Types>>
                    : Type extends TObject<infer Properties extends TProperties>
                        ? TFromObject<TObject<Properties>>
                        : Type extends TBigInt
                            ? Type
                            : Type extends TBoolean
                                ? Type
                                : Type extends TInteger
                                    ? Type
                                    : (...) extends (...)
                                        ? (...)
                                        : (...)

Type Parameters