🐛 Bug Report
📄 Title
Describe the bug briefly and clearly.
🔗 External Link
Insert the bug link in the bug management platform
🖥️ Environment
- Operating System: Windows 11
- Application Version: vaden 1.0.2
- Dart: 3.11.1
📝 Detailed Description
Ao usar a anotação @JsonDefault com tipos int ou double,
o build_runner gera código Dart inválido usando int() e double()
como construtores, que não existem no Dart.
🔄 Steps to Reproduce
- Criar um DTO com @JsonDefault em campos int ou double
- Executar dart run build_runner build
- Verificar o arquivo gerado vaden_application.dart
Code
@dto()
class CreateEarningRequest {
@jsonkey('month_id')
final int monthId;
@JsonDefault('SALARIO')
final String name;
@jsonkey('gross_value')
@JsonDefault(1000.0)
final double grossValue;
@jsonkey('net_value')
@JsonDefault(800.0)
final double netValue;
@jsonkey('earning_date')
@JsonDefault('2026-03-05')
final String earningDate;
CreateEarningRequest({
required this.monthId,
required this.name,
required this.grossValue,
required this.netValue,
required this.earningDate,
});
}
✅ Expected Result
#monthId: json.containsKey('month_id') ? json['month_id'] : 0,
#grossValue: json.containsKey('gross_value') ? json['gross_value'] : 6200.0,
❌ Actual Result
#monthId: json.containsKey('month_id') ? json['month_id'] : int(0),
#grossValue: json.containsKey('gross_value') ? json['gross_value'] : double(6200.0),
📷 Evidence
Add relevant screenshots, videos, or logs.
⚠️ Severity
🚨 Priority
🐛 Bug Report
📄 Title
Describe the bug briefly and clearly.
🔗 External Link
Insert the bug link in the bug management platform
🖥️ Environment
📝 Detailed Description
Ao usar a anotação @JsonDefault com tipos int ou double,
o build_runner gera código Dart inválido usando int() e double()
como construtores, que não existem no Dart.
🔄 Steps to Reproduce
Code
@dto()
class CreateEarningRequest {
@jsonkey('month_id')
final int monthId;
@JsonDefault('SALARIO')
final String name;
@jsonkey('gross_value')
@JsonDefault(1000.0)
final double grossValue;
@jsonkey('net_value')
@JsonDefault(800.0)
final double netValue;
@jsonkey('earning_date')
@JsonDefault('2026-03-05')
final String earningDate;
CreateEarningRequest({
required this.monthId,
required this.name,
required this.grossValue,
required this.netValue,
required this.earningDate,
});
}
✅ Expected Result
#monthId: json.containsKey('month_id') ? json['month_id'] : 0,
#grossValue: json.containsKey('gross_value') ? json['gross_value'] : 6200.0,
❌ Actual Result
#monthId: json.containsKey('month_id') ? json['month_id'] : int(0),
#grossValue: json.containsKey('gross_value') ? json['gross_value'] : double(6200.0),
📷 Evidence
Add relevant screenshots, videos, or logs.
🚨 Priority