enum_generator 1.0.1 copy "enum_generator: ^1.0.1" to clipboard
enum_generator: ^1.0.1 copied to clipboard

outdated

This is a lightweight library to create functionality for enum class type and make enum usage much better.

example/lib/main.dart

import 'package:enum_generator/src/annotation.dart';

part 'main.g.dart';

@generate
enum Shape { square, circle, triangle }

void main() {
  final shape = Shape.circle;

  // all cases must be handled
  final message = shape.when(
    square: () => 'I am a Square',
    circle: () => 'I am a Circle',
    triangle: () => 'I am a Triangle',
  );
  print(message); // I am a Circle

  // all cases may not be handled but `orElse` cannot be null
  final canBeRotated = shape.maybeWhen(
    circle: () => false,
    orElse: () => true,
  );
  print('Can be rotate: $canBeRotated'); // false

  // equivalent to print(shape == Shape.circle)
  print('The shape is circle: ${shape.isCircle}'); // true
  print('The shape is Square: ${shape.isSquare}'); // false
  print('The shape is Triangle: ${shape.isTriangle}'); // false
}
2
likes
0
pub points
39%
popularity

Publisher

unverified uploader

This is a lightweight library to create functionality for enum class type and make enum usage much better.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

analyzer, build, build_config, flutter, source_gen

More

Packages that depend on enum_generator