Библиотека для работы с флагами
npm install bitfields-libБиблиотека для работы с битовыми флагами в TypeScript/JavaScript.
- 🔍 Удобное управление флагами
- 📦 Миниатюрный размер (~1KB)
``bash`
npm install bitfield-lib
или
`bash`
yarn add bitfield-lib
Базовый пример:
`typescript
import { BitField } from 'bitfields-lib'
const FLAGS = {
READ: 1 << 0, // 0b0001
WRITE: 1 << 1, // 0b0010
EXECUTE: 1 << 2, // 0b0100
}
const perms = new BitField()
// Установка флагов
perms.set(FLAGS.READ | FLAGS.WRITE)
// Проверка
perms.contains(FLAGS.READ) // true
perms.contains(FLAGS.EXECUTE) // false
// Переключение
perms.toggle(FLAGS.EXECUTE)
`
Привязанные флаги:
`typescript
const FilePermissions = BitField.withFlags({
READ: 1 << 0,
WRITE: 1 << 1,
EXECUTE: 1 << 2,
})
const userPerms = new FilePermissions()
userPerms.set(FilePermissions.flags.READ | FilePermissions.flags.WRITE)
`
- set(flag) - Устанавливает флагunset(flag)
- Снимает флагtoggle(flag)
- Переключает флагcontains(flag)
- Проверяет наличие флагаgetValue()
- Возвращает текущее значение
Статические методы:
`typescript``
BitField.all() // Все флаги установлены
BitField.withFlags(flags) // Создаёт класс с привязанными флагами
| Операция | Скорость (оп/сек) |
| ------------ | ----------------- |
| Установка | ~15 млн |
| Проверка | ~20 млн |
| Переключение | ~12 млн |
MIT © 2025 FarryDay