diff options
| author | Christian Cleberg <[email protected]> | 2026-07-24 23:59:07 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-07-25 00:00:29 -0500 |
| commit | e5d6c6c30df78e1d9b07088c256421aa663cb173 (patch) | |
| tree | d79dfd992bbe29aef48f7555f7251ee8a3495ab0 /README.md | |
| parent | 7805888980f6d41bcc881c5d2e6001b2d8e69351 (diff) | |
| download | domain-dig-e5d6c6c30df78e1d9b07088c256421aa663cb173.tar.gz domain-dig-e5d6c6c30df78e1d9b07088c256421aa663cb173.tar.bz2 domain-dig-e5d6c6c30df78e1d9b07088c256421aa663cb173.zip | |
refactor: extract export/portability into DomainViewModel+Export (v5 step 4, 3/n)
Third slice of the DomainViewModel decomposition, stacked on the monitoring
split.
- Moves the export/data-portability surface into DomainViewModel+Export.swift:
the single-report/batch/tracked-domain/timeline/workflow exporters, the
full-backup and portable-slice exporters, prepareDataImport/applyDataImport,
and persistCurrentAppSettings. The export-only WorkflowExportPayload struct
moves with them. Pure move, no logic changes.
- The four report-projection helpers the exporters call (currentBatchReports,
reports(for:), timelineReports, workflowReports) are promoted private ->
internal and stay on the main type: they build DomainReports through the
shared report layer (report(for:)/reportBuilder), so they belong with
inspection, not export. Those four visibility drops are the only non-deletion
edits to DomainViewModel.
DomainViewModel.swift: 4601 -> 4434 lines. App builds clean; unit suite 58/58.
No project.pbxproj change (DomainDig/ is a synchronized group).
Diffstat (limited to 'README.md')
0 files changed, 0 insertions, 0 deletions
