---
type: JS Module
title: main.mjs
resource: npm/rules/doc-files/units/main.mjs
docgen:
  crc: b304d152
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  tier: local-min
  score: 100
  issues: judge:inaccurate:0.98
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Цей файл забезпечує аналіз вмісту файлів різного мовного формату для вилучення інформації про юніти. Він обробляє вміст, визначаючи відповідний метод вилучення для JavaScript-подібних або Rust-файлів. Публічна функція `extractUnits` виконує механізм вилучення юнітних даних з коду.

## Поведінка

1. Метод `extractUnits` приймає вміст файлу та його відносний шлях.
2. Визначається розширення файлу за його відносним шляхом.
3. Якщо розширення відповідає JavaScript-подібним мовам (js, mjs, ts, jsx, tsx, cts, mts), викликається відповідна функція для вилучення юнітів на основі AST.
4. Якщо розширення 'rs', викликається відповідна функція для вилучення юнітів шляхом парсингу за допомогою регулярних виразів та підрахунку блоків.
5. Якщо розширення не підтримується або файл не може бути проаналізований, метод повертає null.

## Публічний API

- extractUnits — Витягує одиниці виміру, визначаючи метод аналізу на основі розширення файлу (від AST для JS/TS до простого пошуку для Vue/Py).

## Гарантії поведінки

- Read-only: не виконує операцій запису (ФС/БД).
