resolveMiddleware function

List<Middleware> resolveMiddleware(
  1. List<Object> entries
)

Turns a mixed list of Layer and shelf Middleware values into shelf middleware, keeping the order they were written in.

Plain shelf middleware is allowed at the composition site for anything that never has to fit in an annotation.

Implementation

List<Middleware> resolveMiddleware(List<Object> entries) {
  return [
    for (final entry in entries)
      if (entry is Layer)
        entry.toMiddleware()
      else if (entry is Middleware)
        entry
      else
        throw ArgumentError(
          'a layer must be a Layer or a shelf Middleware, '
          'got ${entry.runtimeType}',
        ),
  ];
}