variant_generator 0.1.0-alpha.4 copy "variant_generator: ^0.1.0-alpha.4" to clipboard
variant_generator: ^0.1.0-alpha.4 copied to clipboard

outdated

A variant generator for FLutter applications.

example/example.dart

import 'package:variant/variant.dart';

part 'example.g.dart';

void main() {
  var data = Variant();
  var labels = LabelsData.fromVariant(data);
  print(labels.hello);

  data = Variant(
    brightness: Brightness.dark,
    language: Language.fr,
  );
  labels = LabelsData.fromVariant(data);
  print(labels.hello);
  print(data.matchesAny({Brightness.dark}));
}

@variant
enum Brightness {
  light,
  dark,
}

@variant
enum Language {
  en,
  de,
  fr,
}

@variantData
abstract class Labels {
  get hello => Variants<String>(
        () => 'Hello',
        {
          {Language.fr, Brightness.dark}: () => 'Bonjour',
        },
      );
}