Skip to content

Aliance/InfiniteBitmask

Repository files navigation

Infinite bitmask implementation

License Packagist PHP Version Code Coverage

About

Based on Aliance/Bitmask, but without max bits limitation.

Installation

Install the latest version with composer:

composer require aliance/infinite-bitmask

If you checkout this library for testing purposes, install its dependencies:

docker run --rm -it --volume $PWD:/app -u $(id -u):$(id -g) composer:2 i

Usage

See usage in sample file.

docker run -it --rm -v "$PWD":/usr/src/infinite-bitmask -w /usr/src/infinite-bitmask php:8.1-cli php example/example.php 
Check user for all flags:
Premium: no
Wizard already shown: no
Paid ever: no
Referral: no
Banned: no
Already notified: no
–––––––––––––––––––––––––––––––––––
Check user for all flags:
Premium: no
Wizard already shown: no
Paid ever: yes
Referral: no
Banned: yes
Already notified: yes
–––––––––––––––––––––––––––––––––––
array(3) {
  [0]=>
  int(8)
  [1]=>
  int(1)
  [2]=>
  int(1)
}
Check user for all flags:
Premium: no
Wizard already shown: no
Paid ever: yes
Referral: no
Banned: yes
Already notified: no
–––––––––––––––––––––––––––––––––––
array(3) {
  [0]=>
  int(8)
  [1]=>
  int(1)
  [2]=>
  int(0)
}

Tests

For completely tests running just call composer exec phpunit or use

docker run -it --rm -v "$PWD":/usr/src/infinite-bitmask -w /usr/src/infinite-bitmask php:8.1-cli php ./vendor/bin/phpunit

License

This software is distributed under MIT license.