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

<Meta title='@dxtmisha/functional/ru/Math Utils'/>

# Математические утилиты

Набор функций для математических вычислений и работы с числовыми значениями.

## `getRandomText`

Генерирует случайный текст из указанного количества слов.

**Параметры:**
- `min: number` — минимальное количество слов
- `max: number` — максимальное количество слов
- `symbol: string` — символ для замены букв (по умолчанию 'x')
- `lengthMin: number` — минимальная длина слова (по умолчанию 3)
- `lengthMax: number` — максимальная длина слова (по умолчанию 8)

```javascript
import { getRandomText } from '@dxtmisha/functional'

getRandomText(1, 3) // 'xxx xxxx xx'
getRandomText(2, 2, 'o', 4, 6) // 'oooo oooooo'
getRandomText(1, 1, '*', 5, 5) // '*****'
```

## `getRequestString`

Преобразует объект параметров в строку запроса URL.

**Параметры:**
- `data: Record<string, any>` — объект с параметрами

```javascript
import { getRequestString } from '@dxtmisha/functional'

getRequestString({ name: 'John', age: 30 }) // 'name=John&age=30'
getRequestString({ q: 'search term', page: 1 }) // 'q=search%20term&page=1'
getRequestString({}) // ''
```

## `getStepPercent`

Вычисляет процентное значение шага между минимальным и максимальным значениями.

**Параметры:**
- `value: number` — текущее значение
- `min: number` — минимальное значение
- `max: number` — максимальное значение

```javascript
import { getStepPercent } from '@dxtmisha/functional'

getStepPercent(25, 0, 100) // 25
getStepPercent(50, 20, 80) // 50
getStepPercent(15, 10, 20) // 50
```

## `getStepValue`

Вычисляет значение по проценту между минимальным и максимальным значениями.

**Параметры:**
- `percent: number` — процентное значение
- `min: number` — минимальное значение
- `max: number` — максимальное значение

```javascript
import { getStepValue } from '@dxtmisha/functional'

getStepValue(50, 0, 100) // 50
getStepValue(25, 10, 20) // 12.5
getStepValue(75, 0, 200) // 150
```

## `random`

Генерирует случайное целое число в указанном диапазоне.

**Параметры:**
- `min: number` — минимальное значение (включительно)
- `max: number` — максимальное значение (включительно)

```javascript
import { random } from '@dxtmisha/functional'

random(1, 10) // например, 7
random(0, 100) // например, 42
random(5, 5) // 5
```
