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

<Meta title='@dxtmisha/ru/scripts/Functions/convectorColor - Конвертация цвета'/>

# Функция convectorColor

Функция `convectorColor` является частью системы конвекторов для обработки токенов свойств. Её основная роль — извлечение специфических метаданных цвета из расширений 'studio.tokens' и их применение к объекту свойства. На данный момент функция специализируется на обработке модификаций прозрачности (alpha).

## Ключевые особенности

- **Интеграция со Studio Tokens** — работает с расширениями `$extensions['studio.tokens']`.
- **Модификация прозрачности** — извлекает значение `alpha` из параметров модификации и сохраняет его в системном ключе `cssColorOpacity`.
- **Автоматизация** — вызывается в процессе стандартизации свойств при обнаружении соответствующих метаданных.

## Параметры

Функция принимает один аргумент:

- `item: PropertyItemInput` — объект входных данных свойства, который будет мутирован в процессе выполнения.

## Примеры

### Обработка модификации прозрачности

Если токен содержит информацию о модификации цвета, `convectorColor` извлечет её:

```typescript
import { convectorColor, PropertyKey } from '@dxtmisha/scripts'

const item = {
  value: '#ff0000',
  $extensions: {
    'studio.tokens': {
      modify: {
        type: 'alpha',
        value: '0.5'
      }
    }
  }
};

convectorColor(item);

console.log(item[PropertyKey.cssColorOpacity]); // '0.5'
```

## Операции

### Механизм обработки

Процесс обработки данных в `convectorColor` включает следующие шаги:
1. **Поиск расширений**: Функция ищет путь `$extensions['studio.tokens'].modify`.
2. **Определение типа**: Если тип модификации установлен в `alpha`, функция приступает к обработке.
3. **Сохранение данных**: Значение прозрачности (`value`) записывается в свойство объекта `item` по ключу `_o` (хранится в `PropertyKey.cssColorOpacity`). Если значение не указано, по умолчанию используется `'1'`.

## Область применения

Функция используется внутри классов обработки свойств (например, `PropertiesStandard`) для обогащения данных токенов информацией о прозрачности, полученной из инструментов дизайна.
