Type alias DeepMapOptional<T, U>

DeepMapOptional<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, but optionally.

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