stealth_enum_generator

pub version License: MIT Dart Flutter

Support me on Ko-fi

The companion build_runner code generator for stealth_enum.

This package transforms @StealthEnum() annotated private Dart enums into zero-cost, obfuscated Dart 3 extension types to neutralize AI-driven reverse engineering pipelines (REA, Blutter, Ghidra).

Getting started

Add stealth_enum_generator to your dev_dependencies alongside build_runner, and stealth_enum to your dependencies:

dependencies:
  stealth_enum: ^0.1.0

dev_dependencies:
  build_runner: ^2.4.0
  stealth_enum_generator: ^0.1.0

Then run:

dart pub get
# or for Flutter:
flutter pub get

How it works

StealthEnumGenerator extends GeneratorForAnnotation<StealthEnum> from source_gen:

  1. Validation: Inspects @StealthEnum() annotations and ensures they are applied to private EnumElement declarations.
  2. Identifier Extraction: Resolves the public type name (strips the leading _ or applies the custom name: override).
  3. Entropy & Value Generation: Computes collision-free, deterministic 32-bit hex values for each constant using a seeded random distribution.
  4. Extension Type Synthesis: Emits an extension type const <Name>._(int rawValue) with static constants, values list, and fully inlined .when() / .maybeWhen() pattern matching methods.
  5. String Sanitization: Generates wildcard fallbacks (_ =>) to ensure no exception strings or class names leak into the compiled AOT binary.
  6. Shared Pipeline Integration: Built with SharedPartBuilder so it seamlessly shares .g.dart files with json_serializable, freezed, and other generators.

For full documentation and examples, see the stealth_enum README.

Contributing

PRs and issues are welcome! Please open an issue first for significant changes.

License

Made with 💛 by aslamambiloly © 2026

Libraries

stealth_enum_generator
stealth_enum_generator — build_runner code generator for stealth_enum.