decode static method

TileCacheBudget? decode(
  1. Object? budget
)

Implementation

static TileCacheBudget? decode(Object? budget) {
  if (budget == null) return null;
  final map = Map<String, dynamic>.from(
    budget as Map<dynamic, dynamic>,
  ).cast<String, dynamic>();
  final budgetType = map.keys.first;
  final budgetSize = map.values.first;

  if (budgetType == 'megabytes') {
    return TileCacheBudget.inMegabytes(
      TileCacheBudgetInMegabytes(size: budgetSize),
    );
  } else if (budgetType == 'tiles') {
    return TileCacheBudget.inTiles(TileCacheBudgetInTiles(size: budgetSize));
  }
  return null;
}