call method

  1. @override
T call({
  1. Object? newValue = fhirSentinel,
  2. Object? element = fhirSentinel,
  3. Object? id = fhirSentinel,
  4. Object? extension_ = fhirSentinel,
  5. Object? disallowExtensions = fhirSentinel,
})
override

The call method uses parameters of type Object? with a default value of fhirSentinel so that omitted parameters retain the sentinel value while explicit nulls do not.

Implementation

@override
T call({
  Object? newValue = fhirSentinel,
  Object? element = fhirSentinel,
  Object? id = fhirSentinel,
  Object? extension_ = fhirSentinel,
  Object? disallowExtensions = fhirSentinel,
}) {
  if (!identical(newValue, fhirSentinel) && newValue is! String?) {
    throw ArgumentError(
      'newValue must be a String or null, but found ${newValue.runtimeType}',
      'newValue',
    );
  }
  return _then(
    ResourceVersionPolicy(
      identical(newValue, fhirSentinel)
          ? _value.valueString
          : newValue as String?,
      element: identical(element, fhirSentinel)
          ? _value.element
          : element as Element?,
      id: identical(id, fhirSentinel) ? _value.id : id as FhirString?,
      extension_: identical(extension_, fhirSentinel)
          ? _value.extension_
          : extension_ as List<FhirExtension>?,
      disallowExtensions: identical(disallowExtensions, fhirSentinel)
          ? _value.disallowExtensions
          : disallowExtensions as bool?,
    ),
  );
}