wrapDecode<T> method
T
wrapDecode<
T>( - dynamic value,
- T fn(
- dynamic value
),
- MapperContainer container
)
override
Implementation
@override
T wrapDecode<T>(
value, T Function(dynamic value) fn, MapperContainer container) {
if (!isLocked) {
for (var e in checks.entries) {
var isT = e.key.provideTo(<T>() => value is T);
if (isT) {
break;
} else if (e.value(value)) {
try {
isLocked = true;
return e.key
.provideTo<dynamic>(<T>() => container.fromValue<T>(value))
as T;
} finally {
isLocked = false;
}
}
}
}
return fn(value);
}