# keepDefined

`function` in `utils` · v0.4.0

<https://docs.seedcord.org/packages/utils/0.4.0/functions/keep-defined>

Copies only the keys whose values are defined.

```ts
keepDefined<TObject, TKey>(
    source: TObject,
    keys: readonly TKey[]
): Partial<
    Pick<
        TObject,
        TKey extends never ? keyof TObject : TKey
    >
>
```

Copies only the keys whose values are defined.

Parameters.

- `source` `TObject` — the object to read values from
- `keys` `readonly TKey[]` — optional list of keys to include when present. If omitted, all keys are considered

Returns `Partial<Pick<TObject, TKey extends never ? keyof TObject : TKey>>`.
