@tusss/ood
    Preparing search index...

    Type Alias ClassProperties<C>

    ClassProperties: {
        [K in keyof C as C[K] extends Function ? never : K]: NonNullable<C[K]> extends (infer U)[]
            ? ClassProperties<U>[]
            : NonNullable<C[K]> extends Map<any, infer V>
                ? [string, ClassProperties<V>][]
                : NonNullable<C[K]> extends object
                    ? NonNullable<C[K]> extends Primitive ? C[K] : ClassProperties<NonNullable<C[K]>>
                    : C[K]
    }

    Type helper to extract all properties of a class, excluding methods and functions.

    Type Parameters

    • C

    Example demonstrating extracting properties of a class

    class User {
    name = "Alice";
    age = 25;

    greet() {
    console.log(`Hello, my name is ${this.name}`);
    }
    }

    // { name: string; age: number }
    type UserProps = ClassProperties<User>;