block method
dynamic
block(})
Implementation
dynamic block(
Map map,
Map? methodMap,
BuildContext ctx,
Domain? domain,
dynamic fun,
String name,
bool widget, {
bool forceApply = false,
}) {
var na = named(name, map['na'], methodMap, ctx, domain);
var pa = positioned(map['pa'], methodMap, ctx, domain);
var ta = map['typeArgumentList'];
// var arguments = map['arguments'];
final bind = widget && (na.binding == true || pa.binding == true);
try {
fun = FairModule.cast(ctx, fun);
if (forceApply || !bind) {
if (ta != null) {
var properties = <String, dynamic>{};
properties['pa'] = pa.data;
properties.addAll(na.data);
properties['ta'] = ta;
return Function.apply(
fun, [Property.extract(data: properties)], null);
} else {
return Function.apply(
fun, [Property.extract(list: pa.data, map: na.data)], null);
}
}
return FairComponent(name, func: fun, na: na.data, pa: pa.data);
} catch (e, stack) {
FlutterError.reportError(FlutterErrorDetails(
exception: e,
library: 'Fair Runtime',
stack: stack,
context: ErrorSummary('while parsing widget of $name, $fun'),
));
//print StackTrack in console
_dumpErrorToConsole(name, map, e, stack);
rethrow;
}
}