import { Meta } from '@storybook/addon-docs/blocks'

<Meta title='@dxtmisha/ru/functional-basic/Functions/setValues - Управление списком выбранных значений'/>

# `setValues`

Обрабатывает обновление выбранных значений в зависимости от режима (одиночный или множественный выбор). Позволяет добавлять, удалять или заменять значения с поддержкой ограничений на максимальное количество элементов.

**Параметры:**
- `selected: T | T[] | undefined` — Текущие выбранные значения.
- `value: any` — Новое значение для обработки.
- `options` — Объект с настройками:
    - `multiple: boolean` — Режим множественного выбора (по умолчанию `false`).
    - `maxlength: number` — Максимальное количество элементов для множественного выбора (по умолчанию `0` — без ограничений).
    - `alwaysChange: boolean` — Флаг принудительной замены значения (по умолчанию `true`).
    - `notEmpty: boolean` — Запрет на полное очищение списка (по умолчанию `false`).

**Возвращает:**
`T | T[] | undefined` — Новое состояние выбранных значений.

```typescript
import { setValues } from '@dxtmisha/functional-basic'

// Одиночный выбор
console.log(setValues(1, 2, {})) // 2

// Множественный выбор (переключение)
let list = [1, 2]
list = setValues(list, 2, { multiple: true }) // [1] (удаление существующего)
list = setValues(list, 3, { multiple: true }) // [1, 3] (добавление нового)
```
