execute method

  1. @override
Future<String?> execute(
  1. BuildContext context
)
override

Evaluates this condition configuration.

The context parameter provides access to the widget tree.

Returns:

  • null if the condition passes
  • an error message string if the condition fails

Implementation

@override
Future<String?> execute(BuildContext context) async {
  if (flagName.isEmpty) {
    return null;
  }

  switch (dataType) {
    case FlagDataType.string:
      return VyuhBinding.instance.featureFlag?.getString(flagName);
    case FlagDataType.number:
      final value = await VyuhBinding.instance.featureFlag?.getInt(flagName);
      return value.toString();
    case FlagDataType.boolean:
      final value = await VyuhBinding.instance.featureFlag?.getBool(flagName);
      return value.toString();
    case FlagDataType.json:
      final value = await VyuhBinding.instance.featureFlag?.getJson(flagName);
      return jsonEncode(value);
  }
}