---
docgen:
  source: npm/rules/abie/lib/enabled.mjs
  crc: 6b02ea18
---

# enabled.mjs

## Огляд

Файл керує активацією правил на рівні гейта. Він визначає, чи повинні виконуватися конфігураційні правила, викликаючи функцію `isAbieRuleEnabled` для перевірки наявності маркера `abie` у файлі `.n-cursor.json:rules`. Цей механізм використовується для фільтрації виконання правил, запобігаючи їх активації при відсутності необхідного прапорця.

## Поведінка

1. Створення шляху до конфігураційного файлу `.n-cursor.json`

2. Перевірка наявності файлу. Якщо файл відсутній, повертається `false`.

3. Читання вмісту файлу. У разі помилки читання, повертається `false`.

4. Парсинг вмісту у формат JSON. У разі помилки парсингу, повертається `false`.

5. Витягнення масиву правил з конфігурації.

6. Перевірка типу витягнутого масиву. Якщо дані не є масивом, повертається `false`.

7. Ітерація по масиву правил. Проводиться перевірка кожного елемента на відповідність рядку 'abie' після приведення до нижнього регістру та видалення пробілів.

8. Повернення результату. Якщо знайдено правило 'abie', повертається `true`. У іншому випадку повертається `false`.

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

isAbieRuleEnabled — перевіряє статус увімкненості правила abie у файлі `.n-cursor.json:rules`.

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

- Read-only: файл не виконує операцій запису у файлову систему.
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
- За невдалої перевірки повертає `false`/`null` замість винятку.
- Не звертається до мережі.
