Skip to content

feat(utils): export composeHandlers — mergeProps' own composition, made public - #67

Merged
ivanbanov merged 1 commit into
refactor/drop-dead-utilsfrom
feat/export-compose-handlers
Aug 21, 2026
Merged

feat(utils): export composeHandlers — mergeProps' own composition, made public#67
ivanbanov merged 1 commit into
refactor/drop-dead-utilsfrom
feat/export-compose-handlers

Conversation

@ivanbanov

Copy link
Copy Markdown
Member

Stacked on #66 (retargets to main automatically when it merges).

Promotes the private compose inside mergeProps to a public composeHandlers export, in its own file. Zero behavior changemergeProps imports and calls the exact same function; the composition (consumer handler first, library handler skipped when the consumer set defaultPrevented, per Radix/Ark conventions) just becomes reachable on its own for composing a single handler pair outside a prop merge.

Not a resurrection of the export #66 deletes: that one was a different, never-called design (a props-mutating walker with a WeakMap cache and no defaultPrevented veto). This exports the battle-tested implementation the whole stack already runs on.

Includes public-contract tests (order, veto, return value, non-event args), the ARCHITECTURE.md mentions restored, and a minor changeset for @dunky.dev/state-machine-utils.

🤖 Generated with Claude Code

…de public

Promote the private compose inside mergeProps to a public export in its own
file. Same function, same semantics (consumer first, library skipped on the
consumer's defaultPrevented): mergeProps now imports it, so nothing changes
behaviorally — the composition just becomes reachable for consumers that
need to compose a single handler pair outside a prop merge.

Unlike the composeHandlers removed in the previous commit (a props-mutating
walker with no veto that nothing ever called), this exports the
battle-tested implementation the whole stack already runs on.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dunky-state-machine Ready Ready Preview Aug 21, 2026 2:38pm

@ivanbanov
ivanbanov merged commit e6c2e48 into refactor/drop-dead-utils Aug 21, 2026
8 checks passed
@ivanbanov
ivanbanov deleted the feat/export-compose-handlers branch August 21, 2026 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant