Epic: A
Depends on: TP-08
Source: docs/theme-parser-github-issues.md
Goal
Introduce result types for loading/parsing themes so UI and startup can handle failures without exceptions leaking.
Files
lib/core/theme/theme_load_result.dart
Implementation
Add sealed result:
sealed class ThemeLoadResult {
const ThemeLoadResult();
}
class ThemeLoadSuccess extends ThemeLoadResult {
const ThemeLoadSuccess({
required this.definition,
required this.theme,
});
}
class ThemeLoadFailure extends ThemeLoadResult {
const ThemeLoadFailure({
required this.definition,
required this.message,
this.error,
});
}
Use this result in later registry APIs.
Acceptance Criteria
- Result can represent success/failure without throwing.
- Failure keeps enough data to show user-facing error and debug logs.
Tests
No direct tests required unless lint coverage demands it. Later registry tests will cover usage.
Epic: A
Depends on: TP-08
Source:
docs/theme-parser-github-issues.mdGoal
Introduce result types for loading/parsing themes so UI and startup can handle failures without exceptions leaking.
Files
lib/core/theme/theme_load_result.dartImplementation
Add sealed result:
Use this result in later registry APIs.
Acceptance Criteria
Tests
No direct tests required unless lint coverage demands it. Later registry tests will cover usage.