enum_map 0.4.0-2.dev copy "enum_map: ^0.4.0-2.dev" to clipboard
enum_map: ^0.4.0-2.dev copied to clipboard

A Map with compile-time check that every enum constant has an entry in it.

example/lib/main.dart

import 'package:enum_map/enum_map.dart';

@MakeMap()
@MakeUnmodifiableMap()
enum Fruit {
  apple,
  orange,
  banana,
}

void main() {
  final modifiableMap = FruitMap<String>(apple: 'a', orange: 'o', banana: 'b');
  print(modifiableMap); // prints: {Fruit.apple: a, Fruit.orange: o, Fruit.banana: b}
  print(modifiableMap[Fruit.apple]); //     prints: a
  print(modifiableMap.get(Fruit.apple)); // prints: a

  const unmodifiableMap = UnmodifiableFruitMap<String>(apple: 'a', orange: 'o', banana: 'b');
  print(unmodifiableMap); // prints: {Fruit.apple: a, Fruit.orange: o, Fruit.banana: b}
  print(unmodifiableMap[Fruit.apple]); //     prints: a
  print(unmodifiableMap.get(Fruit.apple)); // prints: a
}
6
likes
150
pub points
64%
popularity

Publisher

verified publisherainkin.com

A Map with compile-time check that every enum constant has an entry in it.

Repository (GitHub)
View/report issues

Topics

#collections #macros #enum

Documentation

API reference

License

MIT-0 (LICENSE)

Dependencies

macro_util, macros, meta

More

Packages that depend on enum_map