toPositionalParams static method

List<Object?> toPositionalParams({
  1. required Map<String, Object?> namedParams,
  2. required List<String> paramNames,
})

Converts namedParams to positional list following paramNames order.

Throws ParameterMissingException when a required parameter is missing.

Implementation

static List<Object?> toPositionalParams({
  required Map<String, Object?> namedParams,
  required List<String> paramNames,
}) {
  final missing = paramNames
      .where((String name) => !namedParams.containsKey(name))
      .toList();

  if (missing.isNotEmpty) {
    throw ParameterMissingException(
      'Missing required parameters: ${missing.join(", ")}',
    );
  }

  return paramNames.map((String name) => namedParams[name]).toList();
}