Skip to content

♻️ Refactor internal command data classes - #358

Merged
nevans merged 1 commit into
masterfrom
refactor-command-data-classes
Dec 14, 2024
Merged

♻️ Refactor internal command data classes#358
nevans merged 1 commit into
masterfrom
refactor-command-data-classes

Conversation

@nevans

@nevans nevans commented Nov 25, 2024

Copy link
Copy Markdown
Collaborator

The new CommandData superclass uses Data (prereq: #352) to add the pattern matching and equality methods while also simplifying the implementation. Specifically, I wanted RawData#deconstruct for the basic ESEARCH support branch (#333). It seemed reasonable to apply the same change to all of the internal command data classes.

Please note: this does change these objects to be frozen. However, these classes are explicitly undocumented (:nodoc), never returned by any public methods, and considered "internal", so this will not be treated as a "breaking change". I've extracted this from #333 into its own PR purely for documentation (release notes, etc).

@nevans
nevans requested a review from shugo November 25, 2024 17:13
@nevans
nevans force-pushed the refactor-command-data-classes branch 2 times, most recently from 839c1b7 to 606e4d9 Compare December 14, 2024 15:20
The new `CommandData` superclass uses `Data` to add the pattern matching
and equality methods while also simplifying the implementation.

Specifically, I wanted RawData#deconstruct for the basic `ESEARCH`
support branch.  It seemed reasonable to apply the same change to all of
the internal command data classes.

Please note: this does change these objects to be frozen.  However,
these classes are explicitly undocumented and considered "internal", so
this will _not_ be treated as a "breaking change".
@nevans
nevans force-pushed the refactor-command-data-classes branch from 606e4d9 to e344454 Compare December 14, 2024 15:31
@nevans
nevans merged commit ca72ac4 into master Dec 14, 2024
@nevans
nevans deleted the refactor-command-data-classes branch December 14, 2024 15:35
nevans added a commit that referenced this pull request Apr 22, 2026
…non-synchronizing-literals

♻️  Improve internal literal sending (partially backports #358, #616, #649)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant