normalizeActionSequence function

List<DslAction> normalizeActionSequence(
  1. Object? actions, {
  2. String parameterName = 'actions',
})

Normalizes a callback payload into a concrete action list.

Implementation

List<DslAction> normalizeActionSequence(
  Object? actions, {
  String parameterName = 'actions',
}) {
  if (actions == null) {
    return const [];
  }
  if (actions is DslAction) {
    return [actions];
  }
  if (actions is List<DslAction>) {
    return List.unmodifiable(actions);
  }
  if (actions is List) {
    return List.unmodifiable(
      actions.map((entry) {
        if (entry is! DslAction) {
          throw ArgumentError.value(
            entry,
            parameterName,
            'Expected every callback entry to be a DslAction.',
          );
        }
        return entry;
      }),
    );
  }
  throw ArgumentError.value(
    actions,
    parameterName,
    'Expected a DslAction or List<DslAction>.',
  );
}