---
type: JS Module
title: enabled.mjs
resource: npm/rules/abie/lib/enabled.mjs
docgen:
  crc: 3dfdd318
---

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

## Поведінка

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

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

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

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

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

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

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

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

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

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

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

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