bitfields-lib
v1.0.4
Published
Библиотека для работы с флагами
Downloads
9
Readme
BitField Library
Библиотека для работы с битовыми флагами в TypeScript/JavaScript.
Особенности
- 🔍 Удобное управление флагами
- 📦 Миниатюрный размер (~1KB)
Установка
npm install bitfield-libили
yarn add bitfield-libИспользование
Базовый пример:
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)Привязанные флаги:
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)API
set(flag)- Устанавливает флагunset(flag)Снимает флагtoggle(flag)Переключает флагcontains(flag)Проверяет наличие флагаgetValue()Возвращает текущее значение
Статические методы:
BitField.all() // Все флаги установлены
BitField.withFlags(flags) // Создаёт класс с привязанными флагамиПроизводительность
| Операция | Скорость (оп/сек) | | ------------ | ----------------- | | Установка | ~15 млн | | Проверка | ~20 млн | | Переключение | ~12 млн |
Лицензия
MIT © 2025 FarryDay
