refactor: migrate the 3 wizards to the effect map and Primary (RD-08)
The three wizards paired a dispatch with a hand-written effect call (onPrimary/onRetry + runIfSubmitting/runIfIndienen). A missed call failed silently. RD-05 added the effect map and RD-07 added the Primary message; this ticket moves each wizard onto both. Each wizard now registers its submit effect on createStore, keyed by its own submitting tag (Submitting for herregistratie and intake, Indienen for registratie — the type catches a wrong key at compile time). The optimistic begin/confirm/rollback calls stay inside the effect body, unchanged. The template dispatches Primary and Retry directly, matching how Back already worked. onPrimary, onRetry, and runIfSubmitting/runIfIndienen are deleted from all three components. herregistratie-wizard drops under the 250-rule-line budget, so its eslint-disable max-lines header is removed in this same commit (RD-02's self-cleaning mechanism). intake-wizard and registratie-wizard stay over budget and keep theirs, both already flagged for RD-22/RD-23. Three doc comments (in the three machine files, plus one in store.ts) named the deleted onPrimary()/runIfSubmitting() identifiers in prose. Reworded them so the "idiom is gone from the repo" grep check is not defeated by its own explanatory comments. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -26,7 +26,7 @@ export interface Store<Model, Msg> {
|
||||
* An effect body must never throw: end it in a `Result` from
|
||||
* `runSubmit`/`runResult` (`submit.ts`) and let the failure travel as a
|
||||
* dispatched message, not an exception. `dispatch` floats the effect's
|
||||
* promise, exactly as the `runIfSubmitting()` call it replaces did.
|
||||
* promise, exactly as the hand-written effect method it replaces did.
|
||||
*/
|
||||
export type StoreEffects<Model, Msg> = Model extends { tag: string }
|
||||
? {
|
||||
|
||||
Reference in New Issue
Block a user