docs: clarify the event parameter is identified by type, not name#153
Merged
Conversation
Several projection examples name the event parameter @event, which reads as a requirement. Document that Polecat identifies the event argument of conventional Create/Apply/ShouldDelete/Project/Transform methods by type, and that the conventional names (@event/event/e/ev) only disambiguate signatures type inference can't resolve. - single-stream-projections.md: new "Identifying the Event Parameter" section - event-projections.md: matching note linking to it - migration-guide.md: note alongside the partial/visibility convention guidance Docs-only. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documentation-only. Companion to the JasperFx/marten event-parameter-naming clarification (JasperFx/marten#4562, JasperFx/marten#4563).
Why
Several projection examples name the event parameter
@event, which makes it look mandatory. It isn't — Polecat identifies the event argument by type. A parameter name only matters to disambiguate unusual signatures.What
Documents the shared rule used by
SingleStreamProjection,MultiStreamProjection, andEventProjection:IEvent<T>parameter is the event (Tis the event type);IQuerySession/IDocumentOperations), isn'tIEvent, isn'tCancellationToken, and isn't the aggregate type;@event,event,e, orev.Changes:
events/projections/single-stream-projections.md— new "Identifying the Event Parameter" section.events/projections/event-projections.md— matching note forProject(), linking to it.migration-guide.md— note alongside the existingpartial/ public-visibility convention guidance.The
evname is being added to the accepted names upstream in JasperFx/jasperfx#369.🤖 Generated with Claude Code