enum_generator

Last updated:

0 purchases

enum_generator Image
enum_generator Images
Add to Cart

Description:

enum generator

Generating the functional Enum #
Freezed, but for enums.
This is a lightweight library to create functionality for enum class type and make enum usage much better.
Installation #
Add the following dependencies to your project.

dependencies:
enum_annotation: ^0.0.2

dev_dependencies:
build_runner: any
enum_generator: any
copied to clipboard
Usage #
Now generate the code using build_runner.
Dart only:
dart pub run build_runner build
// OR
dart pub run build_runner watch
copied to clipboard
Flutter:
flutter pub run build_runner build
// OR
flutter pub run build_runner watch
copied to clipboard
With pure dart
import 'package:enum_annotation/enum_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
}
copied to clipboard

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.