resolve<T> method

T resolve<T>({
  1. required T mobile,
  2. T? tablet,
  3. T? desktop,
  4. T? widescreen,
})

Resolves a value per breakpoint. Falls back up the chain when a tier is omitted (mobile → tablet → desktop → widescreen).

Implementation

T resolve<T>({required T mobile, T? tablet, T? desktop, T? widescreen}) {
  final bp = breakpoint;
  return switch (bp) {
    Breakpoint.widescreen => widescreen ?? desktop ?? tablet ?? mobile,
    Breakpoint.desktop => desktop ?? tablet ?? mobile,
    Breakpoint.tablet => tablet ?? mobile,
    Breakpoint.mobile => mobile,
  };
}