getStaggeredGrid method
Recursively extracts the inner StaggeredGrid
from wrapped widgets.
Handles MeasureSize
and Column wrappers, throwing on failure for debugging. Used in hasHoles for layout validation.
Implementation
StaggeredGrid getStaggeredGrid(Widget widget) {
if (widget is StaggeredGrid) {
return widget;
} else if (widget is MeasureSize) {
return getStaggeredGrid(widget.child);
} else if (widget is Column) {
return getStaggeredGrid(widget.children.whereType<StaggeredGrid>().first);
} else {
try {
return getStaggeredGrid((widget as dynamic).child as Widget);
} catch (e, es) {
error("[CARPET] Failed to get child widget $e $es");
rethrow;
}
}
}