Рецепты
Безопасные диагностические данные
Явно раскрывайте только безопасные поля State и Command.
v0.1.0-dev.3Средний уровеньusecase_forge_devtools
Безопасные диагностические данные
Технические метаданные жизненного цикла доступны автоматически. Прикладные значения остаются скрытыми, пока UseCase явно не сформирует безопасное JSON-представление.
dart
final class CartUseCase extends UseCase<CartState>
with UseCaseDiagnosticsDataProvider {
@override
Object? encodeUseCaseDiagnosticValue(
UseCaseDiagnosticValueKind kind,
Object? value,
) {
if (kind == UseCaseDiagnosticValueKind.state && value is CartState) {
return {'itemCount': value.itemCount};
}
return null;
}
}
Импортируйте package:usecase_forge/diagnostics.dart. Возвращайте null для секретов, токенов, персональных данных, больших объектов и ненужных типов. Ошибка преобразования диагностического значения изолирована от выполнения Command.