Consolidates groups of similar interfaces (same name suffix such as
DialogRequest, Config, Dto or Response, and common properties) into:
a base interface with the common properties,
one branded type alias per original interface, with a unique symbol
brand const,
one type guard per branded type, which checks the brand property,
updated references across the project.
For groups within one file the base interface is written to that file. For
groups across files it is written to
<baseModelsPath>/base-<suffix>.model.ts (default
src/app/libs/shared/models/base), and each original file imports it.
Exits without changes when no group is found. All touched files are
snapshotted first; when a step throws or the project has new TypeScript
errors afterwards, the snapshots are restored, newly created base files
are removed and the error is rethrown.
Consolidates groups of similar interfaces (same name suffix such as
DialogRequest,Config,DtoorResponse, and common properties) into:unique symbolbrand const,For groups within one file the base interface is written to that file. For groups across files it is written to
<baseModelsPath>/base-<suffix>.model.ts(defaultsrc/app/libs/shared/models/base), and each original file imports it.Exits without changes when no group is found. All touched files are snapshotted first; when a step throws or the project has new TypeScript errors afterwards, the snapshots are restored, newly created base files are removed and the error is rethrown.