handle method

  1. @override
void handle(
  1. GuardContext<ErrorReporter> ctx,
  2. PropertyContext property
)
override

Implementation

@override
void handle(GuardContext ctx, PropertyContext property) {
  final bool? content = switch (property.value) {
    String() => bool.tryParse(property.value.toString()),
    bool() => property.value,
    _ => null,
  };

  if (content == null) {
    final error = ctx.errorReporter.format('boolean', property, message, {});
    ctx.errorReporter.report('boolean', property.name, error);
  } else {
    property.mutate(content);
  }
}