GetBudgetResponse.deserialize constructor

GetBudgetResponse.deserialize(
  1. Map<String, dynamic> input
)

Implementation

factory GetBudgetResponse.deserialize(Map<String, dynamic> input) {
  if (!input.containsKey('result')) {
    throw Exception('Invalid input');
  }

  Map<String, dynamic> result = input['result'] as Map<String, dynamic>;

  return GetBudgetResponse(
    resultType: input['result_type'] as String,
    usedBudget: (result['used_budget'] as num?)?.toInt() ?? 0,
    totalBudget: (result['total_budget'] as num?)?.toInt() ?? 0,
    renewsAt: result['renews_at'],
    renewalPeriod: BudgetRenewalPeriod.fromPlaintext(
        result['renewal_period'] as String? ?? 'none'),
  );
}