class MobileApiResponse { const MobileApiResponse({ required this.success, this.data, this.message, this.errors = const {}, this.meta = const {}, }); final bool success; final T? data; final String? message; final Map errors; final Map meta; factory MobileApiResponse.fromJson( Map json, T Function(Object? value) parser, ) { return MobileApiResponse( success: json['success'] == true, data: parser(json['data']), message: json['message']?.toString(), errors: json['errors'] is Map ? Map.from(json['errors'] as Map) : const {}, meta: json['meta'] is Map ? Map.from(json['meta'] as Map) : const {}, ); } factory MobileApiResponse.failure({ required String message, Map errors = const {}, }) { return MobileApiResponse( success: false, message: message, errors: errors, ); } }