guardMappable<T> method

T guardMappable<T>(
  1. dynamic value,
  2. T fn(
    1. MapperElementBase
    ),
  3. T fallback(),
  4. MapperMethod method,
  5. String hint(),
)

Implementation

T guardMappable<T>(
  dynamic value,
  T Function(MapperElementBase) fn,
  T Function() fallback,
  MapperMethod method,
  String Function() hint,
) {
  var element = _mapperFor(value)?.createElement(this);
  if (element != null) {
    try {
      return fn(element);
    } catch (e, stacktrace) {
      Error.throwWithStackTrace(
        MapperException.chain(method, hint(), e),
        stacktrace,
      );
    }
  } else {
    return fallback();
  }
}