@chickenjdk/common
    Preparing search index...

    Type Alias Expand<O, Ignore, DontIgnoreTop>

    Expand: and<O extends Ignore ? true : false, not<DontIgnoreTop>> extends true
        ? O
        : O extends any[]
            ? ArrayClone<O, Ignore>
            : {
                [K in keyof O]: O[K] extends string
                | number
                | symbol
                    ? O[K]
                    : O[K] extends any[]
                        ? ArrayClone<O[K], Ignore>
                        : Expand<O[K], Ignore, false>
            }

    Expand an object or array type, iterating recursivly over all of the elements down to string/number/symbol in order to turn a type containing others into the most basic form, except those that match the Ignore type. Mainly used to help with making docs and IDEs display inteligable types, even for the most spaghetti of types and code.

    Type Parameters

    • O
    • Ignore = never
    • DontIgnoreTop extends boolean = true