validEventNames static method

List<String> validEventNames(
  1. String? events
)

The events in the space-separated events; throws for unsupported ones. Port of XFormParser.getValidEventNames.

Implementation

static List<String> validEventNames(String? events) {
  if (events == null) {
    // JavaRosa fails with a NullPointerException here.
    throw XFormParseException('An action was registered without events');
  }
  final valid = <String>[];
  final invalid = <String>[];
  for (final event in javaSplit(events, ' ')) {
    (FormEvents.isValid(event) ? valid : invalid).add(event);
  }
  if (invalid.isNotEmpty) {
    throw XFormParseException(
      'An action was registered for unsupported events: '
      '${invalid.join(', ')}',
    );
  }
  return valid;
}