dartfield 1.1.0 copy "dartfield: ^1.1.0" to clipboard
dartfield: ^1.1.0 copied to clipboard

A simple and customizable Dart implementation of BitField that uses enum to represent bits.

example/example.dart

import 'package:dartfield/dartfield.dart';

enum MemberPermissions {
  createInvites,
  kickMembers,
  banMembers,
  administrator,
  manageChannels,
  manageGuild
}

void main() {
  // Create empty bitfield.
  final BitField<MemberPermissions> emptyBitField = BitField.empty();

  // Add createInvites & manageChannels flags.
  emptyBitField
    ..add(MemberPermissions.createInvites)
    ..add(MemberPermissions.manageChannels);

  // Or set it via braces.
  emptyBitField[MemberPermissions.createInvites] = true;

  // Get enum value.
  print(emptyBitField.value);

  // Create bitfield from int.
  final BitField<MemberPermissions> intBitField = BitField.fromInt(17);

  // Check if it has manageGuild flag.
  print(intBitField.contains(MemberPermissions.manageGuild));

  // Or get it via braces.
  print(intBitField[MemberPermissions.manageChannels]);

  // Check if it missing createInvites flag.
  print(intBitField.missing(MemberPermissions.createInvites));

  // Check equality of bitfields.
  print(intBitField == emptyBitField);
}
1
likes
140
pub points
58%
popularity

Publisher

verified publisherpubdev.kasefuchs.su

A simple and customizable Dart implementation of BitField that uses enum to represent bits.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

More

Packages that depend on dartfield