# DeepGet

`type` in `utils` · v0.7.0

<https://docs.seedcord.org/packages/utils/0.7.0/types/deep-get>

Extracts the type of a nested property, distributing over unions.

## Declaration

```ts
type DeepGet<Obj, Key extends string> = Obj extends unknown
    ? Key extends `${infer K}.${infer Rest}`
        ? K extends keyof Obj
            ? DeepGet<NonNullable<Obj[K]>, Rest>
            : never
        : Key extends keyof Obj
          ? Obj[Key]
          : never
    : never;
```
