allParams property

List<ClientParam> get allParams

Implementation

List<ClientParam> get allParams {
  final fromLifecycle = <ClientParam>[];

  for (final component in lifecycleComponents) {
    for (final param in component.allParams) {
      if (component.shouldExcludeParamFromClient(param, parameters)) {
        continue;
      }

      // The endpoint declares the real signature, so a lifecycle param that
      // binds to the same place is already covered by it.
      if (parameters.any(param.conflictsWithClientParam)) {
        continue;
      }

      if (fromLifecycle.any(param.conflictsWithClientParam)) {
        continue;
      }

      fromLifecycle.add(param);
    }
  }

  // [parameters] is never deduped against itself. Two params of the same
  // type share a binding but are still two distinct params, and dropping
  // one would silently stop the client sending a value the server reads.
  return [...fromLifecycle, ...parameters];
}