Type Utils
    Preparing search index...

    Type Alias Struct<T, Rules>

    Struct: T extends PrimitiveType
        ? (V3.EnumStruct<T, Rules> | IsExactExtension<T, undefined>) extends true
            ? V3.UndefinedStruct<Rules>
            : IsExactExtension<T, null> extends true
                ? V3.NullStruct<Rules>
                : IsExactExtension<T, boolean> extends true
                    ? V3.BooleanStruct<Rules>
                    : IsExactExtension<T, bigint> extends true
                        ? V3.BigIntStruct<Rules>
                        : IsExactExtension<T, number> extends true
                            ? V3.NumberStruct<Rules>
                            : IsExactExtension<T, string> extends true
                                ? V3.StringStruct<Rules>
                                : IsExactExtension<T, symbol> extends true
                                    ? V3.SymbolStruct<Rules>
                                    : never
        : T extends readonly [...any]
            ? V3.TupleStruct<T, Rules>
            : T extends (infer U)[]
                ? V3.ArrayStruct<U, Rules>
                : T extends {}
                    ? | V3.ObjectStruct<T, Rules>
                    | V3.RecordStruct<keyof T, T[keyof T], Rules>
                    | V3.ClassInstanceStruct<T, Rules>
                    : never

    Type Parameters

    • T = any
    • Rules extends Custom<any[], string, any> = Custom<any[], string, any>