setParam<T> method

  1. @protected
bool setParam<T>(
  1. Comparable key,
  2. T value
)

Sets param with key & value.

Return false if param scheme is not registered.

Implementation

@protected
bool setParam<T>(Comparable key, T value) {
  // Anchor module does not need to set param scheme.
  if (this == anchor) {
    final oldValue = _params[key];
    if (oldValue != null && oldValue.runtimeType != value.runtimeType) {
      return false;
    }
    _setParam(key, value);
    return true;
  }
  if (!_paramSchemes.keys.contains(key)) {
    return false;
  }
  final schemeType = _paramSchemes[key];
  if (schemeType == dynamic || schemeType == Object) {
    final oldValue = _params[key];
    if (oldValue != null && oldValue.runtimeType != value.runtimeType) {
      return false;
    }
  } else {
    if (schemeType != value.runtimeType) {
      return false;
    }
  }
  _setParam(key, value);
  return true;
}