Type alias DeepMap<T, U>

DeepMap<T, U>: {
    [P in keyof T]: T[P] extends object
        ? DeepMap<T[P], U>
        : U
}

Utility type to deep map all object properties to a given type.

Type Parameters

  • T

  • U

Example

type Foo = {
a: {
b: {
c: string;
};
d: number;
};
};

type Bar = DeepMap<Foo, number>;

// Bar = {
// a: {
// b: {
// c: number;
// };
// d: number;
// };
// };

Generated using TypeDoc