enum_flag 1.0.2 copy "enum_flag: ^1.0.2" to clipboard
enum_flag: ^1.0.2 copied to clipboard

Package to create enums for flags using bitmask in Dart using a mixin and extensions.

enum_flag #

style: very good analysis License: MIT Tests Codecov

Package to create enums for flags using bitmask in Dart using a mixin and extensions.

Usage #

import 'package:enum_flag/enum_flag.dart';

enum EnumX with EnumFlag {
  one,
  two,
  three,
  four,
}

void main() {
    print(EnumX.one.value); // 1
    print(EnumX.two.value); // 2
    print(EnumX.three.value); // 4
    print(EnumX.four.value); // 8
    print(EnumX.one.value | EnumX.two.value); // 3
    print(EnumX.one.value | EnumX.three.value); // 5
    print(1.hasFlag(EnumX.one)); // true
    print(1.hasFlag(EnumX.two)); // false
    print(2.hasFlag(EnumX.one)); // false
    print(2.hasFlag(EnumX.two)); // true
    print(3.hasFlag(EnumX.one)); // true
    print(3.hasFlag(EnumX.two)); // true
    print(1.getFlags(EnumX.values)); // [EnumX.one]
    print(2.getFlags(EnumX.values)); // [EnumX.two]
    print((1 | 2).getFlags(EnumX.values)); // [EnumX.one, EnumX.two]
    print(3.getFlags(EnumX.values)); // [EnumX.one, EnumX.two]
    print([EnumX.one, EnumX.two].flag); // 3
}
8
likes
140
pub points
81%
popularity

Publisher

unverified uploader

Package to create enums for flags using bitmask in Dart using a mixin and extensions.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

More

Packages that depend on enum_flag